Канонический URL (rel="canonical") сообщает поисковым системам, какой адрес страницы считать основным. Это ключевой инструмент борьбы с дублями в каталоге, фильтрах и постраничной навигации 1С-Битрикс.
Что такое канонический URL и зачем он нужен
Тег <link rel="canonical" href="..."> размещается в секции <head> и указывает поисковой системе предпочтительный адрес документа. Если один и тот же контент доступен по нескольким URL, поисковик объединяет их сигналы на канонической странице.
Типовые источники дублей на сайтах под управлением 1С-Битрикс:
- UTM-метки и другие GET-параметры (
?utm_source=...,?from=...); - страницы умного фильтра и сортировки каталога;
- постраничная навигация (
?PAGEN_1=2); - адреса со слешем и без него, HTTP и HTTPS, с
wwwи без; - один товар, доступный в нескольких разделах инфоблока.
Корректный canonical помогает избежать размывания релевантности и снижает риск попадания дублей в индекс.
Способы задания canonical в 1С-Битрикс
Платформа не выводит канонический тег автоматически на всех страницах, поэтому используют несколько подходов в зависимости от типа страницы.
| Тип страницы | Способ задания canonical |
|---|---|
| Карточка товара / элемента | Свойство элемента или шаблон компонента catalog.element |
| Раздел каталога | Параметры компонента catalog, страницы фильтра |
| Статические страницы | Метод API $APPLICATION->SetPageProperty() |
| Постраничная навигация | Настройка компонента постраничной навигации |
Ниже разберём каждый из способов на практике.
Вывод canonical через API и шаблон
Самый универсальный способ — задать свойство страницы и вывести его в шапке шаблона. В нужном месте страницы или компонента установите свойство:
$APPLICATION->SetPageProperty("canonical", "https://site.ru/catalog/tovar/");
Затем в файле header.php вашего шаблона внутри секции <head> выведите его:
- Откройте Контент → Структура сайта и найдите файл шаблона (
/local/templates/шаблон/header.php). - Добавьте проверку и вывод свойства:
if ($canonical = $APPLICATION->GetPageProperty("canonical")) { echo '<link rel="canonical" href="'.$canonical.'">'; } - Сохраните файл и проверьте исходный код страницы.
Для карточек товара свойство удобно заполнять из символьного кода элемента, формируя абсолютный URL с учётом протокола и домена.
Canonical для каталога, фильтра и пагинации
Страницы умного фильтра генерируют множество комбинаций URL. Чтобы они не плодили дубли, канонический адрес обычно указывают на базовый раздел каталога.
- Умный фильтр. В настройках компонента
catalog.smart.filterи раздела каталога включите SEO-режим ЧПУ для фильтра; для непосадочных комбинаций canonical ведёт на раздел без параметров. - Постраничная навигация. В параметрах компонента постраничной навигации включите опцию вывода канонической ссылки, чтобы страницы
?PAGEN_1=Nссылались на первую страницу раздела. - Сортировка. Параметры сортировки (
?sort=...&order=...) в canonical не включают — указывают чистый URL раздела.
Проверьте, что при включённом ЧПУ реальные посадочные страницы фильтра ссылаются сами на себя, а не на родительский раздел, иначе они не будут индексироваться.
Роль модуля SEO и настроек модулей
Модуль «Поисковая оптимизация» (seo) напрямую не рисует тег canonical для каждой страницы, но задаёт условия, влияющие на дубли и склейку:
- управление
robots.txtи sitemap.xml для контроля индексации; - шаблоны мета-тегов разделов и элементов, снижающие количество одинаковых
title/description; - настройки ЧПУ, устраняющие технические параметры из адресов.
Дополнительно проверьте Настройки → Настройки продукта → Сайты → Список сайтов: единый основной домен и протокол (HTTPS) — обязательное условие корректных абсолютных canonical-ссылок. Настройку принудительного HTTPS и главного зеркала выполняют на уровне веб-сервера и в настройках главного модуля.
Частые ошибки при настройке canonical
Ошибки в канонических URL нередко вредят больше, чем их отсутствие. Наиболее распространённые случаи:
- Относительный URL. В
hrefнужен абсолютный адрес с протоколом и доменом, а не/catalog/tovar/. - Несоответствие протокола. Canonical ведёт на
http://, а сайт работает поhttps://— поисковик видит противоречие. - Canonical на закрытую страницу. Указан адрес, запрещённый в
robots.txtили отдающий 404/301. - Все страницы фильтра ссылаются на раздел. В индекс не попадают нужные посадочные страницы.
- Несколько тегов canonical. Дублирование
<link rel="canonical">в шаблоне и компоненте — поисковик игнорирует оба. - Смешение слеша. Canonical без завершающего слеша при настроенном ЧПУ со слешем создаёт новый дубль.
После внедрения обязательно проверьте несколько типов страниц через просмотр исходного кода и панели вебмастеров.
Проверка результата
Убедитесь, что canonical проставлен корректно:
- Откройте страницу и в исходном коде найдите единственный тег
<link rel="canonical">. - Проверьте, что адрес абсолютный, с правильным протоколом и слешем.
- Перейдите по canonical-адресу — он должен отдавать код 200, а не редирект или 404.
- Для дублей (UTM, пагинация, сортировка) canonical должен указывать на основную страницу.
- Проверьте отчёт по дублям и каноническим URL в панелях Яндекс.Вебмастер и Google Search Console.
Итог
Канонические URL — базовый инструмент технического SEO в 1С-Битрикс. Задавайте абсолютные адреса с корректным протоколом, аккуратно настраивайте canonical для фильтра и пагинации, исключайте GET-параметры и следите за единственностью тега.
В связке с ЧПУ, редиректами и настройкой robots.txt это устраняет дубли и укрепляет позиции основных страниц каталога.