1C-Bitrix Architecture Design and Refactoring – Turnkey Solutions

Architecting a 1C-Bitrix Project – Turnkey from $1,000 We often see projects where architectural decisions were made on the fly. After a year, the site slows down on a catalog of 50,000 items, adding a new property requires edits in four places, and the 1C exchange is a 2,000-line script without

Our competencies:

Frequently Asked Questions

Architecting a 1C-Bitrix Project – Turnkey from $1,000

We often see projects where architectural decisions were made on the fly. After a year, the site slows down on a catalog of 50,000 items, adding a new property requires edits in four places, and the 1C exchange is a 2,000-line script without documentation. Usually, problems don't show immediately. At launch, everything works, but after six months of active catalog with 50,000 items and 20,000 visitors per day, crashes begin. The cause is suboptimal infoblock structure, no caching, and business logic scattered across templates. The result: each request generates 30+ SQL queries, page load is 5–7 seconds. Visitors leave, conversion drops, support is overwhelmed with bug reports. Every new property is painful, every 1C exchange is stressful. A load of 20,000 visitors per day is not the limit; during peak holiday periods, the site may go down completely. We design the architecture to prevent this. Contact us – we will evaluate your project for free within 2 days.

How to Choose Between Infoblocks and HL-blocks?

The choice depends on data type and load. Infoblocks are for catalogs with flexible properties, but for >100,000 elements and frequent property filtering, HL-blocks or custom tables are better. HL-blocks are 3 times faster than infoblocks for reference data. For example, a reference book of 200 regions fits an HL-block, while a product catalog with 50,000 items needs an infoblock with faceted index. We always perform load testing.

Layers of Bitrix Project Architecture

Bitrix has several levels, and decisions at each affect others. Let's look at the key ones.

Data Layer: Infoblocks, HL-blocks, Custom Tables

Infoblocks (b_iblock_element, b_iblock_element_property) are a flexible EAV, but at large volumes (>100,000 elements) performance drops. Key decisions:

  • Data distribution: infoblocks for main content, HL-blocks for reference data, custom tables via D7 ORM (\Bitrix\Main\ORM\Data\DataManager)
  • Structure of infoblock types and their grouping
  • Trade offer schema: one offer infoblock for everything or separate per category
Storage When to use When to avoid
Infoblocks (EAV) Product catalogs, content with many properties High-write load, large volumes (>100,000 elements)
HL-blocks (Highload) Reference books, value lists, auxiliary data Hierarchical data requiring nesting
Custom ORM tables Order logic, shopping cart, audit Simple reference data

Official 1C-Bitrix documentation states: "Infoblocks are intended for content data, while HL-blocks are for reference books and auxiliary entities". HL-block storage is 3 times faster when fetching 10,000 records than an EAV infoblock with a dozen properties.

Logic Layer: Components vs. Custom Code

Standard components (bitrix:catalog.section, bitrix:sale.order.ajax) cover typical scenarios. Beyond them, you choose: extend a template, create a custom component (CBitrixComponent), or write a D7 controller (\Bitrix\Main\Engine\Controller). The criterion: business logic specific to the project should not be in the template – the template is only for presentation.

What Is the Best Caching Strategy for Bitrix?

The architectural decision is what data to cache and how to invalidate. Options:

  • BXCache/CPHPCache – file cache for components
  • TaggedCache (\Bitrix\Main\Data\TaggedCache) – invalidation by tags
  • Cache D7 (\Bitrix\Main\Data\Cache) – unified cache with memcached/Redis support
  • Composite cache – static HTML for anonymous users

Properly configured caching speeds up page loading 5–10 times and reduces server load. Tagged caching is 2 times faster than file caching. Comparison:

Caching Method Speed (relative) Setup complexity Invalidation
File (BXCache) 50 Low Manual
Tagged (TaggedCache) 80 Medium Automatic by tags
Redis/Memcached 95 High Automatic by keys
Composite 100 (anonymous) Medium Full reset on changes
Example caching architecture decision For a catalog of 50,000 items, we use tagged caching with invalidation on infoblock changes. Composite cache is enabled for anonymous users. Result: page load time <1 second.

Caching as the Foundation of a Fast Bitrix Project

Without caching, each request to a catalog page generates dozens of SQL queries. On a catalog of 50,000 items, response time can exceed 5 seconds. Tagged caching invalidates only changed blocks, while composite cache serves static pages to anonymous users. In our projects, page load times do not exceed 1 second. If you recognize your project in this description, get a consultation – we will suggest how to fix the architecture.

Frontend Layer

Bitrix supports several approaches: classic PHP template with jQuery, components with BX.ajax, and a modern stack – Vue/React via REST API. The choice affects maintainability: the support frontend developer must be familiar with the chosen decision.

Multisite and Multiregionality

If a project spans multiple regions or languages, the architectural decision is made at the start. Bitrix supports multiple sites in one core with a shared database, language versions via the main module, regional sites with different domains. A wrong choice (e.g., separate catalogs for each region instead of one with regional prices) leads to duplication and synchronization issues.

Case Study: Refactoring an E-commerce Project's Architecture

From our practice: an industrial equipment distributor with no clear architectural decision: 4 catalog infoblocks for different categories, each with its own set of string properties, business logic in init.php, component templates containing logic. By the time of refactoring: 45,000 items total, adding a new property required edits in 4 places, filtering did not work across infoblocks, 1C exchange was a custom 2,000-line script without documentation. The design cost for such a project is determined after analysis, and it pays back through reduced support costs. We completed the redesign within 3 weeks.

Implemented Solution:

  1. Merged 4 infoblocks into one with a unified property schema using HL-blocks
  2. Moved business logic from templates to D7 components and service classes in local/lib/
  3. Broke down init.php logic into event handlers registered via AddEventHandler
  4. Configured faceted index on the unified infoblock – filtering worked correctly
  5. Standard 1C exchange via CommerceML replaced the custom script

Result: page load time reduced 4 times, support cost savings of approximately 40% annually. The entire project scales without rewriting code. If you face similar issues, contact us – we will help redesign the architecture.

What's Included in the Architecture Design Phase

  • Analysis of business requirements and forecasted loads
  • Data structure diagram: infoblocks, HL-blocks, relationships
  • Component composition schema for pages
  • Caching and invalidation schema
  • Integration architecture: 1C, CRM, payment gateways
  • Migration plan (if not a greenfield project)
  • Documentation and handover to the development team
  • Access to our knowledge base and 1 month of post-launch support

Why Choose Us

  • 10+ years of Bitrix experience, 1C-Bitrix Expert certification
  • 80+ successful projects (e-commerce, portals, multisite networks)
  • Guarantee on architectural solutions – free revision within 30 days
  • Proven track record: 40% average support cost reduction for our clients

Estimated Timelines

Design takes from 1 week for a typical project to 4–6 weeks for enterprise systems with multiple integrations and multisite structure. Cost is calculated individually – typical range $1,000–$5,000. We have 10+ years of Bitrix experience, 1C-Bitrix Expert certification, and a guarantee on architectural solutions. Order architecture design – and your project will be ready for growth.