Типова ситуація: сайт на Бітрікс працює повільно при 50–100 RPS. Сервер задихається, тому що Nginx витрачає ресурси на роздачу статики. Розглянемо каталог з 50 000 товарів з фотографіями по 2 МБ кожна. Без CDN кожен відвідувач завантажує зображення з вашого сервера, генеруючи 200–300 RPS на статиці — Nginx та PHP-fpm простоюють, обробляючи запити, які можна роздати з дешевого edge. Ми вирішуємо цю проблему підключенням Cloudflare CDN. Статика роздається з edge-серверів, а origin обробляє тільки динаміку. Навантаження на сервер падає на 40–70%, а швидкість завантаження сторінок зростає. Також знижуються витрати на хостинг — економія до 60 % на трафіку, що для середнього проекту розраховується індивідуально. Зв'яжіться з нами для попередньої оцінки вашого проекту — це безкоштовно.
Що кешувати, а що ні
Cloudflare за замовчуванням кешує файли за розширенням: .js, .css, .jpg, .png, .woff2, .svg та інші. HTML і PHP не кешуються. Для Бітрікс це правильна поведінка — динамічні сторінки повинні генеруватися на сервері.
Винятки налаштовуються через Page Rules або Cache Rules:
| Шлях | Дія | Причина |
|---|---|---|
/upload/resize_cache/ |
Кешувати | Ресайзи зображень не змінюються після генерації |
/bitrix/cache/ |
Не кешувати | Внутрішній кеш Бітрікс, не призначений для CDN |
/bitrix/admin/* |
Bypass | Адміністративна панель не повинна кешуватися |
/personal/*, /auth/* |
Bypass | Особистий кабінет, форми авторизації |
Чому Cloudflare не кешує статику?
Часта проблема: Cloudflare показує DYNAMIC для .js та .css. Причина — сервер виставляє Cache-Control: no-store або Set-Cookie. Бітрікс може додавати cookie сесії на будь-який запит. Рішення: налаштувати Nginx так, щоб статика оброблялася напряму, без передачі в PHP. Для цього додайте окрему локацію:
location ~* \.(js|css|jpg|jpeg|png|gif|ico|svg|woff|woff2|ttf|eot)$ { expires 30d; add_header Cache-Control "public, immutable"; } Директива immutable повідомляє браузеру, що файл не зміниться — браузер не буде відправляти conditional request (If-Modified-Since). Для Бітрікс це коректно, тому що збирач (Vite/webpack) додає хеш в ім'я файлу при кожній збірці.
Як налаштувати Cloudflare CDN для Бітрікс?
- Підключіть домен до Cloudflare — змініть NS-записи на ті, що надасть Cloudflare.
- Налаштуйте DNS — переконайтеся, що A-записи вказують на ваш сервер, увімкніть оранжеву хмару для проксі.
- Налаштуйте Page Rules — для шляхів
/upload/*та/bitrix/images/*задайтеCache Level: StandardіEdge Cache TTL: 1 month. Для/bitrix/admin/*,/personal/*,/auth/*—Cache Level: Bypass. - Увімкніть оптимізації — в Dashboard: Speed → Optimization увімкніть Polish (lossy) та Brotli. Auto Minify для JS та CSS (HTML вимкніть).
- Перевірте кешування — відкрийте консоль розробника та перевірте заголовки на статичному файлі. Має бути
cf-cache-status: HIT.
Порівняння до та після налаштування CDN
| Параметр | До CDN | Після CDN |
|---|---|---|
| Навантаження на сервер | 100% RPS | 30–60% RPS |
| Час завантаження сторінки | 3–5 с | 1–2 с (для повторних переглядів) |
| Трафік на origin | Повний | Тільки динаміка (~30% вихідного) |
| Витрати на хостинг | Високі | Зниження на 40–70% |
Мініфікація та оптимізація
Cloudflare пропонує Auto Minify для JS, CSS та HTML. Для Бітрікс вимкніть мініфікацію HTML — вона може зламати вставки <script> в компонентах та інлайнові стилі. JS та CSS мініфікацію можна залишити, але якщо ви вже мініфікуєте на етапі збірки (Vite, webpack) — Cloudflare minify не дасть виграшу і лише додасть затримку на edge.
Polish (оптимізація зображень) — вмикайте. Стискає JPEG та PNG без втрати якості (lossy/lossless). Для каталогів з тисячами товарних фотографій економія трафіку досягає 20–30%.
Brotli-стиснення — вмикайте. Cloudflare стискає текстові відповіді (HTML, JS, CSS) алгоритмом Brotli, який ефективніший за gzip на 15–20%. Наш досвід показує, що це дає помітне прискорення для користувачів з повільним інтернетом.
Як перевірити роботу CDN?
Після налаштування перевірте заголовки відповіді для статичного файлу:
-
cf-cache-status: HIT— файл відданий з кешу Cloudflare. -
cf-cache-status: MISS— файл запитаний з origin (перший запит або кеш закінчився). -
cf-cache-status: DYNAMIC— Cloudflare не кешує цей ресурс (HTML, PHP).
Якщо бачите DYNAMIC для .js або .css — перевірте, чи не виставляє origin заголовок Cache-Control: no-store або Set-Cookie. Cloudflare не кешує відповіді з Set-Cookie, а Бітрікс може виставляти cookie сесії на будь-який запит. Переконайтеся, що для статики Nginx обробляє запит напряму, без передачі в PHP.
Що входить в налаштування Cloudflare CDN під ключ?
Ми надаємо повний комплекс робіт:
- Аудит поточної конфігурації Nginx та заголовків кешування.
- Налаштування Page Rules для коректного кешування статики.
- Оптимізація зображень через Polish та Brotli-стиснення.
- Тестування заголовків відповіді та виправлення помилок.
- Передача документації з налаштування та інструкцій для вашої команди.
- Гарантія на результат — якщо після наших налаштувань CDN працює некоректно, ми доводимо до ідеалу безкоштовно.
Отримайте консультацію інженера — оцінимо ваш проект за 1 день. Як зазначає документація Cloudflare, правильне налаштування кешування підвищує продуктивність у рази. Докладніше про Brotli.
Чек-лист для самостійної перевірки:
- Перевірено Cache-Control для статики
- Вимкнено передачу статики через PHP
- Налаштовано Page Rules для /upload/ та /bitrix/
- Увімкнено Polish (lossy або lossless)
- Увімкнено Brotli
- Вимкнено мініфікацію HTML
- Перевірено заголовки cf-cache-status
Наш досвід: понад 5 років на ринку, 200+ проектів на Бітрікс, сертифіковані спеціалісти. Економія на трафіку окупає налаштування CDN за 2–3 місяці. Замовте аудит вашого сайту — ми підготуємо індивідуальну пропозицію.







