Главная Статьи Оптимизация

Canonical (rel=canonical): как убрать дубли страниц

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

Что такое canonical

Атрибут rel="canonical" — это указание поисковику: «настоящий адрес этой страницы вот такой». Его добавляют в <head> страницы:

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

Если несколько URL ведут на одинаковый контент, на всех них ставят canonical с адресом главной версии. Поисковик объединяет дубли и индексирует именно каноническую страницу, передавая ей накопленный вес.

Canonical склеивает дубли в одну страницу site.ru/tovar?sort=price site.ru/tovar/ site.ru/tovar?utm=vk site.ru/tovar каноническая, в индексе rel=canonical
Все варианты адреса указывают на один канонический — вес собирается в одной странице.

Откуда берутся дубли

Без обработки поисковик видит несколько одинаковых страниц, не понимает, какую показывать, и может занизить все.

🔍
Проверить, задан ли canonical и нет ли технических проблем, поможет анализ сайта — он покажет canonical среди прочих параметров.

Canonical, 301 или noindex — что выбрать

Эти инструменты решают похожие задачи, но по-разному:

Грубо: переехало — 301, есть две живые версии одного контента — canonical, мусорная страница — noindex.

ИнструментСтраница доступна?Передаёт вес?Когда применять
301Нет, перенаправляетДаСтраница переехала, старый URL не нужен
canonicalДа, обе живыеДаОдин контент по нескольким нужным URL
noindexДа, но не в поискеНетМусорную страницу убрать из выдачи
404 / 410Нет, удаленаНетКонтента больше не существует

Canonical — это подсказка, а не приказ

Ключевое отличие от 301-редиректа: 301 поисковик обязан выполнить, а canonical — лишь рекомендация. Поиск рассматривает тег как сильный сигнал, но сопоставляет его с другими и может проигнорировать, если они противоречат. Например, если вы указали canonical на страницу A, но все внутренние ссылки, sitemap и контент говорят, что главная — B, поисковик вправе выбрать B. Поэтому canonical работает надёжно только тогда, когда все сигналы согласованы. Что усиливает подсказку:

Что должно совпадать у дубля и канонической

Частая иллюзия: «поставлю canonical с любой страницы на любую — и склеится». Нет. Поиск склеивает только то, что действительно похоже. Если на странице-дубле контент существенно отличается от канонической, тег проигнорируют, а страница продолжит индексироваться сама по себе (или, хуже, выпадет, если поиск всё же поверит ошибочному указанию). Поэтому canonical уместен между близнецами: сортировки и фильтры одного списка, версия для печати, один товар в двух категориях. А вот разные товары, разные статьи или категория и карточка — это не дубли, и канониклом их «объединять» нельзя.

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

📑
Подробнее о том, как дубли вредят сайту и как их находить, — в статье про дубли страниц. А проверить индексацию поможет проверка индексации.

Как поставить canonical на разных движках

Прописывать тег руками приходится редко — обычно это делает движок или плагин:

Canonical при пагинации

Здесь часто ошибаются: на всех страницах списка (2, 3, 4…) ставят canonical на первую. Кажется логичным, но так вы прячете от поиска товары и материалы со второй страницы и дальше — они просто не попадают в индекс. Правильнее, чтобы каждая страница пагинации ссылалась canonical сама на себя — тогда поисковик видит весь каталог целиком. Сводить всё на первую страницу имеет смысл только когда есть отдельная версия «показать всё» с полным списком. Подробнее — в статье про пагинацию и SEO.

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

Проверка занимает минуту. Откройте исходный код страницы (Ctrl+U) и найдите строку с rel="canonical" — убедитесь, что в href стоит правильный, полный адрес с протоколом. Для массовой проверки используйте Яндекс.Вебмастер: в разделе «Страницы в поиске» видно, какие URL поисковик признал каноническими, а какие склеил между собой. Если нужная страница помечена как неканоническая и склеена не туда — ищите ошибку в теге или конфликт с другими сигналами.

Цепочки и циклы canonical

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

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

Межсайтовый canonical (cross-domain)

canonical может указывать и на страницу другого сайта — это нужно, когда контент официально публикуется на нескольких ресурсах (синдикация, агрегаторы, партнёрские публикации). Если вы отдаёте свою статью на сторонний портал, попросите поставить на их копии canonical на ваш оригинал — тогда вес и приоритет в поиске останутся у вас. И наоборот: размещая чужой материал у себя, корректно сослаться канониклом на первоисточник, чтобы не конкурировать с ним за одни и те же запросы. Подробнее про эту ситуацию — в статье про синдикацию и дублирование контента.

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

Указать каноническую версию можно не только для HTML-страниц. Для файлов (PDF, документы), где нет <head>, canonical передают через HTTP-заголовок Link: <https://site.ru/page>; rel="canonical". Это полезно, когда один и тот же материал есть и веб-страницей, и PDF-файлом: заголовок подскажет поиску, что главная версия — это страница, и приоритет в выдаче получит она, а не файл.

Коротко

Canonical указывает поисковику главную версию страницы и склеивает дубли, передавая вес одному адресу. Используйте его, когда контент должен оставаться по нескольким URL, но в поиске нужен один. Для переездов берите 301, для мусора — noindex. У страниц пагинации делайте самоссылку, а не canonical на первую. И всегда проверяйте, что тег указывает на правильный адрес.

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

Что такое тег canonical?
Атрибут rel="canonical" в head страницы, который указывает поисковику главный адрес этой страницы. Он помогает склеить дубли и передать вес одной, канонической версии.
Чем canonical отличается от 301-редиректа?
301-редирект физически перенаправляет на новый адрес — для случаев, когда страница переехала. canonical же оставляет обе страницы доступными, но в поиске указывает главную. Переехало — 301, две живые версии одного контента — canonical.
Когда использовать canonical?
Когда один и тот же контент доступен по нескольким URL, которые должны оставаться рабочими: товар в двух категориях, страницы с параметрами и UTM-метками, версии для печати.
Нужен ли canonical на самой главной версии страницы?
Да, самореференция (canonical, указывающий на саму страницу) — нормальная и правильная практика, она закрепляет основной адрес.
Какой canonical ставить на страницах пагинации?
Каждая страница списка (2, 3, 4…) должна ссылаться canonical сама на себя, а не на первую. Иначе товары и материалы со второй страницы и дальше выпадают из индекса. Сводить всё на первую можно только при наличии отдельной страницы «показать всё».
Как проверить canonical страницы?
Откройте исходный код страницы (Ctrl+U) и найдите строку rel="canonical" — там должен быть правильный полный адрес. Массово это удобно смотреть в Яндекс.Вебмастере, в разделе «Страницы в поиске»: видно, что поисковик признал каноническим, а что склеил.
Почему поисковик игнорирует мой canonical?
Потому что canonical — это рекомендация, а не приказ (в отличие от 301-редиректа). Поиск сопоставляет тег с другими сигналами и может выбрать иную страницу, если внутренние ссылки, sitemap или контент противоречат указанию. Чтобы подсказка работала: ссылайтесь внутри сайта на канонический URL, включайте в sitemap только канонические адреса и следите, чтобы контент дубля и канонической совпадал.
Можно ли указать canonical на другой сайт?
Да, межсайтовый (cross-domain) canonical допустим — он нужен при синдикации, когда контент официально публикуется на нескольких ресурсах. На копии ставят canonical на оригинал, и приоритет в поиске остаётся у первоисточника. Для файлов без head (например, PDF) канониклу передают через HTTP-заголовок Link с rel="canonical". Главное — не выстраивать цепочки и циклы: тег должен вести сразу на финальную страницу.