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

Что вообще делает canonical
Тег выглядит так:
<link rel="canonical" href="https://saitfix.ru/services/wordpress-fix/">
Стоит в <head> каждой страницы. Поисковик читает его и понимает: «эта страница это разновидность основной страницы по указанному URL». В индексе будет участвовать только основная.
Если на странице A canonical указывает на страницу B, поисковик:
- Считает, что A и B это одна и та же страница.
- Все ссылки на A и B как одну, объединяет ссылочный вес.
- Показывает в выдаче только B.
- Игнорирует A в плане ранжирования.
Это сильный инструмент. Но если использовать неправильно, можно «выпилить» из индекса нужные страницы.
Какие проблемы решает
Несколько классических сценариев, в которых canonical обязателен.
URL с параметрами и без
Часто одна страница доступна по нескольким URL:
https://saitfix.ru/services/https://saitfix.ru/services/?utm_source=yandex&utm_campaign=brandhttps://saitfix.ru/services/?ref=tghttps://saitfix.ru/services/?fbclid=xxx
Без canonical поисковик может проиндексировать каждый вариант как отдельную страницу. В индексе появятся 4 копии одной и той же страницы, ссылочный вес делится, ранжирование падает.
С canonical:
<link rel="canonical" href="https://saitfix.ru/services/">
Все варианты ссылаются на основной, поисковик объединяет.
Дубли с www и без www
Сайт может быть доступен по https://saitfix.ru/ и https://www.saitfix.ru/. В правильной настройке один из вариантов 301-редиректит на другой. Если редиректа нет (что я регулярно вижу на старых сайтах), canonical спасает:
<link rel="canonical" href="https://saitfix.ru/">
Но лучше ставить и редирект, и canonical. Это две меры защиты.
Дубли с http и https
То же самое для протокола. Должен быть 301-редирект http → https, плюс canonical на https.
Дубли с trailing slash и без
/services/ против /services. Apache по умолчанию не редиректит между ними. Без canonical и редиректа возможны дубли. Решение: либо настроить редирект, либо canonical, либо оба сразу.
Категории и фильтры в каталоге
В интернет-магазине один товар может появляться в нескольких категориях:
/catalog/electronics/laptop-asus-x515.html/catalog/sale/laptop-asus-x515.html/catalog/popular/laptop-asus-x515.html
Каждый из этих URL это «дубль» одного товара. Canonical ставит главный URL:
<link rel="canonical" href="https://shop.ru/catalog/electronics/laptop-asus-x515.html">
Все варианты ссылаются на один.
Аналогично с фильтрами: ?color=red, ?sort=price-asc, ?page=2 все они часто канонизируются на основную страницу категории.
Пагинация
Страницы пагинации (?page=2, ?page=3) это сложный случай. В 2026 году Google и Яндекс рекомендуют:
- Не ставить canonical на первую страницу с пагинации (раньше было можно, сейчас нет).
- Использовать
rel="next"иrel="prev"для связи между страницами.
<!-- На странице ?page=2 -->
<link rel="canonical" href="https://shop.ru/catalog/?page=2">
<link rel="prev" href="https://shop.ru/catalog/">
<link rel="next" href="https://shop.ru/catalog/?page=3">
Каждая страница имеет canonical на саму себя, плюс связи с соседями.
Сессии и идентификаторы
Старые сайты на PHP иногда добавляют в URL PHPSESSID:
https://oldsite.ru/page.html?PHPSESSID=abc123https://oldsite.ru/page.html?PHPSESSID=def456
Это бесконечные дубли. Canonical:
<link rel="canonical" href="https://oldsite.ru/page.html">
Обычно лучше отключить session-в-URL в коде, но canonical как вторая защита полезен.
Когда НЕ ставить canonical
Несколько случаев, когда canonical вредит.
На уникальную страницу
Если страница уникальна и не имеет дублей, canonical, указывающий на неё саму:
<link rel="canonical" href="https://saitfix.ru/services/">
Это нормально и безвредно (это «self-canonical»). Но если поставить canonical на ДРУГУЮ страницу, текущая выпадет из индекса.
На пагинацию (как раньше)
В 2018 году было стандартом ставить canonical на первой страницу со всех страниц пагинации. Сейчас это плохая практика: вторая, третья, пятая страницы выпадают из индекса, и их товары не находятся.
Правильно: каждая страница пагинации имеет self-canonical.
На страницу-аналог в другом языке
Для многоязычных версий есть специальный механизм hreflang:
<link rel="alternate" hreflang="ru" href="https://saitfix.ru/services/">
<link rel="alternate" hreflang="en" href="https://saitfix.ru/en/services/">
<link rel="alternate" hreflang="x-default" href="https://saitfix.ru/services/">
Не нужно ставить canonical с английской версии на русскую, или наоборот. Это разные страницы, обе должны индексироваться.
На редирект
Если страница A редиректится 301 на страницу B, canonical не нужен (редирект решает проблему сам). Если поставить canonical с A на B при наличии редиректа, поисковик может запутаться.
На несуществующую страницу
Если canonical указывает на 404, поисковик игнорирует тег и оставляет всё как есть. Не страшно, но это технический мусор. Стоит почистить.
Как ставить в популярных CMS
WordPress
WordPress по умолчанию ставит canonical на все страницы. Это обычно правильно, но:
- Yoast SEO или Rank Math позволяют переопределить canonical для конкретной страницы. Например, если на странице есть очень похожий контент с другой, можно вручную указать canonical.
- Дубль URL с / и без / WordPress решает редиректом, canonical там и так на правильной версии.
Что я делаю на каждом WP-сайте:
- Устанавливаю Yoast SEO.
- Проверяю, что в
Search Appearance → Advancedстоит правильный canonical. - На страницах фильтров (если есть) явно прописываю canonical вручную.
- Проверяю в Search Console, что нет дублей в индексе.
Битрикс
Битрикс из коробки canonical не ставит. Нужно либо использовать модуль (например, «Канонические URL для Битрикс»), либо прописывать руками в шаблонах:
$APPLICATION->AddHeadString('<link rel="canonical" href="' . $canonicalUrl . '">');
Где $canonicalUrl это правильный URL текущей страницы. На страницах фильтров и сортировок дополнительно проверяем, какой URL должен быть основным.
OpenCart
В OpenCart 4.x canonical есть в шаблоне категории и товара по умолчанию. Если что-то не работает, проверяем /catalog/view/template/product/category.twig и /product.twig.
Astro
В Astro я обычно использую компонент SEO, который генерирует canonical автоматически:
<link rel="canonical" href={`https://saitfix.ru${Astro.url.pathname}`}>
Подробно у нас в src/components/seo/SEO.astro.

