Проектування навігаційної структури сайту 1С-Бітрікс
Навігація на Бітрікс-сайті — це не лише меню, яке бачить користувач. Це файлова структура директорій у local/ та bitrix/, логіка роутингу через urlrewrite.php, схема хлібних крихт через bitrix:breadcrumb, і структура розділів інфоблоків, яка цю навігацію живить. Неправильне проектування навігації призводить до битих посилань при редагуванні розділів, дублювання URL, конфліктів ЧПУ, і до меню, яке неможливо налаштувати без правки коду.
Файлова структура vs. компонентна навігація
У Бітрікс є два підходи до організації URL:
Файлова структура — реальні директорії: /catalog/, /about/, /contacts/. Кожен розділ — папка з index.php, що викликає компонент. Перевага: прозорість, кожна сторінка — файл. Недолік: додавання нового розділу вимагає створення директорії на сервері.
ЧПУ через urlrewrite — всі запити перенаправляються на один PHP-файл, який розбирає URL та підключає потрібний компонент. Це стандарт для каталогів: /catalog/smartphones/apple/iphone-15/ — не файлова структура, а правило в urlrewrite.php, що маршрутизує запит на компонент bitrix:catalog.section або bitrix:catalog.element.
На практиці: файлова структура для статичних сторінок (Про компанію, Контакти, Блог), ЧПУ через urlrewrite для динамічних розділів (каталог, новини, фільтри).
Компонент bitrix:menu і типи меню
У Бітрікс меню зберігаються у файлах .menu.php у структурі директорій сайту. Компонент bitrix:menu з параметром ROOT_MENU_TYPE читає файли меню та будує навігацію. Типи меню:
-
top— верхнє горизонтальне -
left— ліве бокове -
footer— підвал
Редагування через адміністративну панель: Структура сайту → Файли. Це файлова система, і пункти меню зберігаються у .menu.php як PHP-масиви.
Для динамічного мегаменю на основі розділів інфоблока — стандартний bitrix:menu не підходить. Використовується компонент bitrix:catalog.section.list або кастомний компонент, що будує меню з CIBlockSection::GetList().
Хлібні крихти: схема і проблеми
Хлібні крихти у Бітрікс будуються через метод $APPLICATION->SetPageProperty("bx_breadcrumb", ...) або автоматично компонентами bitrix:catalog.section та bitrix:catalog.element при правильному налаштуванні ЧПУ. Відображає їх компонент bitrix:breadcrumb.
Типова проблема: при неправильному налаштуванні SECTION_URL у компоненті хлібні крихти ведуть на некоректні URL або дублюють сегменти шляху. Перевіряється в браузері та через аудит $APPLICATION->GetNavChain().
Навігація по інфоблоках і вкладеність розділів
Для каталогу товарів ієрархія навігації визначається ієрархією розділів інфоблока. Проектне рішення: які рівні ієрархії відображаються в навігації, а які — лише у фільтрі.
Приклад: інфоблок зі структурою «Тип → Бренд → Модель» (3 рівні). Якщо в навігації показувати всі три рівні — меню стає величезним. Якщо лише перші два — URL третього рівня все одно існують через ЧПУ, але посилань на них у меню немає. Це нормально: користувач потрапляє на сторінку моделі з пошуку або фільтра, не через меню.
Мультисайтовість і навігація
При кількох мовних версіях або регіональних сайтах у рамках одного ядра Бітрікс — кожен сайт має власну файлову структуру та файли меню. Компонент bitrix:language.menu (або кастомне рішення) перемикає мову зі збереженням поточного контексту (та сама сторінка іншою мовою). Проектне рішення: URL-структура мовних версій — з мовним префіксом (/en/, /de/) або на окремих доменах.
Кейс: рефакторинг навігації корпоративного порталу
Виробнича компанія, корпоративний сайт + B2B-кабінет. Проблема: меню редагували розробники напряму у .menu.php, редактори не могли додати пункт без тікету. Хлібні крихти в каталозі не відображалися на третьому рівні вкладеності.
Що зробили:
- Верхнє меню перевели на інфоблок «Навігація» (тип
navigation): розділи = пункти першого рівня, підрозділи = другий рівень. Компонент меню читає з інфоблока черезCIBlockSection::GetList(). - Редактори керують меню через стандартний інтерфейс інфоблоків — без доступу до файлової системи.
- Хлібні крихти: виправили
SECTION_URLу компоненті каталогу, додали обробник події для третього рівня.
Підсумок: редактори додають пункти меню самостійно, хлібні крихти працюють на всіх рівнях.
Склад роботи з проектування навігації
- Схема URL-структури: статичні сторінки та динамічні розділи
- Проектування типів меню і джерел даних
- Правила urlrewrite для каталогу та контентних розділів
- Схема хлібних крихт за типами сторінок
- Навігація при мультисайтовості (якщо застосовно)
- Документування: карта сайту з типами URL
Термін: 2–5 робочих днів для типового сайту, до 2 тижнів для мультимовного порталу з кількома доменами.







