Типичная ситуация: сайт на Битрикс работает медленно при 50–100 RPS. Сервер захлёбывается, потому что Nginx тратит ресурсы на раздачу статики. Рассмотрим каталог из 50 000 товаров с фотографиями по 2 МБ каждый. Без CDN каждый посетитель загружает изображения с вашего сервера, генерируя 200–300 RPS на статике — Nginx и PHP-fpm простаивают, обрабатывая запросы, которые можно раздать с дешёвого edge. Мы решаем эту проблему подключением Cloudflare CDN. Статика раздаётся с edge-серверов, а origin обрабатывает только динамику. Нагрузка на сервер падает на 40–70%, а скорость загрузки страниц растёт. Также снижаются затраты на хостинг — экономия до 60 % на трафике, что для среднего проекта составляет $400–600./мес. Свяжитесь с нами для предварительной оценки вашего проекта — это бесплатно.
Что кэшировать, а что нет
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 месяца. Закажите аудит вашего сайта — мы подготовим индивидуальное предложение.







