Тег rel=canonical: что это и как прописать

Rel canonical - это тег в коде страницы, который подсказывает поисковику, какой адрес считать основным, если одно и то же содержимое открывается по нескольким URL. Он помогает склеить дубли с параметрами, фильтрами и метками без редиректа, чтобы в поиск попадала нужная версия. Ниже разберём, когда тег нужен, как его прописать и какие ошибки встречаются чаще всего.

Тег rel=canonical: что это и как прописать
Содержание
  1. Что такое canonical в SEO
  2. Когда ставить canonical
  3. Self canonical: зачем ставить тег на саму себя
  4. Как прописать rel canonical
  5. Canonical или 301 редирект
  6. Как проверить canonical
  7. Частые ошибки с canonical

Что такое canonical в SEO

Canonical (канонический адрес) - предпочтительная версия страницы среди нескольких одинаковых или почти одинаковых. Указывают его тегом link rel="canonical" в блоке head:

<link rel="canonical" href="https://example.ru/catalog/krossovki/">

Если поисковик видит, что /catalog/krossovki/?sort=price и /catalog/krossovki/ показывают одно и то же, а на обеих стоит rel canonical на второй адрес, в выдаче останется именно он. Сигналы со всех копий (ссылки, поведение) собираются на канонической странице, а не размазываются по дублям.

Схема: адреса с параметрами сортировки и UTM ссылаются на канонический адрес категории
Несколько адресов с параметрами указывают canonical на одну основную страницу

Для поисковиков это подсказка, а не приказ. Яндекс и Google могут выбрать другой канонический адрес, если сигналы противоречат друг другу: например, canonical указывает на одну страницу, а внутренние ссылки и sitemap ведут на другую. В Яндекс Вебмастере такие страницы попадают в исключённые с причиной вроде "Неканоническая" или "Дубль".

Когда ставить canonical

Тег нужен там, где страница должна оставаться доступной по нескольким адресам, но в поиске нужен один.

СитуацияПример адресаКуда указывает canonical
Метки UTM и рекламные параметры/page/?utm_source=vkНа чистый адрес /page/
Сортировка и вид каталога/catalog/?sort=price&view=listНа /catalog/
Фильтры без своего спроса/catalog/?color=red&size=42На категорию
Товар в нескольких категориях/men/krossovki-x/ и /sale/krossovki-x/На один основной адрес товара
Версия для печати, AMP/statya/print/На обычную статью
Перепечатка на другом сайтеpartner.ru/vasha-statya/На оригинал на вашем сайте

Ссылки с UTM-метками удобно собирать в генераторе UTM-меток, а чтобы такие адреса не плодили дубли, на страницах должен стоять canonical на чистый URL. Для Яндекса дополнительно можно прописать Clean-param, об этом в статье файл robots.txt.

Фильтры, которые стоит оставить в индексе

Не всякий фильтр - мусор. Если сочетание "кроссовки мужские черные" ищут сотни людей в месяц, такую страницу лучше сделать самостоятельной: свой адрес без параметров, свой заголовок и текст, а canonical на саму себя. Закрывать её каноническим на категорию значит отдать этот спрос конкурентам.

Canonical на страницах пагинации

Страницы ?page=2, /page/3/ показывают разные товары или статьи, поэтому это не дубли. Частая ошибка - ставить на них canonical на первую страницу: тогда поисковик перестаёт обходить глубокие страницы и находит хуже товары и статьи из конца списка. Правильный вариант - canonical каждой страницы на саму себя. Если хочется убрать страницы пагинации из выдачи, для этого используют meta robots noindex, follow, а не canonical.

Self canonical: зачем ставить тег на саму себя

Self canonical - тег, который указывает на адрес самой страницы. Кажется, что он бесполезен, но на практике он защищает от дублей, о которых вы не знаете: кто-то поставил ссылку с параметром, соцсеть добавила свой идентификатор, страница открылась с большой буквы. В каждом таком случае поисковик видит явное указание на правильный адрес.

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

Как прописать rel canonical

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

Вручную в шаблоне

  1. Откройте общий файл шапки сайта (часто header.php или layout.html).
  2. Найдите блок <head>.
  3. Добавьте строку <link rel="canonical" href="...">, где адрес формируется из текущего URL без параметров.
  4. Откройте несколько страниц и проверьте в исходном коде, что адрес в теге правильный для каждой.
Фрагмент кода head с тегом link rel canonical
Тег canonical стоит в head и указывает абсолютный адрес основной страницы

