Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Разбор

Атрибут rel=canonical: когда ставить и какие ошибки встречаются чаще всего

Канонический адрес говорит поисковой системе, какая версия страницы главная. Инструмент простой, но ошибок с ним допускают едва ли не больше, чем с редиректами.

Что это такое

Тег в разделе head страницы, указывающий её основной адрес.

<link rel="canonical" href="https://site.ru/catalog/divany/">

Смысл: «эта страница может открываться по разным адресам, но считать основным нужно вот этот». Поисковая система переносит на канонический адрес накопленные сигналы и показывает в выдаче именно его.

Canonical или редирект

Оба инструмента борются с дублями, но применяются в разных ситуациях.

СитуацияИнструмент
Вторая версия адреса вообще не нужна пользователю301-редирект
Обе версии должны открыватьсяcanonical
www и без www, http и https301-редирект
Страница с параметрами сортировкиcanonical
Товар доступен в нескольких категорияхcanonical
Версия для печатиcanonical
Страница переехала навсегда301-редирект

Ключевое отличие: редирект физически уводит пользователя на другой адрес, canonical оставляет страницу доступной. Подробно о перенаправлениях — в отдельной инструкции.

Где канонический адрес нужен обязательно

  • Страницы с параметрами. Любая метка или сортировка создаёт новый адрес — canonical склеивает их с чистым. Об этом подробно в статье про параметры в URL.
  • Карточки товаров в нескольких разделах. Один товар — один канонический адрес.
  • Похожие товары. Цветовые модификации одной модели, если они не продвигаются по отдельности.
  • Мобильная версия на отдельном адресе, если она ещё используется.
  • Синдицированный контент — материал, размещённый на нескольких площадках.

Canonical на самого себя — это нормально. Тег, указывающий на адрес текущей страницы, не избыточен: он защищает от дублей, которые появятся, когда к адресу добавят произвольный параметр.

Восемь частых ошибок

  1. Относительный адрес. Пишите полный, с протоколом и доменом.
  2. Два разных тега на странице. Система проигнорирует оба.
  3. Ссылка на страницу с редиректом. Канонический адрес должен отдавать код 200.
  4. Ссылка на закрытую от индексации страницу. Сигналы уходят в никуда.
  5. Все страницы каталога ссылаются на главную. Массовая ошибка при неаккуратной настройке шаблона: из индекса выпадает весь каталог.
  6. Canonical на страницах пагинации. Вторая страница списка содержит другие товары, склеивать её с первой неправильно.
  7. Адрес в canonical не совпадает по формату. Со слэшем в теге и без слэша в ссылках — противоречивый сигнал, о формате слэша есть отдельный разбор.
  8. Тег вне раздела head. В теле страницы он не работает.

Как проверить

Быстрая самопроверка занимает пару минут.

  1. Откройте исходный код страницы и найдите строку с rel="canonical".
  2. Убедитесь, что тег один и адрес в нём абсолютный.
  3. Откройте адрес из тега — он должен отдавать содержимое, а не перенаправлять.
  4. Добавьте к адресу страницы произвольный параметр и убедитесь, что canonical по-прежнему указывает на чистый адрес.
  5. Проверьте несколько типов страниц: раздел, карточку, статью, страницу пагинации.

Чего canonical не делает

Тег — рекомендация, а не команда. Поисковая система учитывает его вместе с другими сигналами: внутренними ссылками, картой сайта, содержимым страниц. Если сигналы противоречат друг другу, канонический адрес может быть проигнорирован.

Отсюда практический вывод: canonical работает в связке с остальной настройкой. Внутренние ссылки должны вести на канонический адрес, карта сайта — содержать только его, а заведомо лишние версии адресов лучше закрывать редиректом. Полный разбор источников дублей — в материале про дубли страниц из-за URL.

Canonical в HTTP-заголовке

Для файлов, у которых нет раздела head — PDF, изображений, документов — канонический адрес указывается заголовком ответа сервера.

Link: <https://site.ru/docs/instrukciya.pdf>; rel="canonical"

Это же решение подходит, если один и тот же PDF доступен по нескольким адресам. Для обычных html-страниц заголовок не нужен: тег в разделе head делает то же самое и проще в поддержке.

Кросс-доменный canonical

Тег может указывать на страницу другого сайта. Это применяется, когда материал публикуется сразу на нескольких площадках: копия ссылается на оригинал, и сигналы достаются ему.

Работает это только при полном совпадении содержимого. Если тексты различаются, поисковая система, скорее всего, проигнорирует указание и оставит обе страницы в индексе как самостоятельные.

Осторожно с чужими шаблонами. При переносе вёрстки с одного проекта на другой в коде иногда остаётся canonical со старым доменом. Такая ошибка выводит из индекса весь новый сайт целиком, и заметить её можно только просмотром исходного кода.

Чек-лист проверки

  1. Тег присутствует на всех индексируемых страницах.
  2. Адрес абсолютный, с протоколом и доменом.
  3. Домен в теге совпадает с текущим.
  4. Формат слэша совпадает с принятым на сайте.
  5. Тег на странице один.
  6. Канонический адрес отдаёт код 200.
  7. Страницы пагинации ссылаются сами на себя.
  8. Внутренние ссылки и карта сайта ведут на канонические адреса.

Восемь пунктов закрывают почти все ситуации, где canonical перестаёт работать. Остальное относится уже к общей настройке индексации — о ней в материале про дубли страниц.

Частые вопросы

Нужен ли canonical, если дублей нет?

Да, canonical на самого себя защищает от дублей, которые появятся при добавлении к адресу рекламных меток и параметров.

Canonical заменяет 301-редирект?

Нет. Редирект применяется, когда вторая версия адреса не нужна вообще, canonical — когда обе версии должны открываться, но основной считается одна.

Почему поисковая система игнорирует мой canonical?

Чаще всего из-за противоречий: внутренние ссылки ведут на другой адрес, в карте сайта указан третий, а канонический адрес сам отдаёт редирект.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также