Multi-regional 1C-Bitrix site setup under key

A client with an online store on 1C-Bitrix faces the task: showing different prices in Moscow and Yekaterinburg without creating duplicates for search engines. We solve it through a subdomain architecture and regional price types. Over the years, we've implemented more than 50 projects — from small

Our competencies:

Frequently Asked Questions

Latest works

  • B2B ADVANCE company website development
    B2B ADVANCE company website development
    1466
  • Website development for FIXPER company
    Website development for FIXPER company
    1019
  • Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Development based on 1C Enterprise for MIRSANBEL
    Development based on 1C Enterprise for MIRSANBEL
    882
  • Website development on CRM Bitrix24 for DOLBIMBY
    Website development on CRM Bitrix24 for DOLBIMBY
    811
  • Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1167

A client with an online store on 1C-Bitrix faces the task: showing different prices in Moscow and Yekaterinburg without creating duplicates for search engines. We solve it through a subdomain architecture and regional price types. Over the years, we've implemented more than 50 projects — from small stores to catalogs with 100,000 items. In one case for a chain with 15 regions, we set up subdomains with individual catalogs — after a quarter, regional traffic grew by 40%. Setting up Bitrix subdomains and regional site versions requires accurate IP-based region determination, and proper implementation of geo-targeting and SEO for a multi-regional site yields a significant boost. Contact us — we'll audit your project in 2 days. Our certified 1C-Bitrix specialists guarantee code quality.

How to choose an architecture for multi-regionality?

Three approaches: subdomains, directories, GET parameters. The first two work, the third is bad for SEO. Let's compare in a table.

Approach Example URL Complexity SEO effectiveness Recommendation
Subdomains msk.example.com High Best For large projects
Directories example.com/msk/ Medium Good For medium and small
GET parameter example.com/?region=msk Low Poor Not recommended

Subdomains require a separate Bitrix installation for each region or multi-site functionality (b_lang). We prefer subdomains: they give clean URLs and allow setting geo-targeting in Yandex.Webmaster. Subdomains are better than directories: regional traffic growth up to 40% (client data). Directories are easier to administer — one site, identical templates, but more complex in SEO (regional ranking is less pronounced). For a store with 10 regions, we use subdomains; for 2-3, directories. In the 1C-Bitrix documentation multi-site through b_lang is described.

Why are subdomains preferable to directories?

Subdomains form separate sites with independent history and the ability to bind to a region in Yandex.Webmaster. Directories are sections of one site, which limits geo-targeting. Practice shows: for 5+ regions, subdomains pay off in 3-6 months due to traffic growth, and for 2-3 regions, directories save up to 30% on maintenance budget. This reduces maintenance costs by up to 30%.

Regional prices through price types

The key pain is showing different costs in different cities. In Bitrix, this is solved through price types. You create a "Moscow" and "Regions" price type, link them to user groups. When the region changes, the user is moved to the corresponding group.

Example implementation:

// When region changes $USER->Update($userId, ['GROUP_ID' => [$regionGroupId]]); // In the catalog component — specify the desired price type $arParams['PRICE_CODE'] = ['Moscow', 'Regions']; 

For automatic region detection, we use Sypex Geo. Algorithm: get IP, determine city, match to region, save choice in cookie. If region is not determined — show a popup with selection. All data is cached with region awareness to avoid overloading the database. Thanks to this scheme, clients save up to 40% on SEO costs due to the absence of duplicates and correct ranking.

Which SEO settings are mandatory?

  • Canonical: on each subdomain, the canonical URL points to the current regional version.
  • Geo-targeting: in Yandex.Webmaster, bind the subdomain to a region.
  • sitemap: for each subdomain, a separate map.
  • hreflang: not needed for one language.

Additionally, we configure robots.txt for each subdomain and use tagged caching to avoid content mixing.

Example robots.txt configuration for a subdomain User-agent: * Disallow: /bitrix/ Disallow: /upload/ Sitemap: https://msk.example.com/sitemap.xml

Implementation timeline and stages

Stage Duration
Audit and design 3–5 days
Subdomain and regional price setup 5–10 days
Region detection (IP+popup) 2–3 days
SEO settings and testing 3–5 days
Deployment and documentation 2–3 days

Total timeline — from 2 to 6 weeks depending on the number of regions and catalog complexity. Cost is calculated individually. Contact us — we'll calculate an exact plan for your project.

What's included in the work

  • Architectural documentation.
  • Configured subdomains/directories.
  • Regional prices and user groups.
  • Region detection mechanism via Sypex Geo with cookie persistence.
  • SEO settings (canonical, sitemap, geo-targeting).
  • Testing and bug fixing.
  • 1 month support after launch.

Implementation process

  1. Audit of current site — infoblocks, templates, modules.
  2. Architecture design — choosing approach, creating multi-site structure.
  3. Setting up regional prices and user groups.
  4. Implementing automatic region detection via IP (Sypex Geo) and selection popup.
  5. Developing content filters (phones, addresses, delivery conditions).
  6. SEO settings — canonical, sitemap, geo-targeting.
  7. Testing on production server and deployment.
  8. Handover of documentation and training.

Example region detection function:

function detectRegionByIp($ip) { $geo = new SxGeo('SxGeo.dat', SXGEO_BATCH); $city = $geo->get($ip); return $city['city']['id'] ?? 0; } 

Evaluate your project — get a consultation and preliminary work plan. Warranty on code — 12 months. Order an audit today.