Как проверить, что у вас всё правильно
Несколько способов проверки.
Просмотр исходного кода страницы
Открываем страницу, View Source (Ctrl+U), ищем <link rel="canonical". Должен быть и указывать на правильный URL.
Через DevTools
F12 → Elements → Ctrl+F → "canonical". Видите тег.
Через curl
curl -s https://saitfix.ru/ | grep -i canonical
Через Search Console и Yandex Webmaster
В Search Console: Indexing → Pages → Canonical not selected by user / Canonical is different. Видите страницы, на которых canonical у вас не совпадает с тем, что Google выбрал бы сам.
В Webmaster: «Индексирование → Страницы в поиске». Если видите много дублей одной страницы, скорее всего проблема в canonical.
Через краулер
Screaming Frog SEO Spider, Sitebulb, Netpeak Spider все они показывают canonical для каждой страницы и предупреждают о проблемах: пустой canonical, на 404, на редирект, на другой домен.
Я гоняю Screaming Frog на каждом клиенте раз в квартал, ловит много мусора.
Какие ошибки встречаются регулярно
Самые частые проблемы, которые я разбирал у клиентов.
Canonical на главную со всех страниц
Когда-то админ настроил canonical на главный URL для всего сайта. В индексе пропали все внутренние страницы. Признак: в Search Console «Indexed, not submitted» падает с тысячи страниц до 1.
Лечение: убрать ошибочный canonical, заменить на self-canonical для каждой страницы.
Canonical с http на https при редиректе
Сайт редиректит http → https, но canonical на каждой странице указывает на http-версию. Поисковик путается: то ли редирект, то ли canonical, неясно, что правда.
Лечение: переписать canonical на https.
Canonical на абсолютный URL без указания протокола
<link rel="canonical" href="//saitfix.ru/services/">
Это валидный синтаксис, но Google рекомендует указывать полный URL с протоколом. Меняем на https://saitfix.ru/services/.
Canonical на неканоническую версию URL
Главная доступна как https://saitfix.ru/ и https://saitfix.ru/index.html. Canonical стоит на index.html. Поисковик индексирует index.html, а не «чистый» URL.
Лечение: canonical на https://saitfix.ru/, плюс редирект index.html → /.
Несколько canonical на одной странице
В шаблоне случайно прописали canonical, и плагин SEO тоже добавил. Получается два тега. Поисковик берёт один из них (обычно первый), второй игнорирует. Иногда это даёт неожиданный результат.
Лечение: один canonical на странице.
Canonical и пенальти
Canonical не наказание для страницы. Поисковик не считает, что у вас «плохой контент» из-за canonical. Это техническая директива, ничего больше.
Но canonical может «выпилить» нужную страницу из индекса, если поставлен ошибочно. И тогда трафик на эту страницу пропадает. Поэтому проверяем дважды.
Canonical для PDF и других форматов
Если у вас есть PDF-документ (политика конфиденциальности, прайс), который дублирует HTML-страницу, поисковик может ранжировать PDF выше или ниже, чем хочется.
Решение: на HTML-странице указать canonical на PDF (или наоборот), плюс в HTTP-заголовке PDF указать canonical:
Link: <https://saitfix.ru/privacy/>; rel="canonical"
В Apache настраивается через .htaccess:
<Files "privacy.pdf">
Header set Link '<https://saitfix.ru/privacy/>; rel="canonical"'
</Files>
Это редкий случай, но иногда полезно.

