rel="canonical" — указание поисковику: «эта страница — копия, основной считай вот эту». Ставится в <head>:
<link rel="canonical" href="https://example.ru/catalog/nozhi/">
Поисковик объединяет дубли: в выдачу идёт канонический адрес, а ссылочный вес всех копий достаётся ему.
Откуда берутся дубли
Почти на каждом сайте одна и та же страница доступна по нескольким адресам:
- UTM-метки:
/tovar?utm_source=yandex— реклама создаёт их десятками; - сортировки и фильтры:
/catalog?sort=price,/catalog?view=list; - пагинация с параметрами, идентификаторы сессий, реферальные хвосты;
- разные пути к одному товару:
/nozhi/kuhonnye/nozh-xи/brands/wusthof/nozh-x; - версия для печати, AMP-версия.
Без canonical поисковик выбирает главный адрес сам — и нередко выбирает адрес с меткой из рекламы.
Правила
- Абсолютный адрес.
href="/catalog/"формально допустим, но при малейшей путанице с доменами трактуется неверно. Пишите полностью:https://example.ru/catalog/. - Канонический адрес отвечает 200. Ссылка на страницу с редиректом или 404 обесценивает тег.
- Один тег на страницу. Два разных canonical поисковик проигнорирует целиком.
- Самоссылка — норма. На основной странице canonical указывает на неё саму. Это не избыточность, а защита от появления дублей с метками.
- Согласованность с остальными сигналами. Канонический адрес должен быть в карте сайта, на него должны вести внутренние ссылки, и он не должен быть закрыт noindex.
Чего canonical не делает
Это рекомендация, а не приказ. Если содержимое страниц заметно различается, поисковик проигнорирует тег и оставит обе в индексе.
Он не заменяет 301-редирект. Если старый адрес больше не нужен людям — редирект. Canonical нужен там, где обе страницы должны оставаться доступными: например, фильтр каталога работает для покупателя, но в поиске ему делать нечего.
Он не убирает страницу из индекса. Для этого — noindex.
Частые ошибки
- Canonical на главную со всех страниц. Классическая беда неудачной настройки шаблона: весь сайт объявляет себя копией главной, и внутренние страницы пропадают из выдачи.
- Canonical на страницу, закрытую в robots.txt. Робот не может её загрузить и не понимает, что делать.
- Разные canonical в HTML и HTTP-заголовке. Тег можно передавать заголовком
Link:; если значения расходятся, сигнал противоречив. - Canonical на неканоническую версию домена — с www, когда сайт работает без www (про зеркала).
Как проверить
- Пункт аудита «Канонический URL (canonical)».
- Вручную:
Ctrl+U→ поиск поcanonical. Проверьте, что адрес абсолютный и указывает туда, куда должен. - Откройте страницу с меткой
?utm_source=testи посмотрите, остался ли canonical чистым — это самый частый способ поймать сломанный шаблон.