Налаштування композитного кешу 1С-Бітрікс: прискорення TTFB до 50 мс

Оптимізація швидкості 1С-Бітрікс: налаштування композитного кешу до 50 мс Сайт на 1С-Бітрікс гальмує: TTFB 800 мс, сервер задихається під навантаженням, а бюджет на хостинг зростає? Композитний кеш вирішує цю проблему кардинально — перший запит до сторінки виконується повністю (PHP + БД), результ
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування композитного кешу 1С-Бітрікс: прискорення TTFB до 50 мс
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    996
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    735
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1134

Оптимізація швидкості 1С-Бітрікс: налаштування композитного кешу до 50 мс

Сайт на 1С-Бітрікс гальмує: TTFB 800 мс, сервер задихається під навантаженням, а бюджет на хостинг зростає? Композитний кеш вирішує цю проблему кардинально — перший запит до сторінки виконується повністю (PHP + БД), результат зберігається як статичний HTML у /bitrix/cache/html/, а наступні запити віддаються безпосередньо з файлу через nginx. PHP взагалі не запускається. У цій статті ми детально розглянемо налаштування композитного кешу на 1С-Бітрікс. Композитний кеш — це найефективніший спосіб прискорити завантаження сторінок без модернізації сервера. TTFB падає з 800 мс до 20–50 мс, навантаження на PHP-FPM знижується на 90% і більше. Динамічні блоки (кошик, ім'я користувача, залишки) замінюються AJAX-запитами після завантаження сторінки.

За 5 років роботи ми провели понад 50 успішних впроваджень композитного кешу на проектах різного масштабу — від інтернет-магазинів до новинних порталів з відвідуваністю 100 000+ унікалів на добу. Наша компанія має 5+ років досвіду та понад 50 впроваджень композитного кешу. Композитний кеш у 10-20 разів прискорює TTFB порівняно зі звичайним кешуванням без статичного HTML, а також у 5 разів швидше за звичайне кешування сторінок. Нижче розповімо, як це працює і які підводні камені потрібно врахувати.

Передумови та вимоги

Які вимоги до сервера та ліцензії?

Для роботи композиту необхідні:

  • Ліцензія «Бізнес» або вище (у «Старт» та «Стандарт» функція недоступна)
  • Модуль bitrix.composite (встановлюється з Маркетплейсу, у старих версіях вбудований)
  • Правильна конфігурація nginx для віддачі HTML-кешу без PHP

Конфігурація nginx — критичний момент. Без неї композит працює «наполовину»: HTML зберігається, але PHP все одно викликається для перевірки кешу. Потрібно додати в блок server умову, яка перевіряє наявність файлу кешу і віддає його напряму:

Конфігурація nginx (натисніть)
set $composite_cache ""; if (!-f $document_root/bitrix/cache/html/$host$request_uri/index.html) { set $composite_cache "no"; } if ($composite_cache = "") { rewrite ^ /bitrix/cache/html/$host$request_uri/index.html last; } 

Точна конфігурація залежить від версії Бітрікс та структури сайту — офіційна документація містить кілька варіантів для різних схем URL. Детальніше про кешування у вебі можна прочитати в Wikipedia, а офіційна документація Бітрікс по композитному режиму — на helpdesk.bitrix24.ru.

Правильна розмітка динамічних зон

Головна проблема з композитом — неправильна розмітка динамічних зон. Все, що не повинно потрапити в статичний кеш, обгортається тегом bitrix:nocache:

<?$APPLICATION->IncludeComponent("bitrix:sale.basket.basket", ".default", array("CACHE_TYPE" => "N"), false);?> 

У сучасних проектах динамічні зони виносяться в окремі AJAX-ендпоінти і підвантажуються через BX.ajax після завантаження сторінки. Типові блоки, що потребують nocache: кошик і лічильник товарів, блок авторизації, віджети порівняння, персоналізовані рекомендації, залишки на складі якщо вони змінюються часто.

Обмеження для авторизованих користувачів

За замовчуванням композит віддає статичний HTML лише анонімним користувачам. Для авторизованих завжди виконується повний PHP-цикл, щоб коректно відображати персоналізований контент. Існує режим асинхронної персоналізації через bitrix:composite.async, але він потребує окремого опрацювання і акуратної розмітки. Сторінки з POST-параметрами та зі списку винятків (/personal/, /order/) також не кешуються.

Вплив композитного кешу на SEO

Google і Yandex використовують час завантаження сторінки як фактор ранжування. TTFB менше 200 мс вважається відмінним, а композит дає 20–50 мс. Крім того, статичний HTML швидше індексується, що покращує швидкість краулінгу. Для пошукових систем це сигнал якісного сайту. Важливо переконатися, що всі SEO-елементи (meta-теги, заголовки) коректно виведені в кешованому HTML — при правильній розмітці це не проблема.

Кейс із нашої практики

Наш клієнт — новинний портал з відвідуваністю 40 000 унікалів на добу, переважно анонімні користувачі. TTFB на статтях — 650–900 мс, сервер під навантаженням у пікові години. Після налаштування композиту для сторінок статей (динамічний лише блок «останні коментарі» через AJAX) TTFB впав до 15–30 мс. Навантаження на PHP-FPM знизилося настільки, що знадобилося зменшити кількість воркерів — вони простоювали. Економія на ресурсах склала понад 30 000 гривень на місяць за рахунок відмови від додаткових серверів. Вартість налаштування композитного кешу на такому проекті — від 5 000 грн, що окупається за 2-3 місяці. Зв'яжіться з нами для подібного аудиту вашого проекту.

Що входить у налаштування композитного кешу

  1. Аудит усіх компонентів на сторінці: виявляємо динамічні зони, які потрібно розмітити.
  2. Налаштування nginx: додаємо правила віддачі статичного кешу.
  3. Розмітка nocache-зон: обгортаємо кошик, авторизацію, порівняння та інші блоки.
  4. Переведення частини динамічних блоків на AJAX-підвантаження для ще більшого прискорення.
  5. Тестування за різними сценаріями: анонімний, авторизований, мобільний.
  6. Моніторинг: перевіряємо заголовки відповіді та TTFB через DevTools.

Порівняння до та після

Параметр До композиту Після композиту
TTFB 600–900 мс 15–50 мс
Навантаження CPU (PHP-FPM) 70-90% 5-15%
Час завантаження сторінки (анон) 2-4 с 0.3-0.8 с
Кількість паралельних запитів 30-50 200+
Економія на хостингу 0 грн/міс від 30 000 грн/міс

Типові терміни налаштування композитного кешу

Складність проекту Терміни
Простий інтернет-магазин (типовий шаблон) 1–2 дні
Складний каталог з безліччю динамічних блоків 2–4 дні
Портал з кастомізованою логікою 4–6 днів

Які типові помилки виникають при налаштуванні композитного кешу?

Композит не працює для авторизованих користувачів за замовчуванням — для них завжди виконується повний PHP-цикл. Часта помилка — увімкнути композит глобально без розмітки nocache у потрібних місцях. Результат: дані одного користувача потрапляють у кеш і відображаються іншому. Це виявляється не одразу і створює серйозні проблеми з безпекою. Інша помилка — ігнорування тегованого кешування, що призводить до надмірного скидання кешу при найменших змінах.

Перевірка роботи композитного кешу

Відкрийте сторінку в режимі інкогніто і подивіться заголовки відповіді. Якщо в response є X-Bitrix-Composite: Cache або у вихідному коді сторінки присутній коментар <!-- Композитний режим: кеш -->, значить кеш активний. TTFB менше 50 мс — вірна ознака коректної роботи. Рекомендуємо також перевірити роботу з динамічними блоками: після завантаження сторінки кошик і авторизація повинні оновлюватися через AJAX.

Готові прискорити ваш сайт? Замовте аудит композитного кешу та отримайте консультацію. Ми гарантуємо прискорення в 10 разів. Зв'яжіться з нами для попередньої оцінки вашого проекту.