Настройка сжатия CSS и JS на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка сжатия CSS и JS на 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка сжатия CSS и JS на 1С-Битрикс

Без сжатия исходные CSS и JS файлы Битрикс-проекта передаются клиенту в оригинальном размере. Для среднего проекта это 500 KB–2 MB суммарно. Gzip или Brotli сжатие снижает объём передаваемых данных в 3–7 раз для текстовых ресурсов — это один из самых простых в реализации приростов скорости.

Встроенные инструменты сжатия Битрикс

Битрикс включает собственный механизм минификации и объединения CSS/JS, доступный в Настройки → Производительность → Сжатие. Он работает на уровне PHP: собирает подключённые через CMain::AddCSSLink() и CMain::AddHeadScript() файлы, минифицирует их и сохраняет в /bitrix/cache/css/ и /bitrix/cache/js/. Результирующие файлы получают хеш в имени — браузер кеширует их агрессивно.

Важно: минификация Битрикс работает только с файлами, подключёнными через API Битрикс. CSS и JS, подключённые напрямую в шаблоне через <link> и <script>, не обрабатываются. На legacy-проектах нередко половина файлов подключена «мимо» API.

Сжатие на уровне nginx

Минификация уменьшает размер файлов, но сжатие при передаче (gzip/Brotli) — отдельная задача. Конфигурация в nginx:

gzip on;
gzip_types text/css application/javascript application/json text/javascript;
gzip_min_length 1024;
gzip_comp_level 5;
gzip_vary on;

gzip_comp_level 5 — баланс между степенью сжатия и нагрузкой на CPU. Уровни 6–9 дают минимальный прирост сжатия при значительно большей нагрузке. gzip_vary on добавляет заголовок Vary: Accept-Encoding, необходимый для корректной работы кеширующих прокси и CDN.

Что проверить при настройке

Частая ошибка: gzip включён в nginx, но PHP-FPM или сам Битрикс тоже сжимают ответ — получается двойное сжатие. Симптом: браузер выдаёт ошибку декодирования или файл скачивается вместо выполнения. Проверяется через curl -I -H "Accept-Encoding: gzip" https://mysite.ru/bitrix/cache/css/file.css — в заголовках должно быть Content-Encoding: gzip.

Для минифицированных файлов с хешем в имени рекомендуется настроить статическое (pre-compressed) сжатие через gzip_static on — nginx отдаёт заранее сжатый .gz-файл без нагрузки на CPU в реальном времени.

Кейс и типичный результат

Корпоративный сайт на Битрикс «Стандарт», 12 CSS и 23 JS файла подключены через API. После включения минификации Битрикс и gzip на nginx: суммарный размер CSS+JS снизился с 1,4 MB до 180 KB (минификация) → 48 KB (gzip). Количество HTTP-запросов к CSS сократилось с 12 до 2, к JS — с 23 до 3. Время до DOMContentLoaded снизилось на 0,8 с на мобильных соединениях 3G.

Настройка занимает 4–8 часов: аудит способов подключения CSS/JS, перевод прямых подключений на API Битрикс, включение минификации, настройка gzip в nginx, проверка отсутствия двойного сжатия.