Коротко
Rel canonical — это указание поисковым системам, какой адрес страницы считать основным, если один и тот же контент доступен по нескольким URL. Он прописывается в блоке head страницы строкой вида link rel=»canonical» с адресом основной версии. Поисковик склеивает дубли и показывает в выдаче именно этот адрес.
Canonical нужен почти любому сайту: товары в нескольких категориях, адреса с UTM-метками, сортировка и фильтры, страницы пагинации, версии для печати. Это подсказка, а не команда: Google и Яндекс учитывают её, но могут выбрать другой адрес, если сигналы противоречат друг другу. Настраивается canonical в WordPress через SEO-плагин, в 1С-Битрикс — в параметрах компонентов, свойствах инфоблока или в шаблоне.
| Ситуация | Что указать в canonical | Альтернатива |
|---|---|---|
| Обычная страница без дублей | Собственный адрес | — |
| Адрес с UTM-метками и параметрами отслеживания | Адрес без параметров | Clean-param для Яндекса |
| Товар доступен в нескольких категориях | Один основной адрес товара | Единый URL товара без категории |
| Сортировка каталога | Адрес категории без сортировки | noindex |
| Страницы пагинации | Каждая на себя | Зависит от выбранной стратегии |
| Старый адрес, которым больше не пользуются | Не canonical, а 301-редирект | — |
Основная мысль
Canonical решает проблему дублей, которые должны остаться доступны пользователю, а 301-редирект — проблему адресов, которые больше не нужны. Если путать эти инструменты, поисковик либо продолжает индексировать мусор, либо теряет нужные страницы.
Дубли почти всегда возникают не из-за контента, а из-за устройства CMS. Один товар открывается по трём путям, метки рекламных кампаний плодят новые адреса, модуль сортировки добавляет параметры. Каждую такую страницу пользователь должен видеть, но в индексе нужна одна.
Canonical собирает сигналы всех копий на основном адресе. Ссылки, поведенческие данные и вес страницы не распыляются между вариантами, а отчёты поисковых систем перестают показывать сотни «копий без канонического варианта».
Что такое тег canonical и как он выглядит
Технически это не отдельный тег, а элемент link с атрибутом rel=»canonical». В обиходе его называют тегом, и оба варианта означают одно и то же.
Link rel canonical в HTML
Элемент ставится внутри блока head. Выглядит так:
<link rel="canonical" href="https://site.ru/catalog/divany/divan-oslo/">
Требования к нему простые:
- адрес абсолютный, с протоколом и доменом;
- в head должен быть только один canonical — если их два и они разные, поисковик может проигнорировать оба;
- адрес открывается с кодом 200, без редиректа и без запрета в robots.txt;
- основная страница не закрыта noindex;
- протокол и написание домена совпадают с главным зеркалом сайта.
Атрибут canonical в HTTP-заголовке
Для файлов, у которых нет HTML-кода (PDF, документы), canonical передают в HTTP-заголовке Link. Например, если один и тот же прайс лежит по двум адресам, в Apache это можно задать в .htaccess:
<Files "price-2026.pdf">
Header add Link "<https://site.ru/files/price-2026.pdf>; rel=\"canonical\""
</Files>
В nginx аналогичный заголовок добавляется директивой add_header внутри нужного блока location. Для HTML-страниц этот способ используют редко: элемент в head проще проверить и поддерживать.
Canonical URL: абсолютный или относительный
Спецификация допускает относительный адрес, но на практике лучше всегда писать абсолютный. Относительный canonical ломается, если страница открыта по другому протоколу или зеркалу: поисковик соберёт адрес от текущего хоста и получит неверную версию.
Когда нужен rel canonical
Canonical нужен везде, где одна и та же или почти одинаковая страница доступна по нескольким адресам, и все эти адреса должны продолжать работать.
Параметры отслеживания и сортировки
Ссылки из рекламы и рассылок приходят с параметрами utm_source, utm_medium, yclid и другими. Для поисковика site.ru/uslugi/?utm_source=vk и site.ru/uslugi/ — разные адреса. Canonical на чистый адрес склеивает их.
Сортировка по цене, названию или популярности тоже добавляет параметры, а содержимое остаётся тем же набором товаров. Канонический адрес для таких страниц — категория без сортировки.
Товары в нескольких категориях
Если диван лежит и в «Диванах», и в «Распродаже», CMS нередко строит два адреса с разными путями. Правильнее всего, когда у товара один URL независимо от категории. Если архитектура этого не позволяет, выбирают основную категорию и прописывают canonical на её адрес.
Похожие страницы и вариации
Цветовые варианты одного товара, отдельные страницы размеров, версии для печати — всё это кандидаты на canonical. Но решение зависит от спроса: если по запросу «диван осло серый» есть отдельный спрос, отдельная страница с уникальным содержимым может быть полезнее, чем склейка.
Когда canonical не нужен
- Страница больше не нужна пользователю — ставьте 301-редирект.
- Страница служебная (корзина, личный кабинет, поиск по сайту) — закрывайте от индексации через noindex.
- Страницы просто похожи по теме, но решают разные задачи — это не дубли, у каждой свой собственный canonical.
Canonical, 301-редирект и noindex: в чём разница
Три инструмента часто путают, хотя они решают разные задачи.
| Инструмент | Что видит пользователь | Что делает поисковик | Когда использовать |
|---|---|---|---|
| rel canonical | Дубль остаётся доступен | Склеивает сигналы на основном адресе, если согласен с подсказкой | Дубли, которые нужны людям |
| 301-редирект | Автоматически попадает на новый адрес | Заменяет старый адрес новым | Переезд, смена URL, склейка зеркал |
| noindex | Страница доступна | Не включает страницу в индекс | Служебные и малоценные страницы |
Особо опасно сочетать canonical и noindex на одной странице. Для поисковика это противоречие: «эта страница — копия основной» и одновременно «не индексируй её». Результат непредсказуем.
Главное зеркало (с www или без, http или https) склеивают 301-редиректом, а не canonical. Как правильно прописать редиректы для разных серверов и CMS, подробно разобрано в статье Настройка 301 редиректа.
Как настроить canonical в WordPress
WordPress сам умеет выводить canonical, а SEO-плагины расширяют эту возможность и дают управлять ею вручную.
Что делает ядро
Ядро WordPress выводит rel canonical на отдельных записях и страницах. На архивах, рубриках, метках и главной с лентой записей стандартного canonical нет. Поэтому на сайте без SEO-плагина часть страниц остаётся без указания основного адреса.
Rank Math и Yoast SEO
Оба плагина после активации берут вывод canonical на себя и ставят его на все типы страниц: записи, рубрики, метки, архивы, товары. По умолчанию каждая страница указывает на свой адрес без параметров.
Чтобы вручную задать другой канонический адрес:
- Откройте запись или страницу в редакторе.
- В настройках Rank Math для этой записи откройте вкладку дополнительных параметров (Advanced), в Yoast SEO — раздел дополнительных настроек в блоке плагина.
- В поле канонического URL вставьте полный адрес основной страницы.
- Сохраните и проверьте исходный код страницы.
Ставить два SEO-плагина одновременно нельзя: каждый выведет свой canonical, и в head окажется два разных адреса. Общая настройка плагина разобрана в материале SEO-настройка WordPress.
WooCommerce
В WooCommerce товар по умолчанию имеет один адрес вида /product/nazvanie/, независимо от категории, поэтому классического дубля «товар в двух категориях» нет. Дубли появляются из-за параметров: сортировки (orderby), фильтров из плагинов, выбора вариации в адресе.
SEO-плагин обрезает параметры в canonical, но стоит проверить, как ведут себя страницы фильтров. Если плагин фильтрации создаёт отдельные ЧПУ-адреса под каждое сочетание, их нужно либо превратить в полноценные посадочные страницы, либо закрыть от индексации.
Если canonical выводит тема
Некоторые темы и конструкторы страниц добавляют свой canonical. Если в исходном коде два тега, найдите источник второго: отключите вывод в настройках темы или уберите его в дочерней теме. Править файлы родительской темы бессмысленно — изменения пропадут при обновлении.
Битрикс canonical: где настраивается
В 1С-Битрикс canonical настраивается на нескольких уровнях. Какой использовать, зависит от того, как собран сайт: на стандартных компонентах или на готовом решении с собственной логикой.
В параметрах компонентов
У стандартных комплексных компонентов каталога и новостей есть параметр установки канонического URL для детальной страницы. Когда он включён, компонент выводит canonical на адрес элемента, который задан шаблоном URL. Это закрывает главную проблему — один товар по нескольким путям в разных разделах.
Параметры меняются в режиме правки через настройки компонента или в коде страницы, где он вызывается. Если компонент используется в нескольких местах, настройку нужно проверить в каждом.
В свойствах инфоблока
В настройках инфоблока задаются шаблоны URL для разделов и элементов, в том числе шаблон канонического адреса элемента. Если товар привязан к нескольким разделам, canonical будет вести на адрес по этому шаблону. Шаблон должен совпадать с тем адресом, который реально открывается и отдаёт код 200. О том, как устроены инфоблоки и компоненты, простым языком рассказано в статье Инфоблоки и компоненты 1С-Битрикс.
Вручную в шаблоне
Для разделов, которые не покрыты компонентами (листинги с фильтром, страницы с параметрами), canonical можно добавить программно в шаблоне или в component_epilog.php. В ядре D7 для этого используется класс Asset:
use Bitrix\Main\Page\Asset;
Asset::getInstance()->addString('<link rel="canonical" href="https://site.ru/catalog/divany/">');
Адрес, конечно, не пишут вручную для каждой страницы, а собирают из текущего пути без GET-параметров. Правки в шаблоне делаются в копии шаблона, а не в системном, иначе обновление может их перезаписать.
Умный фильтр и пагинация на Битриксе
Умный фильтр каталога умеет генерировать ЧПУ-адреса под сочетания свойств. Без настройки это сотни страниц с одинаковыми заголовками. Для них решают, какие сочетания нужны как посадочные (с уникальными title и текстом), а остальные закрывают или склеивают canonical на раздел. Подробнее о SEO-настройке движка — в материале SEO-настройка сайта на 1С-Битрикс.
Пагинация и canonical
Страницы вида /catalog/divany/?PAGEN_1=2 или /page/2/ — отдельная тема, в которой встречается много ошибок.
Два подхода
Первый подход: каждая страница пагинации указывает canonical на саму себя. Так рекомендует Google: вторая и последующие страницы содержат другие товары и не являются копией первой. При этом у них можно сделать уникальные title вида «Диваны — страница 2».
Второй подход: canonical со всех страниц пагинации на первую. Его применяют, когда сайт хочет, чтобы в поиске была только первая страница. Риск в том, что поисковик может хуже находить товары, до которых можно дойти только через дальние страницы.
Чего делать не стоит
- Ставить canonical на первую страницу и одновременно закрывать дальние страницы noindex — ссылки на товары с них поисковик может перестать учитывать.
- Делать canonical со страниц пагинации на вариант «показать все», если такая страница грузится долго или не существует.
- Оставлять первую страницу доступной и по адресу категории, и по адресу с номером 1 — это ещё один дубль, его закрывают 301-редиректом.
Как проверить canonical
Проверять настройку стоит после запуска сайта, смены SEO-плагина, обновления шаблона и включения нового фильтра.
Проверить canonical вручную
- Откройте страницу и посмотрите исходный код (сочетание клавиш для просмотра кода в браузере или пункт контекстного меню).
- Найдите поиском по странице слово canonical.
- Убедитесь, что тег один, адрес абсолютный и совпадает с основной версией.
- Откройте адрес из canonical и проверьте, что он отдаёт код 200 и сам ссылается на себя.
Для страниц с параметрами повторите проверку, добавив к адресу, например, ?utm_source=test. Canonical должен остаться чистым.
Через панели вебмастеров
В Google Search Console инструмент «Проверка URL» показывает два значения: канонический адрес, указанный на странице, и адрес, который выбрал Google. Если они не совпадают, поисковик не согласился с подсказкой — нужно искать противоречивые сигналы. Как подключить сайт к этой панели, описано в статье Google Search Console: как добавить сайт.
В Яндекс Вебмастере в отчёте о страницах в поиске исключённые адреса показываются с причиной. Статус неканонической страницы означает, что Яндекс учёл canonical и склеил её с основной.
Краулеры
Для сайта на сотни и тысячи страниц canonical проверяют программой-краулером. Она обходит сайт и выгружает для каждого адреса указанный canonical, код ответа и мета robots. В выгрузке сразу видно цепочки, ссылки на 404 и страницы с несколькими тегами.
Три сценария из практики
Правила проще понять на примерах. Ниже типичные ситуации, с которыми владельцы сайтов сталкиваются чаще всего.
Рекламная кампания размножила адреса услуги
Компания запустила рекламу, и в отчёте индексации появились десятки адресов вида /uslugi/remont/?utm_source=…&utm_campaign=…. Содержимое у всех одинаковое. Решение: убедиться, что на странице стоит самоссылающийся canonical на чистый адрес, а для Яндекса дополнительно прописать Clean-param для меток в robots.txt. Удалять метки из рекламы не нужно — они нужны для аналитики.
Каталог на Битриксе, товары в нескольких разделах
Один и тот же насос привязан к разделам «Насосы для скважин» и «Дренажные насосы», и открывается по двум путям. Решение: включить установку канонического URL в компоненте детальной страницы и проверить шаблон канонического адреса в инфоблоке. После этого оба пути остаются рабочими для посетителей, а в индексе закрепляется один.
Магазин на WooCommerce с фильтром
Плагин фильтрации создаёт адреса под каждое сочетание цвета, размера и цены. Большинство сочетаний никто не ищет. Решение: оставить в индексе несколько сочетаний, по которым есть спрос, дать им уникальные заголовки и тексты, а остальным страницам фильтра указать canonical на категорию или закрыть их noindex — но не делать и то и другое одновременно.
Типичные ошибки с canonical на сайте
Ошибки с canonical коварны тем, что сайт внешне работает нормально, а страницы тихо пропадают из индекса.
- Все страницы указывают на главную. Бывает, когда canonical захардкожен в шаблоне. Поисковик видит, что весь сайт — копия главной, и может выбросить из индекса остальные страницы.
- Canonical на адрес с другим протоколом или зеркалом. Сайт на https, а в canonical — http или версия с www. Поисковик получает противоречивые сигналы.
- Canonical на страницу с редиректом или 404. Основной адрес недоступен, подсказка не работает.
- Цепочки. Страница А указывает на Б, а Б — на В. Поисковик может не пройти цепочку до конца.
- Два разных canonical. Один выводит тема, второй — SEO-плагин или модуль.
- Canonical вместо редиректа при переезде. Старые адреса остаются в индексе дольше, чем нужно.
- Canonical на тестовый домен. После переноса с тестовой копии в теге остался адрес dev-версии.
- Canonical между разными по смыслу страницами. Статью склеили с услугой, потому что они «похожи». Поисковик, скорее всего, проигнорирует такую подсказку.
Как найти и устранить остальные виды дублей, описано в статье Дубли страниц на сайте: как найти и убрать.
Чек-лист настройки
- На каждой индексируемой странице ровно один canonical.
- Адрес абсолютный, на https и на главном зеркале.
- Основная страница отдаёт 200 и ссылается сама на себя.
- Адреса с UTM и сортировкой указывают на чистый адрес.
- Товары в нескольких разделах указывают на один адрес.
- Нет сочетания canonical на другую страницу и noindex.
- Страницы пагинации настроены по одной выбранной стратегии.
- В sitemap.xml только канонические адреса.
- Внутренние ссылки ведут на канонические адреса, а не на дубли.
Частые вопросы
Что такое rel canonical простыми словами?
Это подсказка поисковику: «у этой страницы есть копии, основной считай вот этот адрес». Она помогает склеить дубли, не удаляя их и не перенаправляя пользователя.
Обязательно ли ставить canonical на страницу, у которой нет дублей?
Не обязательно, но полезно. Самоссылающийся canonical защищает от дублей, которые появятся позже: из-за меток в рекламе, параметров или ошибок в ссылках. SEO-плагины и Битрикс ставят его автоматически.
Какой canonical URL указывать: с косой чертой в конце или без?
Тот, по которому страница реально открывается с кодом 200. Если сайт использует адреса со слешем на конце, canonical тоже со слешем. Второй вариант должен перенаправляться на первый редиректом.
Учитывает ли Яндекс атрибут canonical?
Да, Яндекс учитывает rel canonical и показывает склеенные страницы в Вебмастере как неканонические. Для GET-параметров, которые не меняют содержимое, Яндекс дополнительно поддерживает директиву Clean-param в robots.txt.
Можно ли ставить canonical на другой домен?
Можно, например, если одна и та же статья опубликована на двух ваших сайтах. Поисковик будет считать основной версию на указанном домене. Но это всё равно подсказка: при сильных сигналах в пользу копии её могут проигнорировать.
Почему Google выбрал другой канонический адрес?
Чаще всего из-за противоречивых сигналов: внутренние ссылки ведут на дубль, в sitemap указан не тот адрес, страницы различаются слишком сильно или основная отдаёт ошибку. Проверьте все эти места и приведите их к одному адресу.
Как проверить canonical на всём сайте?
Для небольших сайтов — выборочно через исходный код и «Проверку URL» в Search Console. Для каталогов и магазинов — краулером, который выгрузит canonical для каждого адреса и покажет ошибки списком.
Нужен ли canonical на страницах пагинации?
Нужен, но стратегию выбирают один раз и применяют ко всему сайту. Самый безопасный вариант — каждая страница пагинации ссылается сама на себя, а её title отличается номером страницы.
Битрикс canonical выводит неправильный адрес — что делать?
Проверьте шаблон канонического URL в настройках инфоблока и параметры компонента на детальной странице. Если canonical добавляется ещё и в шаблоне сайта или модулем, отключите лишний источник, чтобы в коде остался один тег.
Итог
Rel canonical — простой по форме, но важный элемент технического SEO. Он склеивает дубли, которые рождаются из параметров, сортировок, категорий и пагинации, и помогает поисковику индексировать нужные адреса. Ставить его нужно на все индексируемые страницы, а для устаревших адресов использовать редирект.
Большинство проблем с canonical — не в самой настройке, а в противоречиях: два тега, ссылки на дубли, noindex на основной странице, адрес с другим зеркалом. Проверяйте canonical после каждого значимого изменения сайта и сверяйте с тем, что показывают Search Console и Яндекс Вебмастер.
Если в панелях вебмастеров много «копий без канонического варианта» или страницы выпадают из индекса, я как частный разработчик проведу аудит, найду источники дублей и настрою canonical, редиректы и индексацию на WordPress или 1С-Битрикс. Работаю напрямую, без посредников. Подробнее — на странице аудит сайта.


