Multi-Site Architecture Development on 1C-Bitrix

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.
Showing 1 of 1All 1626 services
Multi-Site Architecture Development on 1C-Bitrix
Medium
~1-2 weeks
Frequently Asked Questions

Our competencies:

Development stages

Building a multisite structure on 1C-Bitrix is the only sensible solution when a client launches a second brand. Double license, double exchange with 1C, double admin panel. A month later it turns out: the product base is shared, managers are in different admin panels, stock sync breaks. We have been designing multisite architectures for over 10 years — certified Bitrix partners with more than 100 successful projects — and know all the pitfalls: from cache leaks to incorrect sitemaps. Contact us for a consultation — we will assess your project in 2 days.

When is multisite justified?

A holding with five brands. A franchise with regional offices. A group of companies where each direction has its own domain but a shared product base. The alternative is five separate Bitrix installations, five licenses, five servers, five exchanges with 1C. Multisite on one installation — one server, one license (starting from the "Business" edition), one admin panel. License and support savings reach 30–50% (e.g., $3,000 per year saved per installation). Shared database reduces license costs by 50% compared to separate installations.

Not justified — when sites have no data, audience, or business logic overlap. Then binding through one database only complicates deployment and increases the blast radius in case of failure.

Architecture: shared database vs. separate

Bitrix supports two multisite modes.

Shared database, shared files

All sites live in one MySQL database and one filesystem. Separation is via SITE_ID in tables. An infoblock can be attached to multiple sites through b_iblock_site. A user registered on site A is automatically authorized on site B (shared b_user table, shared sessions).

Pitfalls:

  • Component cache — if SITE_ID is not specified in the cache key, a news.list component on site B will return data cached for site A. Standard Bitrix components usually account for SITE_ID, but custom ones do not until you add $this->arParams['CACHE_GROUPS'] and include SITE_ID in getAdditionalCacheID(). With 5 sites sharing a catalog of 50,000 items, the time for full cache refresh is reduced by 60% if keys are configured correctly.
  • Access rights — user groups are shared. A content manager of site A might accidentally edit an infoblock of site B if a permission matrix is not set at the infoblock level.
  • SEO module — sitemap.xml is generated via seo.sitemap.run. You need to create a separate map for each SITE_ID, otherwise URLs from site B will appear in the sitemap of site A.

Separate databases

Configured via .settings.php, connections section. Each site connects to its own database. Full data isolation, but no shared users or shared infoblocks. Rarely used — mainly for complete separation when a shared admin panel is only needed for server infrastructure management.

How to solve the shared cache problem?

In a multisite structure, cache is the main headache. Without binding to SITE_ID, one site may display data from another. The solution is at the developer level: in result_modifier.php, add SITE_ID to the cache key via $arParams['CACHE_GROUPS'] and CPHPCache::SetCache(). For composite cache, configure a separate domain in the "Composite Site" module. This ensures that the HTML snapshot of site A is not served on domain B.

More about cookie mechanisms — Wikipedia.

Shared user base

The main advantage of a shared database is unified authentication. A user registers on brand-a.com, visits brand-b.com — already authorized. This works via the shared b_user table and shared sessions.

But there is a catch. Sessions are stored in files by default — in /bitrix/sessions/. With two domains, the PHPSESSID cookie is not transferred between them (different domains, different cookies). Solutions:

  • SSO via token — we pass a one-time token in the URL when switching between domains, and on the receiving side we create a session. The socialservices module or custom handler.
  • Common top-level domain — .company.com, the cookie is set on .company.com, works for a.company.com and b.company.com.
  • Redis for sessions — sessions are stored centrally, but the cookie problem remains. Redis solves a different task — horizontal scaling, not cross-domain authentication.

Content: what to share, what to separate

Infoblocks are attached to sites via admin settings. One infoblock can be accessible on several sites. A typical scenario: a product catalog — shared (SITE_ID: s1, s2, s3), news — each site has its own.

An important point: infoblock properties are shared. You cannot add a "Promotion" property only for site A if the infoblock is attached to sites A, B, C. All three sites will see this property. Solution — use a multiple property of type "Binding to site" and filter in the component.

Trade catalog. The catalog module allows setting different price types for different sites. A wholesale site shows wholesale prices, retail site shows retail ones. Stock balances are shared or separated via binding to stores (b_catalog_store).

