Canonical URL — это HTML-тег, который сообщает поисковику, какой адрес страницы считать основным, если у неё есть несколько копий по разным URL. Технически он выглядит так: <link rel="canonical" href="https://example.com/page/"> и размещается в блоке <head> страницы.
Задача атрибута простая. Если один и тот же материал доступен по нескольким адресам, поисковик должен понимать, какую версию показывать в выдаче, на какую копить ссылочный вес и историю поведения пользователей. Без canonical поисковик выберет основную версию сам, и не всегда так, как хочется владельцу сайта.
Когда canonical действительно нужен
Чаще всего речь про четыре сценария.
Параметры в URL. Интернет-магазин показывает один и тот же товар по адресам с фильтрами и сортировками: ?sort=price, ?color=red. Без canonical поисковик может посчитать каждую комбинацию отдельной страницей.
Версии с www и без, http и https. Сайт может открываться по нескольким версиям. Жёсткий 301-редирект на основной вариант обычно надёжнее, но canonical — дополнительный сигнал.
Пагинация. На длинных листингах самоканонизация каждой страницы списка обычно безопаснее, чем попытки указать canonical на первую страницу. Это сохраняет в индексе все страницы пагинации.
Синдикация и перепубликации. Если вы согласились перепечатать статью на стороннем ресурсе, на чужом сайте canonical должен указывать на оригинал у вас. Так оригинал не теряет позиции из-за внешней копии.
Как это работает на практике
Canonical — это рекомендация, а не директива. Поисковый робот учитывает указание, но может выбрать другой адрес как основной, если сочтёт его более полезным для пользователя. Например, если на канонической странице тонкий контент, а на «копии» больше информации, Google вправе оставить копию в индексе.
Адрес в href лучше делать абсолютным, с протоколом и доменом. Относительные пути допустимы, но повышают риск ошибок при обработке. Cтраница, на которую ссылается canonical, должна возвращать код 200 и не быть закрыта от индексации через robots.txt или meta noindex — иначе сигнал теряет смысл.
Canonical можно передать и через HTTP-заголовок, не только через <link>. Это полезно для PDF и других файлов, где вставить тег в head нельзя:
Link: <https://example.com/file.pdf>; rel="canonical"
Типичные ошибки
- Цепочки канонизации. Страница A указывает на B, B на C. Поисковики плохо проходят такие цепочки и часто перестают доверять тегам на сайте в целом.
- Canonical на закрытую страницу. Указание основной версии на 404, редирект или адрес с noindex — критическая ошибка. Поисковик попадает в тупик.
- Canonical на чужой домен без согласования. На своём сайте указывать canonical на чужой адрес имеет смысл только при синдикации. В остальных случаях это потеря страниц из индекса.
- Разные canonical в HTML и в HTTP-заголовке. Поисковик увидит конфликт и выберет основную версию сам, обычно не ту, которую вы планировали.
- Canonical в карте сайта не совпадает с canonical в HTML. Sitemap должен содержать предпочтительные адреса, иначе сигналы расходятся.
Как проверить canonical у себя
Запустите страницу в браузере, посмотрите исходный код и найдите строку с rel="canonical". Удобнее использовать панель вебмастера. В Google Search Console инструмент URL Inspection показывает, какой canonical указал сайт и какой выбрал Google. Расхождения — повод разобраться, почему.
Для массовой проверки помогают сторонние инструменты, в том числе массовые чекеры индексации, например PixelPlus, который проверяет до 5000 URL одновременно и заодно показывает дату первой индексации в Яндексе и возраст кэша. Это полезно, когда нужно быстро понять, какие страницы у вас вообще видит поисковик.
Связанные термины
- robots.txt и meta robots — какие страницы разрешены к обходу и индексации.
- noindex — отдельный сигнал «не показывать в выдаче».
- sitemap.xml — карта предпочтительных адресов сайта.
- Discovered/Crawled, currently not indexed — статусы Google Search Console, в которых canonical часто играет ключевую роль.
