1C-Bitrix Site Architecture & Performance: Custom Development

When we take on a Bitrix project, the first question is not "which template" but "how to design the data structure so that filters don't need rewriting in a year"? One misconfigured infoblock with 30 properties — and `b_iblock_element_property` grows to millions of rows. `CIBlockElement::GetList`

Our competencies:

Frequently Asked Questions

When we take on a Bitrix project, the first question is not "which template" but "how to design the data structure so that filters don't need rewriting in a year"?

One misconfigured infoblock with 30 properties — and b_iblock_element_property grows to millions of rows. CIBlockElement::GetList takes 4 seconds, and the faceted index doesn't help because link properties aren't in b_catalog_sm_*. To rebuild on production means rewriting templates, filters, SEO rules. It's cheaper to design it right once. Our experience shows that proper architecture saves up to 40% of maintenance budget. Common consequences of wrong architecture: increased page load times, drop in conversion, and cost overruns on refinements.

Why the choice of storage type determines performance

This isn't an abstract question. It decides which components work out-of-box and which have to be written from scratch. A design mistake can cost months of code rewriting.

Infoblocks store properties in the EAV table b_iblock_element_property. For 5,000 products with 10 properties — 50,000 rows, MySQL handles it. For 80,000 products with 25 properties — 2,000,000 rows, JOINs during filtering take seconds. But infoblocks provide SEO wrapper, visual editor, catalog components.

Highload-blocks — flat table, one column per property. Indexes are efficient, filtering 200,000 records takes 30-80 ms. No section property inheritance, no built-in SEO module. Ideal for reference data (cities, brands).

D7 ORM (Bitrix\Main\ORM\Data\DataManager) — for entities that don't fit into infoblocks or HL-blocks: orders with relations, custom logs, aggregations. Full control, but admin panel is built manually.

Criterion Infoblocks Highload-blocks D7 ORM
Filter speed for 100K+ items 1-3 s (with faceted index 50-200 ms) 30-80 ms Depends on query
Built-in catalog components Yes No No
SEO module Yes No No
Arbitrary relations Limited By field Full-fledged

How Bitrix compares with WordPress and Laravel

WordPress also uses EAV via wp_postmeta, but lacks built-in e-commerce level. WooCommerce is a plugin. Bitrix provides the catalog module with trade offers, price types, warehouse accounting, 1C exchange via CommerceML. For companies living in 1C:Enterprise, this is a decisive factor.

Laravel is a framework, not a CMS. Freedom of architecture, but catalog, cart, access rights, 1C exchange are written from scratch. On a project with a 4-6 month budget and a team of 3, Laravel is justified. For a corporate site needed in 2 months, Bitrix is faster. Not better — faster for typical tasks.

The key difference is the component approach. bitrix:catalog.section is a ready-made bundle of controller + model + caching. It's included in a template, configured via $arParams, customized in template.php. Business logic goes into result_modifier.php or a custom module in local/modules/. Template in local/templates/. Not in the core, never in the core.

How we ensure performance before the first commit

Optimizing after launch is expensive. Here's what we build into the architecture:

Caching — three levels: managed component cache, common cache (memcached/Redis), composite site. Composite delivers HTML without kernel initialization — response time drops from 200 ms to 15-30 ms.

Static files — CDN for /upload/, /bitrix/js/, /bitrix/css/. WebP via CFile::ResizeImageGet(). Lazy loading. Moving static to CDN reduces server load by 40-60%.

Database — composite indexes on frequently filtered properties. EXPLAIN on every heavy query. For catalogs over 50,000 products — faceted indexes (Bitrix\Catalog\Model\SmartFilter), filter time goes from 3 seconds to 50 ms.

PHP — OPcache with JIT on PHP 8.1+, realpath_cache_size=4096K. Check via "Performance" → "PHP" panel.

Case: 6x catalog speedup

For a client with a catalog of 120,000 products and 40 properties, we migrated filtering from infoblocks to Highload-blocks with faceted indexes. Catalog page load time dropped from 4.2 s to 0.7 s. Additionally, we enabled composite cache for unauthorized users — time to first byte became 25 ms. Maintenance savings reached 30% of annual budget.

Learn more about composite mode in the official documentation.

What is included in the work

  • Requirements analysis and data architecture design
  • Design and responsive layout
  • Custom components and modules
  • Integration with 1C (CommerceML), payment systems, delivery services
  • Caching, CDN, composite mode setup
  • Testing (functional, load, security)
  • Documentation and admin training
  • 12-month warranty support

Stages and timelines

  1. Analysis and design (1-2 weeks) — infoblock specification, integrations, prototypes
  2. Design (1-3 weeks) — UI/UX, design system
  3. Development (3-8 weeks) — 2-week sprints, demo on staging
  4. Testing (1-2 weeks) — PageSpeed, Lighthouse, WebPageTest
  5. Launch (3-5 days) — deployment, monitoring, stabilization
Project scope Timeline
Corporate site, 10-20 pages 6-10 weeks
Catalog with filtering, up to 10,000 products 8-14 weeks
Online store with 1C 12-20 weeks
B2B portal with personal account 14-24 weeks

Timelines are adjusted after requirements analysis. Cost is calculated individually — too many variables for template numbers.

Typical mistakes in Bitrix projects

  • Business logic in template.php. Discounts, permissions — move to result_modifier.php or a module service class.
  • Direct SQL queries ($DB->Query()) instead of D7 ORM. Loses caching, type safety, injection protection.
  • One giant init.php with 2000 lines. Move to a module with autoloading.
  • Cache without tags. Use SetResultCacheKeys() and CIBlock::clearIblockTagCache().
  • Updating the core without staging. Always staging, then production.

Our engineers have 1C-Bitrix certification and 10+ years of commercial experience. We guarantee quality and timeline.

Order a Bitrix site — get a consultation and project estimate in 2 days. Contact us to discuss details.