Технические дубли страниц — главный враг товарных витрин. Когда товар или категория доступны по нескольким адресам (с www и без него, по http:// и https://, со слешем и без, с параметрами ?sort=price), поисковые системы распыляют ссылочный вес между копиями. Ни одна из версий не займет высокий топ.
В этом алгоритме разобран регламент технического аудита: настройка 301-редиректов в .htaccess, управление rel="canonical", обработка пагинации и исключение Soft 404.
Пререквизиты и входные данные
Перед запуском аудита подготовьте:
- Доступ к файлу
.htaccessв корневой директорииpublic_htmlчерез файловый менеджер Beget или FTP. - Права администратора в панели управления CMS «1С-Битрикс».
- Инструмент проверки заголовков сервера (консольная утилита
curlили вкладка Network в DevTools браузера).
Линейный регламент выполнения
Шаг 1. Настройка главного зеркала и протокола HTTPS
Откройте файл .htaccess в корне сайта и добавьте директивы принудительной переадресации на единый канонический протокол и зеркало без поддомена www:
RewriteEngine On
# 301-редирект с HTTP на HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# 301-редирект с WWW на версию без WWW
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Шаг 2. Унификация завершающего слеша в URL
Для предотвращения дублирования адресов вида site.ru/catalog и site.ru/catalog/ добавьте правило автоматического добавления замыкающего слеша:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ https://%{HTTP_HOST}/$1/ [L,R=301]
Шаг 3. Включение канонических адресов в компоненте каталога
В каталогах e-commerce один и тот же товар может находиться одновременно в нескольких разделах (например, в «Бензиновые генераторы» и в «Спецпредложения»). Чтобы поисковые системы знали, какой адрес является основным:
- В публичной части сайта откройте любую детальную карточку товара с включенным «Режимом правки».
- Нажмите на шестеренку всплывающей панели для открытия настроек компонента «Каталог».
- В блоке «Настройки детального показа» найдите параметр «Устанавливать канонический URL» и активируйте его.
- В поле «Канонический URL» укажите шаблон:
#SERVER_NAME##SITE_DIR#catalog/#SECTION_CODE#/#ELEMENT_CODE#/. - Теперь во всех дублирующих путях в коде страницы будет присутствовать тег
<link rel="canonical" href="...">, указывающий поисковикам на первоисточник.

Шаг 4. Оптимизация страниц пагинации
Листинги каталога разбиваются на страницы (?PAGEN_1=2, ?PAGEN_1=3):
- В настройках SEO инфоблока добавьте модификатор номера страницы к Title: если параметр
PAGEN_1больше 1, к заголовку автоматически дописывается суффикс «— Страница 2». Это исключает ошибку одинаковых метатегов на страницах постраничной навигации. - В коде страниц пагинации проверьте наличие тегов навигации
rel="next"иrel="prev".
Шаг 5. Верификация корректности страницы 404 Not Found
- Запросите заведомо несуществующий адрес:
https://ваш-домен.ru/page-not-exist/. - Проверьте HTTP-код ответа сервера через Network в DevTools. Сервер должен возвращать строгий статус 404 Not Found, а не 200 OK.
- Проверьте оформление страницы
404.php: на ней должны присутствовать строка поиска по каталогу и ссылки на главные разделы витрины, чтобы удержать пользователя на сайте.
Перед сохранением файла .htaccess всегда делайте резервную копию оригинала. Опечатка в регулярных выражениях директив RewriteRule вызовет циклическую ошибку ERR_TOO_MANY_REDIRECTS, заблокировав доступ ко всему сайту.
Контрольные точки и проверка работоспособности
- Запрос
http://ваш-домен.ruперенаправляет с кодом 301 наhttps://ваш-домен.ru/. - Запрос
https://www.ваш-домен.ru/перенаправляет с кодом 301 на версию безwww. - В исходном коде детальных карточек товаров присутствует корректный тег
<link rel="canonical" ...>. - Несуществующие страницы отдают HTTP-статус 404.
Протокол устранения неисправностей
| Симптом | Причина | Способ решения |
|---|---|---|
Ошибка 500 Internal Server Error после правки .htaccess | Синтаксическая ошибка в модуле mod_rewrite | Проверьте пробелы и спецсимволы в правилах редиректа; восстановите рабочий бэкап файла. |
| Поисковый робот видит Soft 404 | Страница ошибки 404 возвращает код 200 OK | В начале файла 404.php принудительно добавьте вызов CHTTP::SetStatus("404 Not Found");. |
| Карточки товаров ссылаются сами на себя как неканонические | Ошибка в маске формирования URL раздела в инфоблоке | Проверьте поле «URL страницы детального просмотра» в свойствах инфоблока. |
