Налаштування генерації URL для розділів і елементів 1С-Бітрікс
Деякрасні URL вигляду /bitrix/components/bitrix/catalog/detail.php?ID=123 або /catalog/index.php?SECTION_ID=45 — результат роботи компонентів без SEF-режиму (ЧПУ). Налаштування генерації URL для розділів і елементів інфоблока — одна з перших задач при запуску каталогу.
SEF-режим та шаблони URL
У Бітриксі «людиночитаємі URL» реалізовані через SEF (Search Engine Friendly) режим компонента. У SEF-режимі компонент отримує управління над URL через правила маршрутизації.
У параметрах компонента bitrix:catalog (або bitrix:iblock.list) SEF-налаштування:
$APPLICATION->IncludeComponent('bitrix:catalog', '', [
'SEF_MODE' => 'Y',
'SEF_FOLDER' => '/catalog/', // папка, в якій працює компонент
'SEF_URL_TEMPLATES' => [
'list' => '', // /catalog/
'section' => '#SECTION_CODE#/', // /catalog/obuv/
'element' => '#SECTION_CODE#/#ELEMENT_CODE#/', // /catalog/obuv/krossovki/
],
]);
Змінні у шаблонах URL
Доступні змінні для шаблонів:
| Змінна | Опис | Джерело |
|---|---|---|
#ELEMENT_ID# |
ID елемента | b_iblock_element.ID |
#ELEMENT_CODE# |
Символьний код | b_iblock_element.CODE |
#SECTION_ID# |
ID розділу | b_iblock_section.ID |
#SECTION_CODE# |
Символьний код розділу | b_iblock_section.CODE |
#IBLOCK_TYPE_ID# |
Тип інфоблока | b_iblock.IBLOCK_TYPE_ID |
#IBLOCK_CODE# |
Символьний код інфоблока | b_iblock.CODE |
Налаштування URL безпосередньо в інфоблоці
Поміж параметрами компонента, URL-шаблони задаються в налаштуваннях інфоблока:
Вміст → Інфоблоки → [інфоблок] → Налаштування:
-
URL детальної сторінки — шаблон для
DETAIL_PAGE_URL -
URL сторінки списку — шаблон для
LIST_PAGE_URL -
URL сторінки розділу — шаблон для
SECTION_PAGE_URL
Приклад: /catalog/#SECTION_CODE#/#ELEMENT_CODE#/
Ці значення зберігаються в b_iblock.DETAIL_PAGE_URL, b_iblock.SECTION_PAGE_URL і використовуються методами CIBlockElement::GetDetailPageUrl.
Генерація символьних кодів
Символьний код (CODE) — важлива частина URL. Без нього URL буде містити #ELEMENT_ID#. Налаштування автоматичної генерації коду:
Вміст → Інфоблоки → [інфоблок] → Поля → Символьний код:
- Транслітерувати з — вибрати поле (зазвичай «Назва»)
- Унікальний — включити, щоб при збігу додавався суфікс
- Максимальна довжина — рекомендується 100 символів
При редагуванні елемента код генерується автоматично. Для існуючих елементів без коду — масове заповнення через адміністративний розділ (Виділити все → Встановити символьний код).
Правила переадресації при зміні URL
При зміні символьного коду товару старий URL перестає працювати. Для SEO потрібно налаштувати 301 редирект. Варіанти:
- Модуль
seo→ «URL для 301 редиректів» — зберігає історію URL елементів уb_seo_url_rewrite - Обробник
OnBeforeIBlockElementUpdate— перехопити зміну коду та створити правило редиректа - Ручне додавання через
Налаштування → URL редиректи
SEF та ЧПУ для торгових пропозицій (SKU)
Для магазинів з торговими пропозиціями URL будується за основним товаром. Вибір конкретного SKU через GET-параметр (?sku=123) або через JS при виборі характеристик. Конкретний SKU зазвичай не має окремого URL.
Тривалість виконання
Налаштування SEF-режиму, шаблонів URL та масова генерація символьних кодів — 3–5 годин. Налаштування 301 редиректів для існуючих елементів при зміні URL-структури — 2–4 години додатково.