В WordPress и конструкторах

WordPress сам выводит canonical для записей и страниц. SEO-плагины расширяют это: в Yoast SEO в блоке настроек записи есть поле "Канонический URL" (во вкладке "Дополнительно"), где можно вручную указать другой адрес. Подробнее о плагине в обзоре Yoast SEO. Следите, чтобы canonical не выводили одновременно тема и плагин: два разных тега на странице поисковик проигнорирует.

В Тильде и большинстве конструкторов канонический адрес ставится автоматически, а в настройках страницы (вкладка SEO) обычно можно задать его вручную. В интернет-магазинах на Битриксе, OpenCart и подобных CMS canonical для фильтров и сортировок часто настраивается модулем SEO или отдельным решением.

Canonical для PDF и файлов

У PDF нет блока head, поэтому для них canonical передают HTTP-заголовком: Link: <https://example.ru/doc/>; rel="canonical". Так можно указать, что основная версия документа - HTML-страница.

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

Оба способа склеивают дубли, но работают по-разному.

  • 301 редирект - посетитель на старый адрес не попадает вовсе, его сразу перебрасывает. Подходит, когда старая версия больше не нужна: переезд, смена адреса, склейка www и без www. Пошаговая настройка в статье 301 редирект.
  • Canonical - обе страницы открываются, но в поиске одна. Подходит, когда адрес с параметрами нужен людям: сортировка, метки рекламы, фильтры, версия для печати.

Если сомневаетесь, задайте вопрос: нужен ли посетителю второй адрес? Если нет, ставьте 301. Если да, canonical. Комбинировать их на одной паре адресов в противоположных направлениях нельзя.

Схема выбора между тегом canonical и 301 редиректом
Как выбрать между canonical и 301 редиректом

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

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

  • Исходный код. Нажмите Ctrl + U и найдите Ctrl + F строку canonical. Тег должен быть один, в head, с правильным адресом.
  • Яндекс Вебмастер. В "Индексирование - Страницы в поиске" среди исключённых ищите неканонические страницы и дубли: там видно, какой адрес Яндекс выбрал основным. Как пользоваться отчётом, рассказано в статье как проверить индексацию сайта.
  • Google Search Console. Инструмент "Проверка URL" показывает и канонический адрес, заданный вами, и тот, что выбрал Google. Если они не совпадают, ищите противоречивые сигналы.
  • Краулеры. Программы, обходящие сайт целиком, собирают canonical со всех страниц в таблицу и подсвечивают те, что указывают на редирект, 404 или чужой адрес.

Сам canonical - лишь один пункт технической проверки. Остальные собраны в чек-листе SEO-аудита сайта.

Частые ошибки с canonical

  • Canonical на главную со всех страниц. Бывает после неудачной настройки шаблона: поисковик может посчитать весь сайт дублями главной.
  • Указание на адрес с редиректом или 404. Каноническая страница должна отдавать код 200.
  • Относительный адрес с ошибкой. href="catalog/" без слеша в начале на внутренних страницах превращается в неверный адрес.
  • Http в canonical на https-сайте или старый домен после переезда.
  • Canonical и noindex на одной странице. Сигналы противоречат: одна страница говорит "основная - другая", и одновременно "меня не индексировать". Выберите что-то одно.
  • Несколько тегов canonical. Часто появляются, когда тег выводят и тема, и плагин. Поисковик игнорирует оба.
  • Canonical в body. Тег, вставленный не в head (например, через виджет), не учитывается.

Про старые способы бороться с дублями и чистить выдачу есть статья удаление дублей страниц из поисковой выдачи.

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

Что значит canonical простыми словами?

Это пометка в коде страницы: "основная версия этой страницы находится вот по этому адресу". Поисковик показывает в выдаче именно её.

Обязательно ли ставить canonical на каждую страницу?

Не обязательно, но полезно: self canonical на всех индексируемых страницах защищает от случайных дублей с параметрами и метками.

Учитывает ли Яндекс rel canonical?

Да, Яндекс и Google учитывают тег, но как рекомендацию. Если другие сигналы противоречат, поисковик может выбрать другой основной адрес.

Что такое non canonical страница?

Это страница, которую поисковик посчитал копией другой и не включил в выдачу, потому что canonical указывает на другой адрес или он сам выбрал основную версию.

Можно ли указать canonical на страницу другого сайта?

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

Все статьи рубрики "SEO и продвижение"