Чек-лист по canonical
Что проверить на любом сайте:
- На каждой странице есть
<link rel="canonical">в head. - Canonical указывает на полный URL с https и доменом.
- Self-canonical (страница ссылается на саму себя), если у неё нет дублей.
- Параметры URL (UTM, ref, fbclid) канонизируются на чистый URL.
- Главная не имеет дублей с www/без www, http/https, /index.html.
- Категории каталога канонизируются правильно при фильтрах и сортировках.
- Пагинация имеет self-canonical, плюс rel=prev/next.
- Многоязычные версии связаны через hreflang, не canonical.
- 404-страницы и редиректы не содержат canonical.
- В Search Console и Webmaster нет ошибок canonical.
Раз в квартал гоняйте Screaming Frog или похожий краулер по сайту, и проблемы быстро видны.
Куда дальше
Связанные материалы: Дубли страниц: как найти и закрыть от индексации, Карта сайта sitemap.xml, Robots.txt для WordPress 2026.
Если хотите проверить canonical и другие технические SEO-аспекты на своём сайте, заявка через форму на главной. Запущу аудит, пришлю список ошибок и приоритеты исправления.
Частые вопросы
Зачем нужен rel canonical
Чтобы из нескольких адресов с одинаковым содержимым поисковик выбрал один. Типовые случаи это сортировки, фильтры, UTM-метки и версии страницы для печати.
Куда ставить canonical
В head страницы, абсолютным адресом. На основной странице канонический адрес указывает на неё же саму, это нормально и правильно.
Когда canonical ставить нельзя
Когда страницы отличаются по содержимому. Указав канонический адрес на другую страницу, вы просите исключить текущую из поиска. Для пагинации и разных товаров это ошибка.
Что делать, если поисковик игнорирует canonical
Это подсказка, а не команда. Если содержимое страниц сильно расходится, поисковик выберет по-своему. Тогда либо приводят страницы к одному виду, либо закрывают лишние другими способами.