Что такое canonical и зачем он нужен
<link rel="canonical"> — это мета-тег, который указывает поисковику основную (каноническую) версию страницы, если есть несколько похожих URL.
Пример:
<link rel="canonical" href="https://example.com/product/iphone-15">
Этот тег ставится в <head> каждой страницы. Он сообщает: «если ты нашёл другие URL с похожим контентом — это всё клоны, индексируй вот этот».
Когда нужны дубликаты на сайте
Не всегда дубли — это плохой контент. Часто они возникают технически:
- UTM-метки и параметры:
/product?utm_source=fbи/product— один и тот же контент. - Фильтры и сортировки:
/catalog?sort=priceи/catalog?sort=date— каталог в разных порядках. - Пагинация:
/blog?page=1дублирует/blog. - Версии для печати:
/articleи/article/print. - Mobile-версия на отдельном поддомене:
m.example.comдублируетexample.com. - Разные пути к одному товару:
/catalog/phones/iphoneи/iphone. - Версии для разных регионов:
/moscow/cafeи/spb/cafeс одинаковым описанием.
Без canonical поисковик не знает, какую версию ранжировать, и распределяет вес между всеми. Итог: каждая «треть» от ссылочного веса, никто не в топе.
Как ставить canonical
Базовая схема
На странице /product/iphone-15?utm_source=fb:
<link rel="canonical" href="https://example.com/product/iphone-15">
То есть canonical всегда указывает на «чистый» URL без параметров.
Self-canonical
На «основной» странице /product/iphone-15 canonical указывает на саму себя:
<link rel="canonical" href="https://example.com/product/iphone-15">
Это рекомендованная практика — даже если страница уникальная, явный self-canonical защищает от случайных дубликатов (например, после смены домена или редизайна).
HTTP-заголовок
Альтернативный способ — отдавать через HTTP:
Link: <https://example.com/product/iphone-15>; rel="canonical"
Используется для PDF, изображений и других не-HTML файлов.
Особенности Google и Яндекса
- Жёстко следует canonical. Если canonical указывает на другую страницу, текущая в индекс не попадает.
- Может переопределить ваш canonical, если контент очень разный или canonical указывает на 404. В Search Console это видно в отчёте «Покрытие» — категория «URL не выбран как канонический».
- Поддерживает HTTP-заголовок
Link: rel=canonical.
Яндекс
- Учитывает canonical, но менее строго. Может «склеить» страницы и без canonical, если контент идентичен.
- Часто предпочитает свой выбор канонической страницы (та, что чаще кликалась, та, что в выдаче дольше).
- Дополнительно использует
Clean-paramв robots.txt — гибрид canonical и фильтрации параметров.
Типичные ошибки
1. Canonical на 404
Самая частая беда после редизайна: страница удалена, но canonical-ы со всех клонов всё ещё указывают на её URL. Google видит «канонический URL отдаёт 404» и теряет всю группу страниц.
Проверка: онлайн-валидация мета-тегов — мы покажем canonical и статус-код, на который он указывает.
2. Canonical в цепочке
A → canonical B → canonical C. Google пройдёт цепочку, но если в ней > 2 шагов, может бросить и не индексировать вообще. Цепочки нужно разрулить — все canonical должны указывать сразу на финальный URL.
3. Self-canonical с другим протоколом
<link rel="canonical" href="http://example.com/page"> на странице, которая отдаётся по https. Поисковик путается, теряет страницу из индекса. Решение — canonical всегда с тем же протоколом, что и реальный URL.
4. Canonical для пагинации
<!-- На странице /blog?page=2 -->
<link rel="canonical" href="https://example.com/blog">
Это ошибка. Google перестал поддерживать rel="prev"/"next" в 2019, но canonical на пагинации тоже не правильный. Решение — self-canonical на каждой странице пагинации (/blog?page=2 → canonical на саму себя), а внутренние ссылки и sitemap содержат только первую страницу.
5. Canonical с фильтрами
Если в выдачу должны попадать страницы фильтрованных категорий (например, /cafe/v-tsentre/), то canonical у них должен указывать на саму себя, а не на общую категорию. Иначе Google не индексирует «географические страницы», и теряется длинный хвост.
6. Canonical в JavaScript
Если canonical вставляется через JS, Google его обычно увидит (после рендера), а Яндекс может не увидеть. Решение — отдавать canonical в server-side HTML.
7. Конфликт: canonical + noindex
<meta name="robots" content="noindex"> плюс canonical на другую страницу. Поисковик путается: «не индексируй» или «индексируй вот эту версию»? В итоге обе страницы могут вылететь.
Правило: либо canonical, либо noindex. Не оба сразу.
8. Canonical на другой домен
<link rel="canonical" href="https://other-site.com/page">
Это легитимный случай — если вы синдицируете свой контент на партнёрский сайт, попросите там canonical на оригинал. Защищает от «другой сайт обогнал ваш по вашему же тексту».
Когда canonical обязателен
- Интернет-магазин с фильтрами и сортировками.
- Сайт с UTM-метками в трафике (соцсети, контекст).
- Блог с пагинацией.
- Многоязычный сайт (плюс hreflang).
- Любой сайт с похожими страницами разных регионов.
- При миграции с http на https — canonical на https-версию ускоряет переиндексацию.
Что делать дальше
- Откройте 5-10 ключевых страниц сайта и посмотрите в DevTools, есть ли
<link rel="canonical">в<head>. - Проверьте мета-теги онлайн — увидите canonical и его статус.
- Найдите дубли: в Search Console раздел «Покрытие → Исключено → Дубликат, отправленный URL не выбран как канонический». Это сигнал, что вы хотите индексировать дубль, а Google нет.
- Проверьте sitemap.xml — в нём должны быть только канонические URL. Валидатор sitemap.
- Включите Clean-param в robots.txt для Яндекса — дополнительная защита от мусорных параметров. Проверка robots.txt.
Canonical — это «правила приоритета», которые вы сами устанавливаете для поисковика. Без них поисковик решает за вас — а его выбор не всегда совпадает с тем, что вы продвигаете.
Попробовать SEOAdmin бесплатно
30 SEO-инструментов в одном кабинете. 100 поинтов бесплатно при регистрации, без карты.

