Один и тот же товар в Битрикс часто доступен по нескольким адресам: из разных разделов, с параметрами сортировки и фильтра, с ЧПУ и без. Задача canonical — указать поисковику единственный «правильный» URL карточки, чтобы вес не размывался, а в выдачу попадала нужная страница.
Что такое canonical и зачем он в каталоге
Тег <link rel="canonical" href="..."> в секции <head> сообщает поисковой системе, какой из нескольких одинаковых или похожих URL считать основным. Все прочие адреса воспринимаются как копии основного, а их поведенческие и ссылочные сигналы приписываются каноническому.
В интернет-магазине на 1С-Битрикс дубли карточек товара возникают почти неизбежно: товар лежит в нескольких разделах, доступен через умный фильтр, участвует в акциях и подборках. Без явного указания canonical поисковик выбирает основной URL сам — и не всегда так, как выгодно магазину.
- Не размывается ссылочный вес между копиями одной карточки.
- В индекс попадает чистый ЧПУ-адрес, а не служебный с GET-параметрами.
- Снижается риск «каннибализации», когда несколько URL конкурируют по одному запросу.
Откуда берутся дубли URL товара
Прежде чем настраивать canonical, полезно понимать типовые источники дублей в Битрикс. Чаще всего это следствие гибкости системы разделов и компонента catalog.
| Тип дубля | Пример URL |
|---|---|
| Товар в нескольких разделах | /catalog/smartfony/iphone-15/ и /catalog/apple/iphone-15/ |
| GET-параметры сортировки и постраничности | /catalog/iphone-15/?sort=price&PAGEN_1=2 |
| Умный фильтр (SMART-фильтр) | /catalog/filter/brand-apple/apply/ |
| UTM-метки и параметры рекламы | /catalog/iphone-15/?utm_source=direct |
| Дубль с закрывающим и без закрывающего слэша | /catalog/iphone-15 и /catalog/iphone-15/ |
Отдельная история — товар с торговыми предложениями (SKU). Если выбор цвета или размера меняет URL через параметр, каждая комбинация формально становится отдельным адресом одной карточки.
Как выбрать основной адрес карточки
Основным (каноническим) стоит назначать самый короткий, стабильный и человекопонятный URL. В большинстве проектов это «плоский» адрес детальной страницы вида /catalog/#ELEMENT_CODE#/ без привязки к конкретному разделу, либо адрес по «главному» разделу товара.
- Определите единый шаблон детальной страницы в настройках инфоблока — вкладка «ЧПУ», поле
DETAIL_PAGE_URL. - Решите, привязываете ли карточку к разделу. Если товар в нескольких разделах — канонический URL лучше делать не зависящим от раздела.
- Убедитесь, что выбранный шаблон совпадает с настройкой в компоненте
bitrix:catalog(параметрDETAIL_URLв комплексном компоненте).
Где Битрикс выставляет canonical
Штатный компонент bitrix:catalog.element (и комплексный bitrix:catalog) умеет проставлять canonical автоматически. Ключ — параметр SET_CANONICAL_URL. Когда он включён, компонент добавляет в шапку тег со ссылкой на DETAIL_PAGE_URL текущего элемента.
Включить можно в визуальном редакторе компонента (раздел параметров «Дополнительные настройки») либо прямо в вызове:
'SET_CANONICAL_URL' => 'Y'
Если детальная страница выводится через собственный код или API D7 (\Bitrix\Iblock\ElementTable), canonical добавляют вручную через объект страницы:
$APPLICATION->SetPageProperty('canonical', $detailUrl);
а в шаблоне сайта в <head> выводят это свойство тегом <link rel="canonical">. Абсолютный URL (со схемой и доменом) предпочтительнее относительного.
SET_CANONICAL_URL, и логику шаблона, в <head> может оказаться два тега canonical — это ошибка, поисковик проигнорирует оба.Умный фильтр, сортировка и GET-параметры
Canonical решает проблему дублей самой карточки, но страницы каталога с фильтром и сортировкой требуют отдельного внимания. Здесь применяют комбинацию инструментов.
- Сортировка и постраничность (
sort,PAGEN_1): такие URL закрывают от индексации или задают им canonical на «чистую» страницу раздела. - Умный фильтр: в компоненте
bitrix:catalog.smart.filterесть механизм SEO-страниц фильтра. Продвигаемые комбинации получают собственный canonical и мета-теги, непродвигаемые — закрываются черезrobots.txtили мета-тегnoindex. - UTM и рекламные метки: не должны влиять на canonical — тег обязан указывать на адрес без параметров.
Дополнительно директивы Clean-param в robots.txt и корректная обработка слэша на уровне .htaccess снимают значительную часть технических дублей ещё до участия canonical.
Как проверить, что всё работает
После настройки обязательно убедитесь, что тег присутствует и указывает верно — на живых страницах, а не только в теории.
- Откройте карточку товара и посмотрите исходный код: в
<head>должен быть ровно один<link rel="canonical">с ожидаемым абсолютным URL. - Зайдите на ту же карточку из другого раздела и с параметрами (
?sort=...,?utm_source=...) — canonical должен оставаться тем же. - Проверьте несколько типов страниц: обычный товар, товар с торговыми предложениями, товар в двух разделах.
- В Яндекс.Вебмастере и Google Search Console отслеживайте статусы «Страница со ссылкой rel=canonical» и отчёты о дублях.
Типичные ошибки
Большинство проблем с canonical — не в отсутствии тега, а в его неверном значении. Вот что встречается чаще всего на проектах Битрикс.
- Canonical на самого себя с параметрами: страница
?sort=priceуказывает canonical на?sort=priceвместо чистого URL. - Относительный адрес вместо абсолютного — часть систем трактует его нестабильно.
- Несовпадение протокола или www: canonical ведёт на
http://или на другой хост, чем основной домен. - Два тега canonical из-за конфликта штатного компонента и логики шаблона.
- Canonical на несуществующую или закрытую в noindex страницу — сигнал полностью аннулируется.
- Битые ЧПУ:
DETAIL_PAGE_URLв инфоблоке иDETAIL_URLв компоненте задают разные шаблоны.
Итог
Основная страница товара среди дублей выбирается через rel=canonical, который в 1С-Битрикс проще всего включить параметром SET_CANONICAL_URL компонента каталога, а в кастомных решениях — через SetPageProperty('canonical', ...). Главное условие успеха — согласованность: один короткий абсолютный URL карточки, на который ведут и canonical, и все внутренние ссылки, при закрытых от индексации параметрах сортировки и фильтра.
Если каталог большой, товары лежат в нескольких разделах и активно используется умный фильтр, ручная настройка легко даёт противоречивые сигналы. Мы в B2Bsite приводим ЧПУ и canonical к единой схеме, настраиваем SEO-страницы фильтра и проверяем индексацию — в рамках разработки и поддержки магазина на Битрикс. Это снимает дубли карточек и помогает поисковику показывать именно ту страницу товара, которая нужна.
Частые вопросы
Чем canonical отличается от 301-редиректа?
Редирект физически перебрасывает пользователя и робота на другой URL, а canonical оставляет все адреса доступными, но указывает основной для индексации. Редирект применяют, когда старый адрес не нужен, canonical — когда дубли должны оставаться рабочими.
Как включить canonical в штатном компоненте каталога?
В параметрах компонента bitrix:catalog.element или комплексного bitrix:catalog включите SET_CANONICAL_URL со значением Y. Компонент сам добавит тег со ссылкой на DETAIL_PAGE_URL текущего товара.
Какой URL товара делать каноническим, если он в нескольких разделах?
Лучше выбрать адрес, не зависящий от раздела, — например, плоский /catalog/КОД-ТОВАРА/. Тогда один товар всегда имеет один основной URL независимо от того, из какого раздела на него перешли.
Нужен ли canonical для страниц умного фильтра?
Да, но по другой логике: продвигаемым комбинациям фильтра задают собственный canonical и мета-теги через механизм SEO-страниц, а непродвигаемые закрывают от индексации в robots.txt или мета-тегом noindex.
Почему поисковик игнорирует мой canonical?
Canonical — рекомендация, а не команда. Его игнорируют, если контент по разным URL сильно различается, внутренние ссылки массово ведут на другой адрес или canonical указывает на закрытую в noindex страницу.
Может ли быть два тега canonical на странице?
Не должно. Если штатный компонент и шаблон одновременно выводят canonical, в head окажется два тега, и поисковик проигнорирует оба. Оставьте только один источник canonical.
Влияют ли UTM-метки на canonical?
Не должны. Canonical обязан указывать на чистый адрес карточки без GET-параметров, включая UTM. Тогда все переходы с рекламы сводятся к одному основному URL.
Как быстро проверить canonical на сайте?
Откройте исходный код страницы товара и найдите в head тег link rel=canonical — он должен быть один и содержать ожидаемый абсолютный URL. Затем зайдите на ту же карточку с параметрами и убедитесь, что значение не изменилось.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.