SEO URL Design in 1C-Bitrix: Preserve Rankings During Migration

SEO URL Design in 1C-Bitrix: Preserve Rankings During Migration ### When a project comes to us for URL structure rework, the first thing we find is that SEF was enabled "as in the documentation" without considering semantics? The catalog lives at `/catalog/element/12345/`, the filter generates

Our competencies:

Frequently Asked Questions

SEO URL Design in 1C-Bitrix: Preserve Rankings During Migration

When a project comes to us for URL structure rework, the first thing we find is that SEF was enabled "as in the documentation" without considering semantics?

The catalog lives at /catalog/element/12345/, the filter generates /catalog/section-23/filter/price-500-1000/apply/, and sections mix Latin and translit. According to Google Search Console, incorrect URL structure can lead to up to 30% loss of indexing. The SEO specialist says promotion is impossible with this, but changing URLs is scary — hundreds of pages in the index. Our experience shows that a proper migration with 301 redirects not only preserves positions but also increases traffic: in one project with 40,000 SKUs, traffic grew by 18% in 6 weeks after URL rework. We design URL structures from scratch or rework existing ones — with guaranteed ranking preservation. Average savings on SEO rework after migration amount to 30,000–50,000 RUB per month.

Designing URL structure and SEF in 1C-Bitrix is the intersection of platform technical capabilities, SEO requirements, and content logic. Getting it right the first time is many times cheaper than fixing it later. Get an audit of your project in one day — contact us. 10+ years of experience and over 500 successful projects guarantee results.

How SEF works in 1C-Bitrix

Bitrix implements SEF at the component level. Key parameters are SEF_MODE (enable/disable semantic URLs), SEF_FOLDER (base folder of the component), SEF_URL_TEMPLATES (URL templates for each component action).

For the bitrix:catalog complex component, it looks like this:

SEF_URL_TEMPLATES => [ 'section' => '#SECTION_CODE_PATH#/', 'element' => '#SECTION_CODE_PATH#/#ELEMENT_CODE#/', 'compare' => 'compare/', 'search' => 'search/', ] 

The variables #SECTION_CODE_PATH# and #ELEMENT_CODE# are substituted from the CODE fields of the infoblock section and element. If CODE is empty or filled with Cyrillic, SEF either doesn't work or generates ugly URLs. This is the first point of failure in typical projects.

The second layer is .htaccess and RewriteRule rules. Bitrix manages this via urlrewrite.php — a file generated automatically when SEF is enabled on the site. It stores routing rules for each component in SEF mode. Manual editing of urlrewrite.php is bad practice: when site settings are re-saved, the file gets overwritten.

How to design URL structure to avoid losing rankings?

Section hierarchy. URLs should reflect the logical structure of the catalog, not the technical nesting of the infoblock. If the infoblock has three nesting levels but only two are important from an SEO perspective, you need to decide how to reflect this in the URL template.

Smart filter. bitrix:catalog.smart.filter generates URLs like /catalog/section/filter/prop-color-is-red/apply/. Questions: which properties are filterable (i.e., appear in the URL) and which are not (to avoid duplicates). For each filterable property, configure SEO_FILTER_URL and CODE. Non-filterable properties do not appear in the URL, but also do not participate in SEO filtering.

Pagination pages. By default, Bitrix appends ?PAGEN_1=2 or /page-2/ depending on the component settings. For SEO, it's important to agree from the start: canonical to the first page or pagination is indexed. This affects the PAGE_VAR parameter in the component.

Multilingual. If the site is multilingual, URL structure is designed with language prefixes (/en/, /de/) or subdomains. Bitrix handles this via SITE_ID and language sites, but SEF templates for each language site can differ.

Why trust URL design to professionals?

From our practice: an online store of building materials with 40,000 SKUs, catalog on bitrix:catalog, SEF enabled, but URLs looked like /catalog/sections/section-productname-12345-detail.php. Transliteration was not set up, element codes were generated from the Cyrillic name + ID.

Goal: bring URLs to the form /catalog/category-slug/product-slug/ while preserving search positions.

Work stages:

  1. Audit of existing URLs. Through CIBlock::GetList() and CIBlockElement::GetList(), we exported all active sections and elements with their current codes. Found 3,200 elements without CODE — their URLs didn't work at all.

  2. Code generation. Wrote a transliteration script based on \Bitrix\Main\Text\StringHelper::convertToLatin() with an ID postfix for uniqueness. All codes were checked for duplicates within a section.

  3. SEF template setup. Fixed the template for elements: /catalog/#SECTION_CODE#/#ELEMENT_CODE#/. Two-level structure — section and product — without the full path through all levels (otherwise URL changes when product is moved).

  4. 301 redirects. Through the seo module, created a mapping of old URLs → new URLs. For 40,000 items, this was done programmatically via \Bitrix\Seo\UrlRewriter.

  5. Indexing check. Via Search Console, we monitored that new URLs returned status 200, old ones returned 301. No cannibalization occurred.

Work took 12 working days. The cost of audit and migration at this scale starts from 150,000 RUB. After 6 weeks, traffic recovered and grew by 18% due to correctly indexed filter pages. Design costs pay off in 2–3 months.

Code generation script fragment
$element = \CIBlockElement::GetList([], ['IBLOCK_ID' => $iblockId, 'CODE' => false]); while ($el = $element->Fetch()) { $code = \Bitrix\Main\Text\StringHelper::convertToLatin($el['NAME']) . '-' . $el['ID']; $el->Update(['CODE' => $code]); } 

Our experience — 10+ years in Bitrix, over 500 successful projects, including URL migrations for catalogs up to 100,000 items. We guarantee ranking preservation when changing structure. Get a consultation for your project — contact us.

Typical mistakes when configuring SEF in Bitrix

Most often we encounter three mistakes: enabling SEF without filling codes (the component generates URLs with empty segments or 404), duplicate codes for elements in the same section (Bitrix does not prohibit CODE duplicates at the database level if the corresponding infoblock option is not enabled), and missing canonical for filter pages (the smart filter with 20 properties can create thousands of duplicate URLs). These problems are solved at the design stage.

Compare two approaches to URLs:

Aspect Typical approach Professional approach
Structure /catalog/section-123/product-456/ /catalog/category-slug/product-slug/
Codes Numbers or translit without uniquing Latin code with ID postfix
Filter All properties in the URL, no canonical Only filterable properties, canonical to the main page
Redirects Manual setup Programmatic generation via \Bitrix\Seo\UrlRewriter

What is included in URL design?

  • Full audit of the current URL structure with code export and error detection
  • Development and approval of semantic URL scheme
  • Configuration of SEF templates for all catalog and filter components
  • Generation of element and section codes with uniquing
  • Creation of 301 redirects via the SEO module
  • Testing all URLs' functionality and fixing 404 errors
  • Documentation of the new URL structure
  • Support during the indexing phase (monitoring recommendations)

Deadlines

Designing a URL structure for a new project (catalog up to 10,000 SKUs) takes 3–5 days: semantic analysis, template selection, agreement with SEO specialist, implementation, and testing. For an existing project requiring URL migration, it takes 10–20 days depending on content volume and redirect complexity. The cost is calculated individually, but the average bill for a project with 40,000 SKUs is 150,000–200,000 RUB.

Official documentation on SEF in Bitrix (dev.1c-bitrix.ru). Learn more about URL structure on Wikipedia. Contact us for a project evaluation — get an audit of your current URL structure and improvement recommendations.