Logo
Canonical: когда ставить канонический адрес и какие ошибки стоят трафика

Canonical: когда ставить канонический адрес и какие ошибки стоят трафика

Canonical: это тег <link rel="canonical"> в коде страницы, которым вы сообщаете Google, какой из нескольких похожих адресов главный и должен ранжироваться. Ставить его нужно тогда, когда один и тот же контент открывается по разным URL: фильтры и сортировки в магазине, http и https, www и без, UTM-метки, версии для печати. Ошибки с canonical снаружи незаметны, сайт работает как работал, а трафик тем временем тихо расползается по дублям или исчезает вместе с главной страницей, которую вы случайно «отдали» другой. Ниже разбираем, когда тег нужен, как его проверить и какие восемь ошибок мы чаще всего находим на аудитах.

SEO-специалист проверяет тег canonical в исходном коде страницы на мониторе

Что такое rel="canonical" и зачем он Google

Google не любит дубли страниц. Когда он находит пять адресов с одинаковым текстом, ему нужно выбрать один для выдачи, а остальные считать копиями. Выбирает он сам, по своим признакам, и не всегда так, как хотели бы вы. Тег canonical даёт подсказку: «из этих пяти вот эта основная». Выглядит он так, в разделе <head>:

<link rel="canonical" href="https://site.ua/catalog/kresla/">

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

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

Три инструмента решают похожую задачу («спрятать лишнее»), но ведут себя по-разному. Путаница между ними обходится дороже всего.

ИнструментЧто делаетВес ссылокКогда уместен
rel="canonical"Указывает основную версиюПереходит на каноническуюФильтры, UTM, сортировка
301-редиректПеренаправляет всехПереходит на новый адресПереезд, слияние страниц
noindexСкрывает из поискаНе передаётсяКорзина, кабинет, поиск по сайту
  • Страницу с rel="canonical" пользователь видит, все адреса открываются.
  • После 301 старый адрес сразу открывает новый, для людей и роботов.
  • Страница с noindex открывается, но из выдачи выпадает.

Простое правило: если страница нужна людям, а Google нет, и у неё есть «старшая сестра» с тем же содержанием, это canonical. Если страница никому не нужна, это 301. Если страница нужна людям, но аналога у неё нет и в поиске ей делать нечего, это noindex.

Когда canonical нужен: семь типичных ситуаций

  1. Фильтры и параметры в интернет-магазине. Адрес /kresla/?color=black&sort=price показывает ту же категорию, что и /kresla/. Без canonical Google видит сотни вариантов одной страницы. Исключение: фильтры, под которые вы осознанно делаете отдельные посадочные страницы со своим текстом и спросом («чёрные офисные кресла»); им нужен canonical на самих себя.
  2. Пагинация. Страницы /blog/?page=2 не дубли первой, у них другой список. Canonical со второй страницы на первую прячет от Google все статьи, которые лежат глубже. Каждая страница пагинации должна ссылаться сама на себя.
  3. http и https, www и без www. Четыре версии домена должны сводиться 301-редиректом к одной, а canonical на каждой странице страхует, если где-то редирект не сработал.
  4. UTM-метки и параметры рекламы. ?utm_source=facebook, ?gclid=..., ?fbclid=...: адрес с меткой должен иметь canonical на чистый адрес. Это самая частая причина, почему в индекс попадают десятки «рекламных» копий главной.
  5. Версии для печати и мобильные дубли. /article/print/ или m.site.ua ссылаются на полную версию.
  6. Один товар в нескольких категориях. Если кресло открывается и как /office/kreslo-x/, и как /sale/kreslo-x/, выберите основной путь и поставьте его в canonical на обеих.
  7. Кросс-домен. Тот же текст на двух ваших сайтах или статья, которую перепечатал партнёр: на копии ставится canonical на оригинал. Google поддерживает это между доменами, но с тем же условием: страницы должны быть действительно идентичны.
Разработчик настраивает канонические адреса для страниц фильтров интернет-магазина за ноутбуком

Как проверить, какой canonical видит Google

То, что написано в коде, и то, что выбрал Google, это две разные вещи. В Search Console есть инструмент «Проверка URL»: вставьте адрес в строку вверху, и в блоке «Индексирование» увидите два поля: «Канонический URL, указанный пользователем» и «Канонический URL, выбранный Google». Если они совпадают, всё хорошо. Если нет, Google с чем-то не согласился, и нужно выяснить, с чем именно: чаще всего страницы не идентичны, либо на «каноническую» ведёт редирект, либо она закрыта от индексации.

Для массовой проверки подойдёт любой краулер вроде Screaming Frog: он показывает canonical каждой страницы и помечает те, что ссылаются не на себя. Быстрая ручная проверка: открыть код страницы (Ctrl+U) и поискать rel="canonical". Если тегов два, это уже ошибка. Ещё одно место, где может прятаться canonical, это HTTP-заголовок Link:, его видно в инструментах разработчика на вкладке Network или через проверку заголовков онлайн.

