Оптимизация скорости загрузки сайта 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Оптимизация скорости загрузки сайта 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    844
  • 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
    582
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    749
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    981

Оптимизация скорости загрузки сайта 1С-Битрикс

Типичная картина после нескольких лет развития битрикс-проекта: TTFB 800–1200 мс, Largest Contentful Paint за 4 секунды, PageSpeed Insights в красной зоне. Причины обычно не в хостинге — они внутри самого приложения: некешированные компоненты, неоптимизированные запросы к инфоблокам, 200+ HTTP-запросов на страницу из-за несобранных JS/CSS, и изображения без сжатия, загружаемые в оригинальном разрешении.

Оптимизация 1С-Битрикс — это не одно действие, а последовательное устранение нескольких классов проблем. Каждый класс даёт свой прирост, и важно работать в правильном порядке: сначала серверная сторона, потом фронтенд.

Серверная сторона: кеш, запросы, агенты

Кеширование компонентов — первое, с чего начинается любой аудит. В Битрикс каждый компонент управляет своим кешем через параметр CACHE_TYPE и CACHE_TIME. Часто встречается ситуация, когда разработчики выставили CACHE_TYPE = N («без кеша») при отладке и забыли вернуть. Один такой компонент на главной странице — и TTFB растёт в разы.

Проверка через \Bitrix\Main\Diag\Debug::dumpToFile() или модуль bitrix.performance показывает список некешированных компонентов и время их выполнения. Стандартный инструмент — панель производительности (.../bitrix/admin/perfmon_panel.php).

Оптимизация запросов к БД. Инфоблоки Битрикс при неаккуратном использовании генерируют запросы с SELECT * к b_iblock_element, b_iblock_element_property, b_iblock_section без ограничения по полям. Переход на API D7 (Iblock\ElementTable) с явным указанием select снижает объём передаваемых данных и нагрузку на MySQL. Отдельная тема — N+1 проблема: компонент в цикле делает запрос для каждого элемента. Выявляется через $DB->ShowSqlStat() или MySQL slow query log с long_query_time = 0.1.

Агенты и фоновые задачи. Агенты Битрикс по умолчанию выполняются в контексте веб-запроса, если не настроен cron-режим. Это добавляет 50–300 мс к случайным запросам. Перевод агентов на cron (/bitrix/modules/main/tools/cron_events.php) убирает эту задержку полностью.

Композитный сайт: что реально ускоряет и когда не помогает

Композитный режим Битрикс (bitrix.composite) кеширует HTML страниц в файловой системе и отдаёт их без выполнения PHP, заменяя динамические блоки (корзина, авторизация) через AJAX. Для контентных и каталожных страниц это самый мощный инструмент — TTFB падает до 20–50 мс.

Но композит не работает автоматически. Требуется разметка динамических зон тегом bitrix:nocache, перевод авторизации и корзины на AJAX-компоненты, настройка исключений для страниц с персонализацией. Неправильная настройка приводит к тому, что в кеше оказываются данные залогиненного пользователя — критическая ошибка на проектах с личным кабинетом.

Фронтенд: HTTP-запросы и вес ресурсов

После серверной оптимизации смотрим на клиентскую часть через Chrome DevTools → Network. Типичные проблемы битрикс-проектов:

  • Несобранные CSS/JS: каждый модуль подключает свои файлы отдельно. На нагруженном проекте это 30–80 файлов. Битрикс умеет объединять их через настройки сжатия (Настройки → Производительность → Сжатие), но требует корректной настройки путей и HTTP/2.
  • Изображения без оптимизации: оригинальные файлы из медиабиблиотеки раздаются без конвертации в WebP, без srcset для retina. Модуль resize_image позволяет нарезать изображения на лету, но без настройки кеша нарезки это создаёт нагрузку.
  • Отсутствие lazy load: изображения ниже fold загружаются вместе с первым экраном. В Битрикс это решается через атрибут loading="lazy" в шаблонах компонентов или JavaScript IntersectionObserver.

Кейс: корпоративный интернет-магазин, 15 000 SKU

Проект на Битрикс «Бизнес», PostgreSQL, VPS 4 CPU / 8 GB RAM. До оптимизации: PageSpeed Mobile — 22/100, TTFB — 1,4 с, LCP — 5,8 с. Жалобы клиентов на медленную загрузку каталога.

Аудит выявил:

  • 4 компонента с CACHE_TYPE = N на главной (оставлены разработчиком при дебаге)
  • N+1 в компоненте «похожие товары» — 48 запросов на страницу товара
  • Агенты в веб-режиме, 11 агентов выполнялись синхронно
  • 94 HTTP-запроса на главной (CSS/JS не объединены)
  • Изображения в JPEG без WebP, средний размер 340 KB

Последовательность работ:

  1. Исправление кеширования компонентов → TTFB 1,4 с → 380 мс
  2. Оптимизация N+1, перевод на D7 API → запросов на страницу товара: 48 → 6
  3. Перевод агентов на cron → убрали 80–200 мс латентность
  4. Объединение CSS/JS → HTTP-запросов: 94 → 18
  5. WebP через CFile::ResizeImageGet() + lazy load → средний вес страницы: 2,8 MB → 680 KB
  6. Настройка композитного режима для каталога и главной

Итог: PageSpeed Mobile 71/100, TTFB 180 мс, LCP 2,1 с. Конверсия мобильного трафика выросла — пользователи перестали уходить с медленных страниц каталога.

Инструменты для самодиагностики

До обращения к специалистам можно самостоятельно проверить:

  • /bitrix/admin/perfmon_panel.php — встроенная панель производительности Битрикс
  • MySQL slow query log (long_query_time = 1) — медленные запросы
  • Chrome DevTools → Lighthouse — общая картина по фронтенду
  • php artisan аналог в Битрикс — php bitrix/modules/main/tools/cron_events.php для проверки агентов

Этапы и сроки

Работа разбивается на аудит и устранение проблем по приоритетам:

Этап Содержание Срок
Аудит Анализ TTFB, запросов, кеша, фронтенда 1–2 дня
Серверная оптимизация Кеш, запросы, агенты, композит 3–7 дней
Фронтенд-оптимизация CSS/JS, изображения, lazy load 2–5 дней
Тестирование и мониторинг Нагрузочные тесты, настройка метрик 1–2 дня

Сроки зависят от объёма кастомного кода и количества выявленных проблем.