ЧПУ (человекопонятный URL) делает адреса разделов инфоблоков читаемыми и понятными поисковым системам. В 1С-Битрикс это связка из символьных кодов разделов, маски URL в компоненте и правил обработки SEF.
Что такое ЧПУ раздела инфоблока
ЧПУ (человекопонятный URL, в терминах Битрикс — SEF, Search Engine Friendly) — это адрес вида /catalog/smartfony/apple/ вместо технического /catalog/index.php?SECTION_ID=42.
Для разделов инфоблоков ЧПУ строится из символьных кодов (поле CODE раздела) по всей цепочке вложенности. Итоговый адрес собирается по маске, заданной в параметрах компонента, который выводит инфоблок.
- Символьный код раздела — латиница, цифры, дефис и подчёркивание, например
smartfony. - Маска URL раздела — шаблон вида
#SECTION_CODE_PATH#/, который подставляет путь из кодов. - SEF-режим компонента — включённая опция «Включить поддержку ЧПУ».
Включение ЧПУ в комплексном компоненте
Основная работа ведётся в комплексном компоненте (например, bitrix:catalog или bitrix:news), который выводит инфоблок на публичной странице.
- Откройте публичную страницу раздела в режиме Правки.
- Наведите на область компонента и выберите Изменить параметры компонента.
- В группе настроек «Настройки ЧПУ (SEF)» включите опцию «Включить поддержку ЧПУ».
- Укажите корневой каталог для ЧПУ — базовый путь, например
/catalog/. - Проверьте шаблоны путей для разделов, элементов и постраничной навигации.
- Сохраните параметры компонента и страницу.
После включения SEF Битрикс сам создаст (или предложит создать) правило обработки в .htaccess либо через модуль преобразования путей.
Маски URL для разделов
Шаблоны адресов настраиваются в той же группе «Настройки ЧПУ (SEF)». Для разделов ключевой параметр — «Путь к странице раздела».
| Параметр | Типичное значение | Результат |
|---|---|---|
| Список разделов | #SECTION_CODE_PATH#/ | /catalog/smartfony/apple/ |
| Страница элемента | #SECTION_CODE_PATH#/#ELEMENT_CODE#/ | /catalog/smartfony/apple/iphone-15/ |
| Постраничная навигация | #SECTION_CODE_PATH#/page-#PAGEN#/ | /catalog/smartfony/page-2/ |
Переменная #SECTION_CODE_PATH# подставляет всю цепочку символьных кодов от корня инфоблока до текущего раздела. Именно она отвечает за вложенность ЧПУ.
Символьные коды разделов и автогенерация
Чтобы ЧПУ формировались корректно, у каждого раздела должен быть заполнен символьный код. Задать его можно вручную в карточке раздела: Контент → Инфоблоки → Типы инфоблоков → [ваш инфоблок] → раздел → вкладка «Раздел», поле «Символьный код».
Для массового заполнения включите автогенерацию в настройках инфоблока:
- Откройте настройки инфоблока: Контент → Инфоблоки → Типы инфоблоков → выберите инфоблок → Изменить.
- Перейдите на вкладку «ЧПУ» (или «SEF» в зависимости от версии).
- В блоке «Настройки для разделов» включите «Транслитерация» из названия.
- Задайте правила: замена пробелов на дефис, приведение к нижнему регистру, ограничение длины.
- Сохраните. Новые разделы получат код автоматически; существующие можно обновить массово.
При включённой транслитерации раздел «Смартфоны» получит код smartfony, а адрес — /catalog/smartfony/.
Правила обработки путей (mod_rewrite)
Чтобы веб-сервер понимал ЧПУ, нужно правило обработки. Проверьте его в Настройки → Настройки продукта → Обработка ЧПУ (модуль urlrewrite).
Для комплексного компонента правило обычно имеет вид:
- Условие (CONDITION):
#^/catalog/# - Файл (PATH):
/catalog/index.php
Если правило не создалось автоматически, добавьте его вручную кнопкой «Добавить правило». Также убедитесь, что в корне сайта активен .htaccess с блоком mod_rewrite, а на Nginx проброшены нужные location.
Частые ошибки
Проблемы с ЧПУ разделов почти всегда сводятся к нескольким типовым причинам:
- Пустой символьный код. Если у раздела нет кода, вместо ЧПУ Битрикс отдаёт адрес с
SECTION_IDили возвращает 404. - Дубли кодов на одном уровне. Два раздела с кодом
appleвнутри одного родителя ломают маршрутизацию — коды должны быть уникальны в пределах родителя. - Не совпадает корневой каталог. Путь в параметрах компонента и в правиле
urlrewriteдолжны указывать на одну папку. - Кириллица в коде. Символьный код должен содержать только латиницу, цифры, дефис и подчёркивание.
- Не сброшен кэш. После смены масок очистите кэш компонентов: Настройки → Настройки продукта → Автокэширование.
- Отсутствует правило обработки. При выключенном
mod_rewriteЧПУ не работают, даже если коды заполнены.
После смены символьных кодов настройте 301-редиректы со старых адресов, чтобы не потерять индексацию и вес страниц.
Проверка результата
После настройки убедитесь, что ЧПУ работают корректно:
- Откройте раздел на публичной части и проверьте адрес в строке браузера — он должен быть читаемым, без
?SECTION_ID=. - Перейдите по вложенным разделам: путь должен наращивать цепочку кодов.
- Проверьте, что старые технические адреса отдают 301-редирект на ЧПУ.
- Убедитесь, что в
sitemap.xmlпопадают именно ЧПУ-адреса разделов. - Прогоните разделы краулером на битые ссылки и дубли.
Итог
ЧПУ для разделов инфоблоков в 1С-Битрикс — это три согласованных элемента: заполненные символьные коды разделов, корректные маски URL в параметрах компонента и активное правило обработки путей на веб-сервере.
Настроив транслитерацию кодов и единый корневой каталог, вы получите читаемые адреса вида /catalog/smartfony/apple/. Не забудьте про 301-редиректы при смене кодов и регулярную проверку индексации — это сохранит SEO-позиции при переходе на ЧПУ.