#база знаний

Canonical в Битрикс: пошаговая настройка дублей URL

Canonical в Битрикс нужен не для галочки в SEO-аудите. Он помогает поисковику понять, какая версия страницы главная, когда один товар, раздел или материал открывается по нескольким адресам.

Canonical в Битрикс: пошаговая настройка дублей URL
Если коротко

Canonical не чинит все дубли подряд. Если лишний адрес не должен открываться, нужен 301-редирект. Если страница остается доступной, но главной должна быть другая версия, используем rel="canonical".

На сайтах Битрикс дубли URL появляются легко. Один и тот же товар может открываться из разных разделов каталога. Раздел может быть доступен с параметрами сортировки. Главная страница иногда открывается с /index.php. Домен может отвечать и с www, и без него.

Для пользователя это часто выглядит незаметно: страница открылась, товар на месте, корзина работает. Для SEO это уже проблема. Поисковику приходится выбирать, какой адрес считать основным, а какие считать дублями.

Ниже — нормальный порядок настройки canonical в Битрикс: сначала логика URL, потом настройки каталога или модуль, потом проверка на реальных страницах.

Сначала решите, что считать главным URL

Canonical нельзя настраивать вслепую. Сначала нужно договориться, какая версия адреса для сайта основная.

Проверьте базовые решения:

  • сайт работает только на https;
  • домен используется с www или без www, но не в двух вариантах сразу;
  • внутренние ссылки ведут на одну версию адресов;
  • в sitemap попадают только основные URL;
  • товары из нескольких разделов имеют понятный основной путь;
  • страницы фильтра и сортировки не спорят с основными разделами.

Если sitemap, меню и canonical указывают на разные URL, поисковику придется разбираться самому. Иногда он выберет правильную страницу. Иногда — нет.

Где нужен редирект, а где canonical

Canonical часто пытаются использовать как универсальное лекарство от дублей. Это ошибка.

301-редирект нужен там, где лишняя версия страницы вообще не должна открываться:

  • http://site.ru/ должен вести на https://site.ru/;
  • https://www.site.ru/ должен вести на выбранный основной домен;
  • /catalog/index.php должен вести на /catalog/;
  • старый адрес страницы окончательно переехал на новый.

Canonical нужен там, где страница может оставаться доступной, но для индексации главной должна быть другая версия:

  • товар открывается из нескольких разделов;
  • страница доступна с параметрами сортировки;
  • у фильтра есть похожие URL, которые не должны конкурировать с основной страницей;
  • материал или посадочная страница доступны по нескольким путям.
Главная мысль

Редирект меняет адрес. Canonical оставляет страницу доступной, но подсказывает поисковику основной URL. Если перепутать эти инструменты, дубли формально останутся на месте.

Настройка canonical в каталоге Битрикс

Если речь про товары, начните со штатных настроек каталога. В компоненте каталога есть параметр DETAIL_SET_CANONICAL_URL. Он отвечает за установку канонического URL для детальной страницы товара.

Через режим правки это обычно делается так:

  • откройте страницу каталога или карточку товара;
  • включите режим правки;
  • откройте параметры компонента “Каталог”;
  • найдите настройку “Устанавливать канонический URL”;
  • включите ее и сохраните параметры.

В коде вызова компонента это выглядит так:

PHP
"DETAIL_SET_CANONICAL_URL" => "Y",

После включения настройки обязательно проверьте товары, которые находятся в нескольких разделах. Если основной раздел выбран неверно, canonical может вести не туда, куда нужно SEO-логике сайта.

Когда подойдет модуль BX365

Если на проекте нет разработчика или нужно быстро закрыть базовую задачу, можно использовать готовое решение из Marketplace Битрикс: Canonical-ссылки BX365

Модуль полезен, когда сайт типовой, а задача простая: вывести canonical на страницах без ручной доработки шаблонов.

Но модуль не заменяет SEO-логику. После установки все равно нужно проверить:

  • главную страницу;
  • разделы каталога;
  • карточки товаров;
  • страницы с параметрами;
  • страницы фильтра;
  • ситуации, где товар лежит в нескольких разделах.

Если проект нестандартный, с умным фильтром, посадочными страницами под SEO или сложной структурой каталога, одного модуля может быть мало. В таких случаях canonical лучше проектировать вместе со структурой индексации.

Canonical через код

Для статических страниц, своих компонентов и нестандартных шаблонов canonical часто задают через свойство страницы.

Пример для конкретной страницы:

PHP
<?php
$APPLICATION->SetPageProperty(
    "canonical",
    "https://site.ru/about/"
);
?>

Пример для шаблона, где URL собирается автоматически:

PHP
<?php
$canonical = "https://site.ru" . $APPLICATION->GetCurPage(false);
$APPLICATION->SetPageProperty("canonical", $canonical);
?>

В canonical не должны попадать UTM-метки, сортировки, случайные GET-параметры и временные URL. Каноническая ссылка должна вести на чистую основную страницу.

И важное правило для Битрикс: ради canonical не правим ядро. Код должен жить в проектной зоне: /local/templates/, своем компоненте, модуле или подключаемом классе.

Редиректы для зеркал сайта

Если сайт открывается по нескольким доменным версиям, canonical не должен быть единственной защитой. Зеркала лучше закрывать 301-редиректом.

Перед правкой сделайте копию .htaccess. Ошибка в этом файле может уронить сайт.

Пример: перенаправляем www на домен без www.

.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301]

После этого проверьте все варианты домена: http, https, www и версию без www. Лишние варианты должны приводить к одному конечному адресу.

Что проверить после настройки

После настройки не стоит верить только админке или модулю. Откройте реальные страницы и проверьте результат вручную.

  • На странице должен быть один тег rel="canonical".
  • URL из canonical должен открываться с кодом 200 OK.
  • Canonical не должен вести на страницу с редиректом.
  • Canonical должен совпадать с основной версией URL в sitemap.
  • Для товаров из разных разделов canonical должен вести на выбранный основной путь.
  • Страницы сортировки и фильтра нужно проверять отдельно.

Для быстрой проверки ответа сервера можно использовать:

.htaccess
curl -I https://www.site.ru/catalog/

Хороший результат — один переход на правильный адрес или сразу ответ 200 OK на основной версии страницы. Длинные цепочки редиректов лучше убрать.

Типичные ошибки

  • На странице выводится два canonical: один из модуля, второй из шаблона.
  • Canonical ведет на URL, который сам делает редирект.
  • Canonical указывает на 404 или закрытую от индексации страницу.
  • В canonical попали UTM-метки или параметры сортировки.
  • Sitemap, внутренние ссылки и canonical ведут на разные версии URL.
  • Для фильтров включили canonical, но не продумали, какие страницы должны индексироваться.

Короткий вывод

Настройка canonical в Битрикс начинается не с модуля и не с правки кода. Сначала нужно понять, какие URL должны быть основными, а какие лишними.

Дальше все проще: зеркала закрываем 301-редиректом, товары и разделы приводим к понятной структуре, canonical выводим штатной настройкой, модулем или кодом в проектной зоне. После этого проверяем не одну страницу, а разные типы страниц сайта.

Так canonical работает как часть SEO-логики, а не как случайный тег в шапке сайта.

Сайт использует файлы cookie, обрабатываемые вашим браузером. Подробнее об этом вы можете узнать в Политике обработки персональных данных.
ПринятьНастроитьОтклонить