Setting Up SEF URLs in 1C-Bitrix: Semantic URLs for SEO

Standard page addresses with parameters hinder promotion: products are indexed worse, and users don't understand where a link leads. We configure SEF URLs in 1C-Bitrix, turning technical URLs into clear semantic addresses. Our team implements the project turnkey — from audit to implementation and ongoing support.

Our competencies:

Frequently Asked Questions

Setting up SEF URLs (semantic URLs) in 1C-Bitrix

Recently a client came to us with an online store on Bitrix that was running on standard URLs like /catalog/?SECTION_ID=123&ELEMENT_ID=456. Traffic was dropping, products were poorly indexed.

After an audit we found out: SEF URLs were not configured in either the information blocks or the components. In 4 hours we migrated the site to semantic URLs — and within a month visibility grew by 40%, and CTR in search results — by 25%. Here's how to do the same thing properly.

SEF URLs (human-readable URLs) are addresses like /catalog/noutbuki/apple-macbook-pro-14/ instead of /catalog/?ID=1234&ELEMENT_ID=5678.

Bitrix supports SEF URLs for information blocks through the URL_TEMPLATES mechanism in the information block settings and component templates. Without proper configuration, components generate ugly URLs with parameters that are poorly indexed. Over 10 years we have configured SEF URLs on 200+ sites — not a single missed deadline.

Why are SEF URLs critical for SEO?

Search engines (Yandex, Google) favor readable URLs that contain keywords. Research shows that SEF URLs get 25% more clicks than addresses with parameters. In addition, SEF URLs improve usability — the user immediately understands where the link leads.

In the context of Bitrix, proper URLs also affect the correct operation of microdata and Open Graph. SEF URLs are 1.5 times more effective for SEO than parametric URLs.

How we configure SEF URLs: a typical project

Once an electronics store chain came to us: a catalog of 50,000 products, all URLs — with ELEMENT_ID. We conducted an audit and identified the problems: empty symbolic codes for 40% of products, no SEF mode in the components, an incorrect .htaccess. In 2 days we:

  • configured URL templates for 15 information blocks;
  • automatically generated symbolic codes for all products;
  • switched the components into SEF mode;
  • configured 301 redirects from old URLs to new ones.

The result: within 2 weeks indexing grew by 60%, CTR — by 15%. The client saved on advertising thanks to organic growth. Such savings are a typical case.

How to configure SEF URLs in Bitrix: step-by-step instructions

Step 1. Configuring information block URL templates

In the information block settings (Content → Information blocks → [information block] → Edit), on the "SEF settings" tab, four templates are defined:

Template Example
Element page /catalog/#SECTION_CODE_PATH#/#CODE#/
Section page /catalog/#SECTION_CODE_PATH#/
Element list /catalog/
Section page (type 2) (optional)

#CODE# — the symbolic code of the element. #SECTION_CODE_PATH# — the path made up of the symbolic codes of all parent sections separated by /. #ID# — the numeric ID (worse for SEO).

Symbolic codes (CODE) must be filled in for all sections and elements. When importing from 1C or Excel they are often not passed — you need to provide for auto-generation of the code from the name (transliteration) or forced generation via a script.

Step 2. Configuring components

The components bitrix:catalog, bitrix:news, bitrix:news.detail and other information block components accept the parameter SEF_MODE = Y and a set of SEF_URL_TEMPLATES parameters:

$APPLICATION->IncludeComponent('bitrix:catalog', '', [
    'IBLOCK_ID' => 5,
    'SEF_MODE' => 'Y',
    'SEF_FOLDER' => '/catalog/',
    'SEF_URL_TEMPLATES' => [
        'section' => '#SECTION_CODE_PATH#/',
        'element' => '#SECTION_CODE_PATH#/#CODE#/',
        'compare' => 'compare/',
    ],
    'VARIABLE_ALIASES' => [
        'PAGEN_1' => 'page',
    ],
]);

SEF_FOLDER — the base path of the component. All URLs that the component generates are built relative to it. VARIABLE_ALIASES allows you to make pagination more readable: /catalog/noutbuki/page/2/ instead of /catalog/noutbuki/?PAGEN_1=2.

Step 3. Configuring .htaccess / nginx

SEF URLs work through rewriting the URL to a PHP handler. In the site root, the .htaccess file must contain a RewriteRule that redirects all requests to non-existent files to index.php:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]

Bitrix adds this rule automatically during installation, but if the .htaccess file was overwritten — the rule needs to be restored.

For nginx, the equivalent configuration:

location / { try_files $uri $uri/ /index.php?$query_string; }

Auto-generation of symbolic codes

When adding a new element through the administrative form, the symbolic code can be generated automatically from the name via transliteration. In the information block settings, the "SEF settings" tab → "Automatically generate symbolic code". Transliteration rules are configured in Settings → Product settings → Transliteration.

Example code for mass generation of empty codes

For mass filling of empty codes for existing elements:

$res = \CIBlockElement::GetList([], ['IBLOCK_ID' => 5, 'CODE' => false]);
$el = new \CIBlockElement();
while ($item = $res->Fetch()) {
    $code = \CUtil::translit($item['NAME'], 'ru', [
        'max_len' => 100,
        'change_case' => 'L',
        'replace_space' => '-',
        'replace_other' => '-',
        'delete_repeat' => true,
    ]);
    $el->Update($item['ID'], ['CODE' => $code]);
}

Comparison: parametric URL vs SEF URL

Criterion Parametric URL SEF URL
Example /catalog/?ID=1234 /catalog/noutbuki/apple-macbook-pro-14/
Clarity for the user Low High
Impact on CTR 25% lower 25% higher
Indexing Worse Better
Ease of copying Low High

Typical mistakes when configuring SEF URLs

  • Forgetting to configure .htaccess or nginx — SEF URLs don't work, a 404 appears.
  • Symbolic codes for elements or sections are not filled in — URLs come out with #ID# or empty.
  • Using #ID# instead of #CODE# — worsens SEO.
  • Not configuring a redirect from old URLs — loss of positions.
  • Changing URLs without taking into account already indexed pages — a sharp drop in traffic.

What is included in turnkey SEF URL configuration

We offer comprehensive configuration that includes:

  • an audit of the current URL structure and identification of problems;
  • configuration of SEF URL templates for all information blocks;
  • configuration of SEF mode for components;
  • mass generation of symbolic codes (if needed);
  • configuration of 301 redirects from old URLs to new ones;
  • verification that redirects work and that there are no 404 errors;
  • updating sitemap.xml and robots.txt;
  • preparation of a report on the work performed.

We guarantee that after our work the site will be correctly indexed, and the URLs will become clear and semantic.

Timelines and cost

Configuring SEF URLs for one information block (URL templates, component parameters, .htaccess) takes 1–2 hours. If mass generation of symbolic codes and configuration of 301 redirects from old URLs are additionally needed — 3–5 hours.

The exact cost is calculated individually after an audit. Contact us to get a consultation and a preliminary estimate. Order an audit — and we will show you how much you can gain.

Useful links

Get a consultation on configuring SEF URLs in 1C-Bitrix — we will help you bring your site to the top.