SEO settings — META templates through iblock.type.edit are set at the infoblock level, not site level. For different sites with one infoblock, you'll need to generate META programmatically in result_modifier.php, substituting the required values by SITE_ID.

Common issues when scaling

  • 1C exchange — the catalog.import.1c module imports products into infoblocks. If the catalog is shared across three sites, there is one import. If each site has its own catalog — three separate exchanges, three profiles in 1C. With 50K+ items, each exchange locks tables for 15–30 minutes. We spread them across cron to avoid overlaps.
  • Search — the built-in search.title indexes all sites into one b_search_content table. Results are filtered by SITE_ID, but the index is shared. With 5 sites of 100K pages each — an index of half a million records, reindexing takes hours. Elasticsearch instead of the built-in search — if data volume is substantial.
  • Composite cache — the composite module works correctly with multisite but requires separate configuration for each domain. Without it, the HTML snapshot of site A might be served on domain B.

What is included in multisite development (Deliverables)

  1. Audit of current infrastructure and integrations.
  2. Architecture design: site matrix, infoblocks, access rights, templates.
  3. Core configuration: site creation, domain binding, session and cache settings.
  4. Template development: shared base template + individual site templates.
  5. Content migration and SEO module configuration for each domain.
  6. 1C exchange setup (if required).
  7. Testing cross-site scenarios: authentication, cache, sitemap.
  8. Training editors to work in a unified admin panel.
  9. Post-launch monitoring.
  10. Documentation and access credentials.

How to compare shared database vs. separate?

Shared database is 2 times cheaper in licenses and easier to maintain; separate ones are faster under peak loads and isolate failures. The choice depends on SLA and budget: for most projects, a shared database with proper caching is sufficient.

Indicative timelines

Scale Timelines
2-3 sites, shared catalog, different templates 6-10 weeks
5+ sites, separate catalogs, SSO 10-16 weeks
Regional network of 10+ sites with 1C integration 14-24 weeks

Pricing is calculated individually after detailed analysis — we will assess your project in 2 days.

Typical challenges and their solutions

Problem Solution
Cache from one site leaks into another Add SITE_ID to component cache key
Authentication does not work between domains SSO via one-time token or common cookie domain
SEO module generates sitemap with foreign URLs Create separate map for each SITE_ID
1C import locks tables Spread imports across cron and use different profiles

Our services include 1C-Bitrix multisite development, Bitrix multisite architecture, shared catalog for multiple sites, unified authentication with SSO, multisite templates, 1C exchange for multisite, Bitrix cache configuration, and project assessment. With over 10 years of experience and more than 100 successful Bitrix multisite projects, we are certified partners. Contact us for assessment of your project. Get a consultation — we will select the optimal architecture without overpayments.

How to properly design infoblocks?

When developing a 1C-Bitrix website, we see dozens of projects where poor infoblock structure slows down the site. Typical scenario: the client asks for a "product catalog." The developer creates one infoblock catalog, puts 15 properties in it. Six months later – 40 properties, 8 of which are used only for one category. The filter lags, the b_iblock_element_property table grows to millions of rows, CIBlockElement::GetList runs for 3 seconds. Consequences – conversion drop, loss of customers, additional optimization costs. In one project after catalog refactoring, page generation time dropped from 4.2 to 0.8 seconds, and annual support costs were reduced by over $10,000 through eliminated redundant queries and agents.

Our approach: design infoblocks before writing a single line of code. Separate infoblocks for entities (products, categories, brands), dictionary properties via highload blocks, trade offers for SKUs. This builds performance for years. If you want a preliminary audit of your infoblock schema, contact us for a free review of common mistakes and recommendations.

Why 1C-Bitrix outperforms most CMS for business

The choice of CMS is dictated by business needs, not preferences. Native 1C exchange via catalog.import.1c provides two-way synchronization of products, prices, balances, and orders through CommerceML without third-party modules — five times faster than developing custom exchange on OpenCart or WordPress, saving hundreds of thousands of rubles. Proactive security module includes WAF, file integrity control, SQL injection protection, and two-factor authentication; it's certified for FSTEK requirements. Modular architecture lets you enable only needed modules — iblock, catalog, sale, search — reducing DB queries per hit. Regular patches close vulnerabilities faster than open-source projects (average CVE fix time two weeks). Official documentation is maintained on the vendor's site.

What highload blocks are and how they speed up the catalog

