Designing the navigation structure of the 1C-Bitrix website

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1167
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    563
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    743
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Navigation Structure Design for a 1C-Bitrix Website

Navigation on a Bitrix site is more than the menu a user sees. It is the directory structure inside local/ and bitrix/, the routing logic in urlrewrite.php, the breadcrumb scheme via bitrix:breadcrumb, and the info block section structure that feeds all of it. Poor navigation design leads to broken links when sections are edited, duplicate URLs, SEO-friendly URL conflicts, and menus that cannot be updated without touching code.

File Structure vs. Component-Based Navigation

Bitrix offers two approaches to URL organization:

File structure — real directories: /catalog/, /about/, /contacts/. Each section is a folder containing an index.php that calls a component. Advantage: transparent — every page is a file. Disadvantage: adding a new section requires creating a directory on the server.

SEO-friendly URLs via urlrewrite — all requests are redirected to a single PHP file that parses the URL and loads the appropriate component. This is the standard for catalogs: /catalog/smartphones/apple/iphone-15/ is not a file structure, but a rule in urlrewrite.php that routes the request to the bitrix:catalog.section or bitrix:catalog.element component.

In practice: file structure for static pages (About, Contacts, Blog), SEO-friendly URLs via urlrewrite for dynamic sections (catalog, news, filters).

The bitrix:menu Component and Menu Types

In Bitrix, menus are stored in .menu.php files within the site's directory structure. The bitrix:menu component with the ROOT_MENU_TYPE parameter reads these files and builds the navigation. Menu types:

  • top — top horizontal menu
  • left — left sidebar
  • footer — footer

Editing via the admin panel: Site Structure → Files. This is the file system, and menu items are stored in .menu.php as PHP arrays.

For a dynamic mega-menu based on info block sections, the standard bitrix:menu is not suitable. Use bitrix:catalog.section.list or a custom component that builds the menu from CIBlockSection::GetList().

Breadcrumbs: Structure and Common Issues

Breadcrumbs in Bitrix are built via $APPLICATION->SetPageProperty("bx_breadcrumb", ...) or automatically by the bitrix:catalog.section and bitrix:catalog.element components when SEO-friendly URLs are configured correctly. They are rendered by the bitrix:breadcrumb component.

A typical problem: if SECTION_URL is misconfigured in the component, breadcrumbs point to incorrect URLs or duplicate path segments. Verify in the browser and by auditing $APPLICATION->GetNavChain().

Info Block Navigation and Section Nesting

For a product catalog, the navigation hierarchy is determined by the info block section hierarchy. The design decision: which levels of the hierarchy are shown in navigation, and which appear only in the filter.

Example: an info block with the structure "Type → Brand → Model" (3 levels). Showing all three levels in the navigation makes the menu enormous. Showing only the first two means the third-level URLs still exist via SEO-friendly URLs, but there are no links to them in the menu. This is acceptable — users reach the model page via search or filtering, not through the menu.

Multi-Site Setup and Navigation

When running multiple language versions or regional sites within a single Bitrix core, each site has its own file structure and menu files. The bitrix:language.menu component (or a custom solution) switches language while preserving the current context (the same page in another language). Design decision: URL structure for language versions — with a language prefix (/en/, /de/) or on separate domains.

Case Study: Navigation Refactoring for a Corporate Portal

A manufacturing company with a corporate site and a B2B portal. Problem: developers edited the menu directly in .menu.php files, and editors could not add a menu item without filing a ticket. Breadcrumbs in the catalog did not appear at the third nesting level.

What was done:

  1. Moved the top menu to a "Navigation" info block (type navigation): sections = first-level items, subsections = second level. The menu component reads from the info block via CIBlockSection::GetList().
  2. Editors now manage the menu through the standard info block interface — without file system access.
  3. Breadcrumbs: fixed SECTION_URL in the catalog component, added an event handler for the third level.

Result: editors add menu items independently, breadcrumbs work at all levels.

Scope of Work for Navigation Design

  • URL structure scheme: static pages and dynamic sections
  • Design of menu types and data sources
  • urlrewrite rules for the catalog and content sections
  • Breadcrumb scheme by page type
  • Navigation for multi-site setup (if applicable)
  • Documentation: site map with URL types

Timeline: 2–5 business days for a typical site, up to 2 weeks for a multilingual portal with multiple domains.