Оставьте заявку

Укажите ваше имя и email, наши менеджеры свяжутся с Вами в ближайшее время
Отправляя форму, вы соглашаетесь с политикой конфиденциальности.

Восемь ошибок с canonical, которые стоят трафика

По нашему опыту аудитов, canonical в том или ином виде сломан примерно на каждом третьем сайте, который к нам приходит. Вот что встречается чаще всего.

  1. Canonical на страницу с noindex. Вы говорите Google «главная версия вот эта», а на ней стоит запрет индексации. Сигналы противоречат друг другу, и в итоге из поиска исчезают обе страницы.
  2. Цепочки и кольца. Страница А ссылается на Б, Б на В, или А на Б, а Б обратно на А. Google обрабатывает только один шаг и в итоге выбирает что-то своё. Canonical должен всегда вести на конечную страницу, которая ссылается сама на себя.
  3. Относительные адреса. href="/catalog/kresla/" вместо полного https://site.ua/catalog/kresla/ формально работает, но при любой ошибке в базовом пути превращается во что-то вроде https://site.ua/catalog/catalog/kresla/. Только абсолютные URL.
  4. Canonical со всех страниц на главную. Классика шаблонов, где адрес прописали один раз в шапке. Результат: в поиске остаётся только главная, а категории и товары считаются её копиями. Мы видели магазины, которые так теряли почти весь поисковый трафик за пару месяцев.
  5. Разный canonical в HTML и в HTTP-заголовке. CMS ставит один, плагин кеширования или CDN добавляет другой. Google получает две подсказки и игнорирует обе. Оставьте один источник.
  6. Canonical на страницу, которая отдаёт редирект или 404. После смены структуры URL старый canonical в шаблонах остаётся, и все страницы указывают на адрес, которого уже нет.
  7. Canonical между разными языковыми версиями. UK-страница с canonical на RU-версию (или наоборот) убирает из поиска один из языков. Языковые версии связывают через hreflang, а canonical у каждой свой.
  8. Canonical с пагинации на первую страницу. Описано выше: товары со второй и дальше страниц для Google перестают существовать, если к ним нет других путей.

Отдельно о скрытой ошибке: canonical, который меняется в зависимости от параметра. Страница /kresla/?page=3 имеет canonical /kresla/?page=3, а /kresla/?page=3&sort=price уже /kresla/. Логика «срезать только часть параметров» должна быть прописана явно, иначе программист сделает, как проще. Все эти вещи стандартно входят в детальный SEO-аудит, и именно там их стоит ловить, а не после просадки позиций.

Команда обсуждает отчёт аудита с дублями страниц и ошибками canonical на экране в переговорной

Как внедрить canonical на популярных CMS

ПлатформаКак ставитсяНа что обратить внимание
WordPressYoast SEO или Rank MathДубль тега от темы, архивы
OpenCartЕсть для товаров и категорийФильтры с route= и path=
ShopifyАвтоматическиНе переписывать тег в теме
MagentoОпция в конфигурацииLayered Navigation отдельно
Своя разработкаВ шаблоне из чистого URLРазрешённые параметры в ТЗ
  • WordPress: в карточке страницы есть поле «Канонический URL» для ручного значения; проверить страницы тегов и архивов авторов.
  • OpenCart: для фильтров нужна доработка или SEO-модуль.
  • Shopify: товар в коллекции /collections/x/products/y сам ссылается на /products/y.
  • Magento / Adobe Commerce: включить «Use Canonical Link Meta Tag» для товаров и категорий.
  • Laravel, Next.js и др.: тег генерируется без query-параметров, кроме разрешённых (например page), покрыть тестами.

На любой платформе после внедрения стоит пройтись краулером и проверить три группы: страницы фильтров, пагинацию и адреса с UTM. Именно там чаще всего что-то не так. В Query мы обычно делаем это в рамках технической оптимизации вместе с редиректами, robots.txt и sitemap, потому что эти вещи работают только в комплексе.

С чего начать

  • Откройте код главной, любой категории и любого товара: есть ли canonical, абсолютный ли он, ведёт ли на себя.
  • Добавьте к адресу категории ?utm_source=test и проверьте, остался ли canonical чистым.
  • В Search Console в отчёте «Индексирование страниц» посмотрите на группу «Страница является копией. Канонический URL выбран Google, а не пользователем»: это список мест, где Google с вами не согласился.
  • Проверьте вторую страницу пагинации: canonical должен вести на неё саму.
  • Если сайт на самописной CMS, попросите разработчика показать, откуда берётся адрес в теге, и зафиксируйте правила для параметров письменно.

Другие статьи

Другие услуги

Связаться с нами
Мессенджеры