Содержание12
- Что такое rel canonical и что он сообщает поисковику
- Откуда берутся дубли страниц и чем они вредят?
- Когда нужен canonical, а когда 301 или noindex?
- Как указать canonical: link в head и HTTP-заголовок
- Типовые сценарии: каталог, UTM-метки, товар в нескольких разделах
- Когда Яндекс и Google игнорируют canonical?
- Как проверить canonical и дубли в Яндекс Вебмастере
- Как проверить канонический адрес в Google Search Console
- Частые ошибки с canonical
- С чего начать, если дублей много
- Частые вопросы
- Источники
Rel canonical — атрибут, которым вы сообщаете поисковику, какой из нескольких адресов с одинаковым содержимым показывать в выдаче. Его ставят элементом link в head страницы-дубля, с абсолютным адресом основной страницы. Яндекс и Google воспринимают canonical как подсказку, а не приказ: если содержимое страниц сильно различается или сигналы противоречат друг другу, поисковик выберет основную страницу сам.
Что такое rel canonical и что он сообщает поисковику
Rel canonical — значение атрибута rel у элемента link, которое указывает предпочитаемый, канонический адрес страницы. Яндекс объясняет механику так: если страница доступна по нескольким адресам или на сайте есть страницы с одинаковым содержимым, робот объединяет их в группу дублей и показывает в поиске только одну — каноническую.
Без вашей подсказки поисковик выберет каноническую страницу сам, и не всегда ту, что нужна вам. Атрибут rel="canonical" позволяет повлиять на этот выбор. Страница, на которой стоит canonical с адресом другой страницы, становится неканонической и при верной настройке пропадает из выдачи.
Google называет четыре причины указывать канонический адрес: выбрать адрес для выдачи, объединить сигналы похожих страниц, например ссылки на них, упростить статистику и не тратить сканирование на копии. При этом Google подчёркивает, что указывать канонический адрес не обязательно: сайт может нормально работать в поиске и без этого.
Canonical не прячет страницу и не перенаправляет посетителя. Он только подсказывает поисковику, какой из одинаковых адресов показывать в выдаче.
Откуда берутся дубли страниц и чем они вредят?
Дубли страниц — страницы одного сайта с почти или полностью одинаковым текстом по разным адресам. Яндекс приводит пример главной страницы, которая открывается по пяти адресам: с www и без, с index и index.html, с UTM-метками.
Чаще всего дубли появляются из-за устройства сайта, а не по ошибке контент-менеджера:
- Особенности CMS — адреса со слэшем на конце и без, версии для печати.
- Настройки сервера — сайт открывается и по HTTP, и по HTTPS, с www и без.
- GET-параметры — UTM-метки рекламы, сортировка и фильтры каталога.
- Один товар в разных разделах — карточка доступна из нескольких категорий по разным адресам.
Яндекс перечисляет, чем это вредит. Робот тратит время на обход копий, поэтому новые страницы индексируются медленнее. Дубли могут конкурировать между собой в поиске. Наконец, робот может признать дублем и исключить из поиска как раз ту страницу, которая важна для вас.
Когда нужен canonical, а когда 301 или noindex?
Canonical подходит, когда обе версии страницы должны открываться у посетителей, а в выдаче нужна одна. Если копия людям не нужна, надёжнее редирект. Google ставит переадресацию на первое место по силе сигнала, rel="canonical" — на второе, файл Sitemap — на третье.
| Способ | Что происходит | Когда выбирать |
|---|---|---|
| 301 редирект | Копия больше не открывается, посетитель и робот уходят на основной адрес | Слэш на конце, www, HTTP, старый адрес страницы |
| rel="canonical" | Обе страницы открываются, в выдаче остаётся основная | Сортировки и фильтры, товар в нескольких категориях, адреса с параметрами |
| Clean-param в robots.txt | Яндекс не учитывает указанные параметры в адресе | UTM-метки и другие параметры, которые не меняют содержимое |
| noindex | Страница полностью исключается из поиска | Служебные страницы, которые не должны попадать в выдачу совсем |
Два уточнения из справок. Для дублей со слэшем на конце и без Яндекс не рекомендует canonical, потому что он может игнорироваться, — здесь нужен 301. Google, в свою очередь, не советует использовать robots.txt для нормализации: адреса, закрытые в нём, он может проиндексировать без содержимого. Закрывать noindex страницу, которую вы просто не хотите видеть канонической, тоже не стоит — это полностью убирает её из поиска.
Мнение. Если сомневаетесь, задайте себе вопрос: нужна ли эта копия живым посетителям? Нет — ставьте 301. Да, она нужна для навигации или рекламы — ставьте canonical на основную страницу.
Как указать canonical: link в head и HTTP-заголовок
Канонический адрес указывают одним из двух способов. Для обычных страниц — элементом link в разделе head:
<head>
<title>Пластиковые окна — каталог</title>
<link rel="canonical" href="https://site.ru/catalog/okna/" />
</head>
Для файлов, у которых нет HTML-кода, например PDF, — HTTP-заголовком Link, который отдаёт сервер:
Link: <https://site.ru/docs/price.pdf>; rel="canonical"
Правила, общие для Яндекса и Google:
Если сайт работает на CMS, править код вручную обычно не нужно: canonical задаётся в SEO-настройках или модулем. Проверьте результат в исходном коде страницы — а если страница отрисовывается через JavaScript, Google советует указывать канонический адрес в исходном HTML и не менять его скриптом.
Типовые сценарии: каталог, UTM-метки, товар в нескольких разделах
Каталог с сортировкой и фильтрами — самый частый случай. Страница /catalog/okna/?sort=price показывает те же товары, что и /catalog/okna/, только в другом порядке. На всех вариантах сортировки ставьте canonical на адрес без параметров. С фильтрами сложнее: если фильтр создаёт страницу под отдельный спрос, например «окна для балкона», ей нужен собственный адрес, текст и canonical на саму себя, а не на общий каталог.
UTM-метки рекламы создают копии любой страницы. Большинство UTM-меток Яндекс удаляет из адреса автоматически, а для остальных параметров в Яндексе есть директива Clean-param в robots.txt — как её прописать, разобрали в статье про файл robots.txt. Canonical на адрес без меток работает и в Google, и в Яндексе.
Товар в нескольких категориях получает несколько адресов: /okna/pvh/model-1/ и /akcii/model-1/. Выберите основной — обычно в профильной категории — и поставьте canonical на него со всех остальных. Яндекс советует ориентироваться на удобство посетителей: в поиске должна остаться страница, с которой человеку проще всего выбрать товар.
Каноническим делайте тот адрес, на который вы ставите внутренние ссылки и который указан в карте сайта. Когда все три сигнала совпадают, поисковик почти всегда соглашается с вашим выбором.
Когда Яндекс и Google игнорируют canonical?
Оба поисковика воспринимают canonical как рекомендацию. Яндекс перечисляет случаи, когда не учитывает канонический адрес:
- Содержимое сильно различается — неканоническая страница полнее отвечает на запрос, и робот оставляет её в поиске.
- Канонический адрес недоступен — перенаправляет на другую страницу или закрыт от индексирования.
- Другой домен или поддомен — canonical действует только в пределах одного сайта.
- Несколько канонических адресов — на странице два элемента canonical с разными адресами.
- Цепочка — страница 1 указывает на страницу 2, а та на страницу 3.
Google добавляет свои условия. Не указывайте разные канонические адреса разными способами: например, один в карте сайта, другой в rel="canonical". Внутренние ссылки должны вести на канонические адреса, а не на копии. И даже при верной настройке Google может по своим причинам выбрать каноническим другой адрес.
Отдельный случай — переезд. При смене протокола с HTTP на HTTPS Яндекс больше не поддерживает rel="canonical" для указания главного адреса и просит использовать редирект.
Факт. Яндекс не учитывает канонический адрес, если он указан на другом домене или поддомене, если на странице несколько канонических адресов или они выстроены в цепочку.
Как проверить canonical и дубли в Яндекс Вебмастере
В Яндексе дубли видны в разделе «Индексирование -> Страницы в поиске»: откройте вкладку «Исключённые страницы» и отфильтруйте колонку «Статус» по значению «Дубль». Чтобы узнать, какую страницу робот выбрал основной, нажмите три точки в строке. Как добавить сайт в кабинет, описано в инструкции как добавить сайт в Яндекс Вебмастер.
Проверку отдельного адреса удобно делать фильтром по URL на той же вкладке. Дубли, которые появились из-за GET-параметров, Вебмастер показывает отдельно: запустите «Оптимизация сайта -> Диагностика сайта», информация появится среди критичных проблем.
Учтите задержку. Робот узнаёт об изменениях при обходе сайта, поэтому после того как вы поставили canonical, неканоническая страница пропадёт из выдачи не сразу. Если она остаётся в поиске надолго, сравните содержимое: Яндекс игнорирует указание, когда каноническая страница значительно отличается от неканонической.
Как проверить канонический адрес в Google Search Console
В Google канонический адрес проверяют инструментом проверки URL: в результатах есть поле с каноническим адресом, выбранным пользователем, и с адресом, который выбрал Google. Если они разные, Google с вашей подсказкой не согласился. Как подключить сайт и найти инструмент, разобрали в статье как подключить сайт к Google Search Console.
В отчёте об индексировании страниц ищите три статуса:
- «Вариант страницы с тегом canonical» — страница помечена как альтернатива уже проиндексированной. Если так и задумано, делать ничего не нужно.
- «Страница является копией. Канонический вариант не выбран пользователем» — дубль без canonical, Google выбрал основную страницу сам.
- «Канонические версии страницы, выбранные Google и пользователем, не совпадают» — Google проиндексировал не ту страницу, которую вы указали.
Третий статус — повод разбираться. Чаще всего причина в противоречивых сигналах: canonical указывает на одну страницу, а внутренние ссылки и карта сайта — на другую.
Частые ошибки с canonical
Ошибки с canonical опасны тем, что их не видно глазами: страница открывается, а в поиск не попадает. Вот что встречается чаще всего:
- 01 Canonical на главную со всех страниц
Шаблон CMS подставляет один адрес везде, и внутренние страницы выпадают из выдачи как дубли главной.
- 02 Относительный адрес
/page/ вместо https://site.ru/page/: на тестовой копии сайта такой canonical указывает на саму копию.
- 03 Canonical на страницу с редиректом или noindex
Яндекс такое указание не учтёт.
- 04 Цепочки и два canonical на странице
Один ставит шаблон, второй SEO-модуль.
- 05 Canonical вместо 301 при смене адреса
Старая страница продолжает открываться и собирать ссылки.
- 06 Расхождение с картой сайта
В sitemap один адрес, в canonical другой.
С чего начать, если дублей много
Начните с выгрузки исключённых страниц со статусом «Дубль» из Вебмастера и копий из отчёта Search Console. Разделите их на группы по причине: слэш и www, параметры, сортировки, товары в нескольких категориях. Для каждой группы выберите способ из таблицы выше: 301 для технических копий, canonical для страниц, которые нужны посетителям, Clean-param для параметров в Яндексе.
После исправлений проверьте выборку адресов: canonical стоит в head, адрес абсолютный, каноническая страница отвечает 200 и указана в карте сайта. Если дублей тысячи и они рождаются шаблонами CMS, правка обычно нужна в коде сайта. Такие задачи решаем в рамках SEO-продвижения: находим источник дублей и настраиваем сайт так, чтобы новые не появлялись.
Источники
- Канонический адрес страницы — Яндекс
- Дублирование страниц — Яндекс
- Чем плохи дубли — Яндекс
- Как указать канонический URL с помощью атрибута rel="canonical" — Google
- Что такое нормализация — Google
- Отчет об индексировании страниц — Google
- Инструмент проверки URL — Google