Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Article5 min readViews2

How to Check Composite Mode in 1C-Bitrix: When Caching Speeds Up the Store and When It Hinders

How to Enable Composite Mode in 1C-Bitrix Without False Speed Gains: Check Dynamic Zones, Personal Data, Caching, and Behavior After Changes

Comments 0

Server and storefront of an online store with transparent caching layers and no labels
In this article

The page loads faster, but for a moment you see a stranger's city in the header, the price changes after loading, and the cart shows yesterday's quantity. This is not an argument against caching. It is a sign that the static part and personal data were not separated correctly or the mode was enabled based on a single speed measurement.

The composite technology in 1C-Bitrix saves the common part of the page and updates dynamic areas separately. The benefit appears only when the template and components are prepared for this. Simply enabling the mode does not fix a slow request and may make errors less noticeable.

Before enabling, create a map of dynamic elements

For each page fragment, ask: Is it identical for two new visitors, and does it remain valid after a user action? The logo and menu structure are usually static. The cart, authorization, region, personalized price, delivery availability, and favorites list depend on the session or context.

Fragment

Usually, caching is possible

What to check

Structure and navigation

Yes

Are there right-dependent items?

Product description

Yes, with clearing on change

Version, language, region

Price

Depends on the store model

Price type, contract, currency, discount

Stock and delivery time

Often dynamic or short cache

Warehouse, region, exchange freshness

Cart and favorites

Personal dynamics

Session, authorization, multiple tabs

Recommendations

Depends on personalization

Do not reveal another user's actions

B2B stores require special care: prices and assortments may depend on the organization and contract. A fragment shared by retail shoppers ceases to be shared after a dealer is authorized.

Check three states, not just the main page

The minimum set includes a new anonymous session, a returning user with a cart, and an authorized buyer. For each, open the product card, category, search, cart, and checkout. Repeat the check in two tabs and after changing the region or price type.

  • On the initial render, no foreign name, city, price, or cart contents should appear, even for a fraction of a second.

  • After adding a product, the counter and total update without fully clearing the entire cache.

  • Logging out removes personal state and leaves nothing in the shared section.

  • Price or stock changes appear within the agreed timeframe, not only after a manual reset.

  • Dynamic request errors must not hide the purchase button or display plausible outdated data without indication.

Measure server, browser, and repeat visits separately

A fast cache response reduces PHP and database work, but the user experience also depends on the network, images, scripts, and rendering. Compare cold and warmed caches, first and repeat visits, and the time until correct dynamic data appears.

One good metric on the main page does not prove catalog acceleration. Select typical pages and a fixed set of devices. Monitor the median and high percentiles, errors in dynamic requests, cache hit rate, and database load. Run the test before and after changes under comparable conditions.

Check cache invalidation by events

Cache must expire in a controlled manner. Changes to a product, price, section, or template should invalidate only dependent fragments. Full cache invalidation after every exchange with 1C renders the technology meaningless: the store constantly runs on a cold cache and creates load spikes.

Create a matrix of "change — affected pages — acceptable latency". For a product description change, this is the product card and possibly list items. For a price change, it is the card, category, cart, and checkout, though rules depend on the implementation. Verify the matrix with a real change in the staging environment.

Symptom

Likely direction of investigation

Failed quick fix

Price changes after loading

Boundary of the dynamic zone and price source

Caching personal prices for too long

Cache is almost always cold

Flush events and import frequency

Extend the duration without analysis

The cart displays an outdated number

Session and dynamic block refresh

Clear the entire site cache

Other users' data occasionally becomes visible

Personalization ended up in the shared section

Hide the block via script after it renders

The homepage loads quickly, but checkout is slow

Non-cacheable requests and integrations

Treat the project as accelerated

When to stop enabling

Do not enable the mode in production if personal data mixing, unpredictable cleanup, or purchase dependency on the successful loading of a secondary dynamic block is detected. First, fix the components and rerun the scenarios. Disabling the problematic page from the mode is permissible as a temporary boundary if it is documented and measured.

Official 1C-Bitrix documentation separately requires preparing components for the technology and includes checking functionality and debugging. This is important: the switch in the administrative section is the final configuration step, not an automatic template certification.

Acceptance criteria

  1. No personal fragment appears to another user.

  2. The product card, category, cart, and checkout maintain correctness with both cold and warmed cache.

  3. Catalog changes clear expected dependencies within the specified timeframe.

  4. Dynamic errors are observable and exhibit safe behavior for purchasing.

  5. Measurements show improvement in selected pages without an increase in errors or latency in critical dynamics.

  6. After updating a template or component, there is a short, repeatable regression test suite.

The composite mode is useful not because a speed sign appeared next to the site. Its value lies in the predictable separation of general and dynamic work. If the team can demonstrate cache boundaries, cleanup rules, and scenario results, the speedup can be maintained after subsequent updates, not just on the day of enabling.

Discussion 0

Share your experience and ask questions. Comments without links appear after editorial review.

No comments yet. Start the discussion.