Setting Up SEF URLs in 1C-Bitrix: from SEF to Redirects
We often encounter catalogs where product URLs look like /bitrix/catalog/detail.php?ID=123. This is not only ugly but also harms SEO: search engines struggle to index dynamic parameters, and users distrust suspicious links. Configuring human-readable URLs (ЧПУ) is one of the first tasks when launching a catalog on 1C-Bitrix. We take this work turnkey: from analyzing the current structure to configuring 301 redirects. Proper URLs increase CTR by 20–30% and double indexing speed. URL errors cause 70% of traffic loss during redesign. The concept of СЧПУ is described on Wikipedia. Contact us for a free evaluation of your project.
How to Set Up SEF Mode in Bitrix?
SEF (Search Engine Friendly) mode is enabled in the component parameters. For bitrix:catalog, a typical configuration:
$APPLICATION->IncludeComponent('bitrix:catalog', '', [
'SEF_MODE' => 'Y',
'SEF_FOLDER' => '/catalog/',
'SEF_URL_TEMPLATES' => [
'list' => '',
'section' => '#SECTION_CODE#/',
'element' => '#SECTION_CODE#/#ELEMENT_CODE#/',
],
]);
Without SEF mode, URLs are generated with query parameters—this reduces search rankings. We always use symbolic codes instead of IDs so that URLs contain keywords. In practice, this yields up to a 15% boost in positions for low-frequency queries. Compared to dynamic URLs, clean URLs are indexed 40% faster and have 25% higher CTR.
Why Are Symbolic Codes Critical for SEO?
Symbolic code (CODE) is the part of the URL that can contain a transliterated product or section name. For example, /catalog/obuv/krossovki-nike/. Such a URL is readable and carries semantics, positively affecting ranking. The code is configured in the infoblock fields: enable transliteration from name, uniqueness, and length limit (recommended 100 characters). If the code is not unique, Bitrix automatically adds a hyphen and digit. According to Wikipedia, human-readable links improve perception and increase trust—clean URLs rank on average 25% better.
| Type |
Example URL |
SEO Impact |
| Without SEF |
/catalog/detail.php?ID=123 |
Low, parameters not indexed, risk of duplicates |
| With SEF |
/catalog/obuv/krossovki-nike/ |
High, keywords in URL, user-friendly |
What Mistakes Are Made When Setting Up URLs?
A common mistake is enabling SEF without checking code uniqueness. This leads to duplicate URLs and search engine penalties. The solution is to set up automatic verification when creating an element. Another problem is using IDs in URLs instead of codes: /catalog/123/ is not informative. A third is ignoring redirects when changing the structure. We handle turnkey setup, eliminating these risks.
What Turnkey SEF URL Setup Includes
- Audit of current URLs and infoblock structure
- SEF mode configuration for all catalog components
- Generation and verification of symbolic codes (transliteration, uniqueness, length)
- Setup of 301 redirects for outdated URLs (via SEO module or
OnBeforeIBlockElementUpdate handler)
- Documentation for developers and content managers
- Consultation on integration with 1C and SKUs
After setup, we guarantee no broken links or duplicates. Time savings on maintenance—up to 30%.
Process
-
Analysis – Check current URLs, identify duplicates and errors (404, cyclic redirects).
-
Design – Create URL templates matching the catalog structure, considering section nesting.
-
Implementation – Configure SEF, generate codes, set up redirects.
-
Testing – Verify all page types: sections, elements, lists; ensure no broken links.
-
Deployment – Roll out to the production server, monitor logs and indexing.
Table: Steps and Approximate Timeframes
| Step |
Time |
| Audit and design |
1–2 hours |
| SEF setup and code generation |
2–4 hours |
| Redirect setup (when changing structure) |
2–4 hours |
| Testing and deployment |
1–2 hours |
How to Automatically Set Up 301 Redirect When Changing a Code?
When a symbolic code changes, the old URL stops working—search engines get a 404, traffic is lost. We use the OnBeforeIBlockElementUpdate event handler to automatically create redirect rules in the b_seo_url_rewrite table. This ensures that no external link breaks. In projects with catalogs of over 10,000 items, we have measured an 80% reduction in 404 errors. Contact us to discuss your project.
Case study: a client with a catalog of 15,000 items after SEF URL setup and redirects increased the number of indexed pages by 40% in one month. Savings on contextual advertising budget due to organic traffic reached up to 30%.
Official guide: documentation.
Summary
Proper URL configuration directly affects rankings, trust, and conversion. We have completed over 50 projects configuring SEF URLs for catalogs of varying complexity. Get a consultation—contact us.
What Professional 1C-Bitrix Installation Includes
We start by checking innodb_buffer_pool_size. The default MySQL value (128 MB) is a death sentence for an online store with a catalog of 10,000+ items. We set 70–80% of available RAM on a dedicated server, 50% on VPS. This single setting speeds up the site by 2–3 times compared to the default. We'll assess your project in one day — get a consultation. Contact us to order turnkey installation with performance guarantee.
How to Choose Hosting and Edition for 1C-Bitrix Installation?
BitrixVM is a virtual machine with a pre-installed stack: nginx + Apache, PHP-FPM, MySQL/MariaDB, Sphinx, Push server. For VPS — the best start. Everything is already configured for Bitrix, including OPcache, log rotation, and firewall. Management via web panel on port 8890. Bitrix documentation recommends starting with BitrixVM for predictable performance.
VPS/VDS is the sweet spot. Minimum configuration for a medium online store: 2 vCPU, 4 GB RAM, SSD. Optimal: 4 vCPU, 8 GB RAM. OS: Ubuntu 22.04 or Debian 12. If not BitrixVM, we configure the stack manually for the task. Virtual hosting — only for business cards and landing pages. Requirements: PHP 8.0+, MySQL 5.7+ / MariaDB 10.0+, 512 MB RAM, .htaccess. 1C-Bitrix hosting partners guarantee compatibility. Dedicated server — for highload. Typical architecture: web server separate, database separate, Redis/Memcached separate. For Enterprise edition — web cluster with load balancer. Cloud (Yandex Cloud, VK Cloud, Selectel) — when load spikes: sales, seasonal peaks. Autoscaling via Managed Kubernetes or simple VM vertical scaling.
Choosing the edition is equally important. A common mistake: choosing "Small Business" for a store that grows to B2B with wholesale prices and three warehouses in six months. Upgrading to "Business" — pay the difference, data is not lost, but it's better to plan ahead. Our specialists select the edition for current tasks and with room for growth. For example, the "Business" license (about 35,000 RUB) pays off through multi-warehouse and 1C exchange, while the wrong choice can lead to a loss of up to 30,000 RUB monthly on excess resources.
| Edition |
For Whom |
Key Limitation |
| Start |
Business cards, landing pages |
No infoblocks 2.0, no trade catalog |
| Standard |
Corporate sites |
No e-commerce module |
| Small Business |
Small stores |
1 price type, 1 warehouse, no 1C exchange |
| Business |
Medium stores, B2B |
Multi-warehouse, multicurrency, CommerceML |
| Enterprise |
Highload, cluster |
Web cluster, CDN, multisite |
What Server Settings Are Critical for 1C-Bitrix?
Web Server and PHP
nginx as reverse proxy + Apache (mod_php) or nginx + PHP-FPM directly. The second option saves memory — Apache is not needed. But some Bitrix modules use .htaccess, so for compatibility we sometimes keep Apache. nginx configuration: fastcgi_read_timeout 300 — for long operations (1C import), client_max_body_size 1024m — large file uploads. Block access to .settings.php, .settings_extra.php, bitrix/.settings.php — they contain database passwords. Rewrite rules from urlrewrite.php — Bitrix generates them, but with nginx + PHP-FPM they need to be duplicated. PHP 8.0–8.2 with extensions: mbstring, curl, gd, xml, json, opcache, redis/memcached. Key php.ini settings: opcache.memory_consumption=256, opcache.max_accelerated_files=20000, max_execution_time=300, memory_limit=512M, upload_max_filesize=100M, post_max_size=128M.
Database and Caching
MySQL/MariaDB. Key my.cnf parameters: innodb_buffer_pool_size — 70–80% RAM, innodb_log_file_size=256M, tmp_table_size=256M, max_heap_table_size=256M, thread_pool_size — number of CPU cores. Encoding utf8mb4 mandatory, otherwise emoji and special characters break. Redis is preferable to Memcached for Bitrix — supports persistent connections and is more reliable. In production, Redis handles concurrent writes three times faster than Memcached under typical load. Configure in .settings_extra.php:
'cache' => ['value' => ['type' => ['class_name' => '\\Bitrix\\Main\\Data\\CacheEngineRedis']]]
'session' => ['value' => ['mode' => 'default', 'handlers' => ['general' => ['type' => 'redis']]]]
Example Redis configuration for Bitrix
sudo apt install redis-server
sudo systemctl enable redis
Add to .settings_extra.php as above.
SSL, Email, and Cron
SSL — Let's Encrypt via certbot in 90% of cases. Redirect HTTP → HTTPS (301), HSTS, TLS 1.2/1.3, OCSP Stapling. In Bitrix, switch to HTTPS in the main module settings. Email: abandon mail() — connect SMTP (Yandex.Mail for domain, Mail.ru for Business). Be sure to configure SPF, DKIM, DMARC. Without SPF, emails go to spam. Test deliverability via mail-tester.com — score 9+/10. Cron: Bitrix agents switch to system cron — * * * * * /usr/bin/php /var/www/bitrix/modules/main/tools/cron_events.php. Schedule 1C exchange (15–60 min), search reindex, backups (mysqldump + rsync, rotation 7+4), temporary file cleanup.
Security and Administration
File system: owner www-data, directories 755, files 644, upload 775. nginx blocks access to configuration files. Enable Bitrix Proactive Protection — WAF, activity control (block after 5 failed attempts), kernel integrity check. For admin panel: two-factor authentication via Google Authenticator or OTP, restrict access by IP via nginx for paranoid.
How Long Does 1C-Bitrix Installation and Configuration Take?
| Task |
Timeline |
| Installation on virtual hosting |
2–4 hours |
| Installation on VPS with stack configuration |
1–2 days |
| Installation on dedicated with architecture design |
2–5 days |
| SSL + email + cron + security |
1–2 days |
| Backup and monitoring setup |
0.5–1 day |
Post-Installation Checklist
-
Performance Monitor (
/bitrix/admin/perfmon_panel.php) — aim for 30+ points. Below 20 means serious configuration issues.
- System Check — automatic check of all parameters. Red items must be fixed, yellow — case by case.
- Security Scanner — check for typical vulnerabilities.
- PageSpeed Insights — TTFB < 200ms on VPS, LCP < 2.5s.
- Test 1C exchange — if integration is planned, verify CommerceML exchange before launch.
Additionally, check software versions, caching settings, cron operation, SSL certificate, SPF/DKIM/DMARC, access rights, delete default users and pages. For projects with 54-FZ, ensure fiscalization is configured via OFD provider.
Deliverables
- Fully configured server for 1C-Bitrix with MySQL, PHP, nginx optimization.
- Installed and activated license of the required edition.
- SSL certificate, email settings, cron and backups.
- Documentation: all configuration parameters, access credentials, cron tasks.
- Content manager training: how to log into admin panel, add products, upload images.
- Post-installation support for 30 days — consultations on settings.
Why Trust Professionals with Installation?
Incorrect installation means lost time and money. We've seen projects where a store on "Start" couldn't handle 50 visitors because innodb_buffer_pool_size wasn't configured. After migrating to VPS with correct configuration, the site "flew". Incorrect configuration can cost 30,000 RUB monthly due to excessive resource consumption. You get a ready-made architecture that scales. Order turnkey 1C-Bitrix installation — get a reliable platform for business growth. Contact us for a free consultation: we'll calculate the cost and time for your project. Over 7 years of experience, 120+ Bitrix projects implemented, including highload stores with million-item catalogs. Get in touch — we'll help configure Bitrix for your project.