Канонический адрес (canonical): как указать его для страницы и проверить
Чтобы указать канонический адрес страницы, добавьте в блок <head> тег <link rel="canonical" href="https://example.com/osnovnoj-adres/"> с полным адресом основной версии; для PDF и других файлов без HTML используют HTTP-заголовок Link. Канонический адрес — указание поисковой системе, какой из нескольких одинаковых или похожих адресов считать основным. Google воспринимает его как сильный сигнал, но не как обязательную команду.
Зачем это нужно
Один и тот же материал часто доступен по нескольким адресам: с параметрами сортировки и меток, с www и без, со слешем на конце и без него, в печатной версии. Для поиска это разные страницы с одинаковым содержанием. Канонический адрес объединяет их: сигналы и ссылочный вес сводятся к одной версии, а в выдачу попадает именно она.
Как указать канонический адрес: четыре способа
| Способ | Где задаётся | Сила сигнала по документации Google | Когда использовать |
|---|---|---|---|
Тег link rel="canonical" | В блоке <head> HTML-страницы | Сильный | Основной способ для обычных страниц |
HTTP-заголовок Link | В ответе сервера | Сильный (та же аннотация, что и тег) | PDF, документы и другие файлы без <head> |
| Редирект 301 | На сервере | Сильный | Дубль больше не нужен людям — см. 301 или 302 |
| Карта сайта | В sitemap.xml перечислены только основные адреса | Слабый | Дополнительный сигнал, не замена тегу |
Тег в HTML
<head>
<link rel="canonical" href="https://example.com/catalog/divany/">
</head>
HTTP-заголовок для PDF
Link: <https://example.com/docs/price.pdf>; rel="canonical"
В nginx такой заголовок добавляют в блоке location нужного файла:
location = /files/price-2026.pdf {
add_header Link '<https://example.com/docs/price.pdf>; rel="canonical"';
}
Проверить, что заголовок действительно отдаётся, можно проверкой HTTP-заголовков — она показывает все заголовки ответа.
Правила записи тега canonical
- Полный адрес с протоколом и доменом. Google рекомендует абсолютные адреса:
https://example.com/page/, а не/page/. - Только в
<head>. Тег в теле страницы Google не принимает. Если шаблон выводит невалидный элемент раньше,<head>может закрыться досрочно — и тег окажется в теле. - Один канонический адрес на страницу. Два тега с разными адресами или тег, противоречащий заголовку
Link, — противоречивые сигналы. - Адрес совпадает с продвигаемой версией: тот же протокол, тот же хост (с www или без), тот же слеш на конце.
- Целевая страница отвечает 200, открыта для индексации и не закрыта в robots.txt.
- Самоканоникал на основных страницах. Страница, указывающая сама на себя, защищена от дублей с метками и параметрами.
- Без robots.txt и инструмента удаления. Google прямо пишет, что не стоит использовать их для канонизации, а
noindexне рекомендует для выбора канонической страницы внутри сайта. - Лучше в исходном HTML. Тег, который добавляет JavaScript, Google может обработать после рендеринга, но часть инструментов и роботов скрипты не выполняет.
Как выглядит правильная настройка
| Случай | Что указывать |
|---|---|
| Обычная страница | Саму себя — самоканоникал |
| Адрес с UTM-метками | Чистый адрес без параметров |
| Пагинация | Каждую страницу на себя, а не всё на первую |
| Один товар в нескольких категориях | Один основной адрес товара |
| Версия для печати | Основную версию |
Как указать канонический адрес в WordPress и других CMS
В большинстве CMS тег выводит шаблон или SEO-модуль, а не редактор страницы. В WordPress канонический тег на записях и страницах обычно уже есть; SEO-плагины вроде Yoast SEO и Rank Math выводят его и на других типах страниц и дают в расширенных настройках записи поле для своего канонического адреса. В других системах ищите аналогичное поле в SEO-настройках страницы или модуль, который управляет мета-тегами; на самописном сайте тег добавляют в общий шаблон <head>, подставляя адрес текущей страницы без параметров.
- Оставьте самоканоникал по умолчанию для всех обычных страниц.
- Для дублей — копий товара в разных категориях, версий для печати — укажите в поле адрес основной версии.
- После установки плагина проверьте, что тег на странице один: тема и плагин нередко выводят его оба.
- Для пагинации и фильтров руководствуйтесь отдельными правилами — см. пагинацию и фасетную навигацию.
Канонический адрес на мультиязычном сайте и для мобильной версии
Языковые версии — не дубли, даже если перевод близок к оригиналу. Каждая версия указывает канонический адрес на саму себя, а связь между языками описывают атрибутами hreflang. Если английская страница укажет канонической русскую, Google может выбросить английскую из индекса, а разметка hreflang перестанет работать: в ней должны стоять только канонические адреса.
<!-- на https://example.com/en/page/ -->
<link rel="canonical" href="https://example.com/en/page/">
<link rel="alternate" hreflang="ru" href="https://example.com/page/">
<link rel="alternate" hreflang="en" href="https://example.com/en/page/">
Отдельная мобильная версия на поддомене вроде m.example.com — другой случай: Google для таких сайтов описывает связку rel="alternate" на основной странице и rel="canonical" с мобильной страницы на основную. Адаптивный сайт с одним адресом для всех устройств этого не требует — подробнее в статьях про hreflang, проверку hreflang и mobile-first индексацию.
Частые ошибки
- Все страницы указывают на главную. Классика при копировании шаблона: остальные страницы выпадают из индекса.
- Канонический адрес ведёт на редирект или 404. Сигнал ломается полностью.
- Разные протоколы и домены. Адрес должен совпадать с тем, который вы реально продвигаете.
- Канонический плюс noindex на одной странице. Противоречие, которое трактуется непредсказуемо.
Как проверить канонический адрес
- Исходный код. Откройте страницу, нажмите Ctrl+U и найдите
canonical: тег должен быть один и внутри<head>. - Анализ мета-тегов показывает canonical вместе с title, description и hreflang. Он читает исходный HTML без выполнения JavaScript, поэтому тег, добавленный скриптом, не увидит.
- Проверка индексации страницы сравнивает canonical с конечным адресом после редиректов и предупреждает, если они расходятся.
- Search Console → «Проверка URL». В сведениях об индексировании видно два поля: канонический адрес, указанный пользователем, и канонический адрес, выбранный Google. Если они разные, Google не согласился с вашим указанием.
- Отчёт об индексировании страниц. Статус вида «копия, Google выбрал другую каноническую страницу» (в английском интерфейсе — Duplicate, Google chose different canonical than user) перечисляет такие адреса списком.
Если Google выбирает не ваш адрес, ищите противоречащие сигналы: внутренние ссылки на дубль, дубль в карте сайта, редирект в обратную сторону, разный контент на «одинаковых» страницах. Подробнее о проверке — в статье о проверке индексации.
Канонический адрес против редиректа
Их часто путают. Редирект физически уводит и робота, и человека на другой адрес — старая страница перестаёт открываться. Канонический адрес оставляет обе страницы доступными, но просит считать основной одну из них. Правило простое: если старый адрес больше не нужен людям — редирект; если обе версии нужны, например товар в двух категориях, — канонический адрес.
Как это связано с продвижением
Ссылки надо вести на канонический адрес. Если продвигаемая страница указывает каноническим другой адрес, вес уйдёт туда, а не на неё. Проверить теги можно анализатором мета-тегов, а выбор страницы под запуск разобран в статье «Какую страницу выбрать».