Highload blocks are an alternative to extended infoblock properties when the list of values can grow to thousands of entries. Typical example: manufacturers, countries, colors. If stored as list properties in an infoblock, each filter triggers a full scan of b_iblock_property_enum table. With HL-blocks, selection uses indexes – filter response time drops from 1–2 seconds to 50 ms. We use HLB component and custom queries via Bitrix\Highloadblock\DataManager. This is critical for catalogs with 100,000+ items.

From our practice: an online store with 500,000 items. Standard filter by brand took 4 seconds. The server couldn't handle 50 concurrent requests – pages crashed. We moved the brand directory to an HL-block, added tagged caching for 15 minutes, and set up an agent to clear cache on change. After optimization, filter time was 120 ms, average LCP was 1.8 seconds. The project runs stable without failures.

What integrations are critical for 1C-Bitrix stores

Each e‑commerce project requires reliable connections with payments, fiscalization, logistics, and CRM. We integrate YooKassa, CloudPayments, Tinkoff, Apple Pay, Google Pay for payments; ATOL and OrangeData for 54-FZ compliance via sale.cashbox; CDEK, Boxberry, PEC, Russian Post, Yandex.Delivery for logistics; Bitrix24, amoCRM, Roistat, Calltouch, Mindbox for analytics and CRM. All integrations are configured with proper error handling and fallback logic.

What's included in 1C-Bitrix website development

Each project includes a full set of documentation and artifacts to prevent knowledge loss after handover.

  • Technical specification – user stories, infoblock diagrams, integration schemas.
  • Source code in Git – with commit history, release tags, branching rules.
  • Administrative documentation – description of custom components, deployment instructions, list of agents and events.
  • Staff training – up to a 3-hour webinar: admin panel, order management, price settings. Recorded for later review.
  • Access to staging during development – test before production deployment.
  • Warranty support – bug fixes for 30 days after launch. Post-warranty support packages with SLA (response 2 hours, resolution 8 hours).

Our process and technologies

Project type Timeline Complexity Key features
Corporate website from 1 month Medium Catalog, news, forms, CRM integration
Online store from 2 months High 54-FZ, marketplaces, 1C exchange, SKU
B2B portal from 3 months Very high Personal prices, document flow, Bizproc
Landing page from 2 weeks Low LCP < 2s, composite cache, static
Multisite structure from 1.5 months High Separate content, shared catalog, hreflang

Tech stack: mobile-first markup, tested on physical devices (iPhone, iPad, Android). Use BrowserStack for Safari on iOS. Performance goals: LCP < 2.5 s, FID < 100 ms, CLS < 0.1. Enable composite site (composite module), CDN, tagged caching, WebP/AVIF, lazy loading. SEO: Schema.org via JSON-LD, auto-generation of sitemap.xml via seo module, canonical and hreflang for multilingual versions. robots.txt blocks /bitrix/ from indexing. CI/CD: Git, auto-deploy via GitLab CI, staging. DB migrations: sprint.migration module with versioning.

Process:

  1. Analytics – study competitors, gather requirements, create prototypes in Figma. Output: technical specification with user stories.
  2. Design – UI/UX with design system. Components are reusable.
  3. Development – write components with custom templates in local/templates/. Business logic in local/modules/.
  4. Testing – functional, cross-browser, load testing (up to 1000 requests). Critical bugs fixed before launch.
  5. Launch – deploy to production, monitoring via UptimeRobot, alerts in Telegram. Fixes for first 48 hours.

Multilingual support and redesign

Full localization via language files lang/ and SITE_ID mechanism. hreflang for each version. Regional versions with different prices and content – IP detection (main.geo) or manual selection. Multidomain – unified management of multiple domains.

Redesign without losing rankings: performance audit (PageSpeed, WebPageTest), SEO (Screaming Frog). New template in local/templates/ with preserved URL structure. 301 redirects only if URL changes significantly. Kernel update, migration to D7 ORM, infoblock restructuring, migration via sprint.migration with Git.

Guarantee and support

We have been working with 1C-Bitrix for 12+ years, completed 500+ projects. Certified developers on staff. Fixed price in contract – no surprises. Warranty period covers code errors. After warranty, subscription packages with SLA (response time 2 hours, resolution 8 hours). 24/7 availability monitoring, alerts in Telegram. Get a consultation and preliminary estimate: contact us via the form on the website or chat – we'll respond within an hour. Order turnkey development – we'll design infoblocks, integrate 1C, and speed up the catalog. If you already have a site on another CMS, order a performance audit and migration to Bitrix.