Одна и та же страница почти всегда доступна по нескольким адресам: со слешем и без, с параметрами сортировки, с меткой рекламной кампании. Для человека это одна страница, для поиска — разные адреса с одинаковым содержимым. Атрибут canonical говорит, какой из них считать главным. Разбираемся, когда он подходит, а когда задачу решает что-то другое.
Коротко
- Canonical — рекомендация, а не команда: поиск может выбрать другую страницу.
- Применяется там, где обе страницы нужны людям, но в индексе должна быть одна.
- Адрес в canonical всегда пишут абсолютным — относительный легко ломается тегом base.
- Canonical вместе с noindex на одной странице — противоречие, которое путает поиск.
Что такое canonical и как он работает
В секции head страницы ставится ссылка на её канонический адрес:
<link rel="canonical" href="https://сайт.ru/divany/uglovye/">
Этим вы сообщаете: если робот пришёл по другому адресу, но видит эту разметку, — главной считать указанную страницу. Сигналы вроде ссылочного веса поиск старается свести к ней же.
Это рекомендация, а не приказ. И Яндекс, и Google оставляют за собой право выбрать другую каноническую страницу, если считают вашу разметку ошибочной. Типичный случай: вы указали canonical на страницу с совсем другим содержимым, и поиск проигнорировал указание. В Search Console это видно как расхождение между заявленной и выбранной канонической страницей.
Самый частый и самый полезный вариант — самоканоникал: страница указывает сама на себя. Это страхует от случайных дублей с параметрами, которые вы не предусмотрели.
Когда canonical, а когда что-то другое
Главный вопрос: нужна ли вторая страница людям. Если нет — её не прячут, а убирают.
| Ситуация | Инструмент | Почему |
|---|---|---|
| Страница переехала навсегда | 301 | Старый адрес людям не нужен |
| Сортировка и фильтры без спроса | canonical | Людям нужны, поиску нет |
| Метки кампаний в адресе | canonical | Адрес временный, страница та же |
| Версия для печати | canonical | Нужна пользователю |
| Служебная страница | noindex | Её вообще не должно быть в поиске |
| Две статьи про одно и то же | Объединить и 301 | Дубль по смыслу, а не по адресу |
| Товар в нескольких категориях | canonical | Выбираем один основной адрес |
Canonical не решает проблему каннибализации. Если две страницы конкурируют за один запрос, но содержательно разные, canonical просто уберёт одну из индекса вместе с её трафиком. Правильнее развести их по разным запросам.
Правила, которые стоит соблюдать всегда
Абсолютный адрес
С протоколом и доменом. Относительный путь работает, но зависит от тега base в шапке: если он есть, адрес посчитается от него, и canonical легко уедет не туда.
Один canonical на страницу
Два разных указания поиск просто проигнорирует. Частая причина — шаблон и плагин, которые оба его выводят.
Только в head
Разметка в теле страницы не учитывается. Исключение — заголовок HTTP, он подходит для файлов вроде PDF.
Целевая страница отдаёт 200
Canonical на редирект, 404 или закрытую в robots.txt страницу — противоречие, которое обесценивает указание.
Без цепочек
А указывает на Б, Б на В. Поиск может не пройти цепочку до конца. Указывайте сразу на конечный адрес.
Семь ошибок, которые встречаются чаще всего
Так делать не стоит
- Canonical со всех страниц на главную
- Canonical и noindex на одной странице
- Canonical на страницу, закрытую в robots.txt
- Относительный адрес при наличии тега base
- Разный протокол: страница на https, canonical на http
- Canonical на страницу с другим содержимым
- Цепочка из двух-трёх переходов
Как правильно
- Самоканоникал по умолчанию на всех страницах
- Выбрать что-то одно: либо canonical, либо noindex
- Целевая страница открыта и отдаёт 200
- Всегда абсолютный адрес
- Протокол и домен совпадают с рабочими
- Содержимое страниц действительно совпадает
- Указание сразу на конечный адрес
Первая ошибка в списке — самая разрушительная. Canonical со всех страниц каталога на главную выглядит как «все эти страницы на самом деле одна», и каталог постепенно уходит из индекса. Появляется она обычно не злонамеренно, а из-за настройки в шаблоне, которую никто не проверил.
Как проверить
- Исходный код страницы. Найдите в нём
rel="canonical"и убедитесь, что он один и адрес верный. - Проверка URL в Search Console. Показывает и заявленную вами каноническую страницу, и ту, которую выбрал Google. Расхождение — повод разбираться.
- Краулер по сайту. Выгружает canonical со всех страниц разом. Сразу видно и цепочки, и массовые указания на главную.
- Выборочная проверка типовых страниц. Откройте карточку товара, страницу фильтра, вторую страницу пагинации и адрес с UTM-меткой — на каждой canonical должен вести туда, куда вы ожидаете.
После правок не ждите мгновенного эффекта. Поиску нужно переобойти страницы и пересчитать сигналы — обычно это недели. Если через месяц Search Console по-прежнему показывает другую каноническую страницу, значит поиск с вашим выбором не согласен, и стоит проверить, действительно ли содержимое страниц совпадает.
Частые вопросы
Чем canonical отличается от 301-редиректа?
Редирект физически перенаправляет человека и робота на другой адрес — старая страница перестаёт открываться. Canonical оставляет обе страницы доступными, но просит поиск считать главной одну. Если вторая страница людям не нужна, правильнее редирект.
Нужен ли canonical, если дублей нет?
Да, самоканоникал полезен всем страницам. Он страхует от дублей, которые появляются сами: адреса с метками кампаний, параметрами сортировки, слешем на конце. Предусмотреть их все заранее невозможно.
Можно ли ставить canonical на другой домен?
Технически да, это поддерживается. Применяется, когда один и тот же материал публикуется на двух сайтах и вы хотите, чтобы в поиске был только один. Но межсайтовые указания поиск проверяет строже, и без реального совпадения содержимого они не сработают.
Что делать, если поиск выбрал не ту каноническую страницу?
Проверить, насколько страницы действительно похожи, нет ли противоречий с robots.txt, noindex и редиректами, и совпадают ли внутренние ссылки с вашим выбором. Поиск часто ориентируется на то, куда ссылается сам сайт, а не на разметку.
Читайте также
Продвинем сайт в поиске
Соберём семантику, доведём структуру и текст до уровня топа и будем вести проект до заявок.
Обсудить SEO-продвижение