← Все статьи
High-load · 11.11.2026 · 12 мин

Как ускорить сайт на Bitrix: 12 точек роста

Где Bitrix теряет секунды: компоненты, кэш, HL-блоки, изображения, JS и сервер. Практический план без переписывания.

Как ускорить сайт на Bitrix: 12 точек роста

Bitrix умеет работать быстро, но по умолчанию этого не делает. Тяжёлые компоненты, лишние запросы и неоптимизированные шаблоны накапливаются годами.

Ускорение не обязательно означает переписывание. Часто достаточно найти несколько узких мест и исправить их без смены платформы.

Почему Bitrix тормозит

Платформа даёт много готовых инструментов, но каждый компонент может тянуть за собой запросы, которые не нужны на конкретной странице.

  • Тяжёлые компоненты на каждом хите.
  • Отключённый или неверный кэш.
  • Запросы без индексов.
  • Большие изображения без оптимизации.
  • Лишние JS-библиотеки.
  • Медленный сервер и PHP.
  • Синхронные интеграции.
  • Шаблоны с дублирующими запросами.

Сначала измерения

Не меняйте код, пока не поняли, где теряется время. Нужны замеры до и после, иначе улучшение будет казаться.

  • Lighthouse и PageSpeed.
  • WebPageTest.
  • Логи медленных запросов.
  • Профайлер PHP.
  • Метрики сервера.
  • Реальные данные Метрики.

Кэш и композитный кэш

Кэш — самый дешёвый способ ускорить Bitrix. Но он должен быть настроен по типам страниц, а не включён «для всего».

  • Кэш компонентов.
  • Композитный кэш.
  • Кэш меню и справочников.
  • Тегированный кэш.
  • Сброс при изменении данных.
  • Проверка после релиза.

Композитный кэш хорошо работает для каталога и статических страниц, но не подходит для корзины и персональных данных.

Компоненты и запросы

Один компонент может делать десятки запросов. На списке из 30 товаров это превращается в сотни обращений к базе.

  • Выбирать только нужные поля.
  • Избегать N+1.
  • Кэшировать справочники.
  • Ограничивать выборки.
  • Использовать индексы.
  • Убирать лишние компоненты.

Инфоблоки и HL-блоки

Инфоблоки удобны, но при больших объёмах требуют аккуратной работы. HL-блоки помогают хранить дополнительные данные и связи.

  • Индексы по часто используемым полям.
  • Минимум свойств в выборке.
  • Разделение каталога и контента.
  • Кэш для справочников.
  • Проверка на реальном объёме.
  • Ротация логов.

Изображения

Каталог с большими фото — частая причина медленной загрузки. Особенно на мобильном.

  • WebP или AVIF.
  • Правильные размеры.
  • Srcset и ленивая загрузка.
  • CDN для статики.
  • Сжатие без потери качества.
  • Отказ от тяжёлых слайдеров.

JS и шаблоны

Шаблон может подключать библиотеки, которые используются только на одной странице. Это замедляет все остальные.

  • Разделение бандлов.
  • Отложенная загрузка.
  • Удаление неиспользуемых библиотек.
  • Минификация.
  • Критический CSS.
  • Проверка сторонних виджетов.

Сервер и PHP

Иногда проблема не в коде, а в окружении. Старая версия PHP, мало памяти и медленный диск дают заметную задержку.

  • PHP 8.x.
  • OPcache.
  • PHP-FPM и воркеры.
  • Быстрый диск.
  • Достаточная память.
  • Мониторинг ресурсов.

База и индексы

Запросы без индексов растут вместе с каталогом. То, что работало на 5 000 товаров, ломается на 50 000.

  • Медленные запросы.
  • Отсутствующие индексы.
  • Дублирующие запросы.
  • Большие JOIN.
  • Кэш выборок.
  • Регулярная оптимизация.

CDN и статика

Статика не должна ехать с основного сервера, особенно если аудитория распределена по регионам.

  • CDN для изображений.
  • Кэш статических файлов.
  • HTTP/2 или HTTP/3.
  • Сжатие.
  • Долгий cache-control.
  • Отдача с ближайшей точки.

Интеграции и очереди

Синхронные вызовы внешних API могут блокировать страницу. Их нужно выносить в очереди или кэшировать.

  • Очереди для обмена.
  • Кэш ответов API.
  • Таймауты.
  • Повторные попытки.
  • Мониторинг.
  • Отказоустойчивость.

Что не помогает

Иногда «ускорение» сводится к покупке более мощного сервера. Это может дать эффект, но не устраняет причину.

  • Только апгрейд сервера.
  • Отключение кэша «для проверки».
  • Сжатие всех изображений вручную.
  • Установка ещё одного плагина.
  • Переписывание без замеров.
  • Игнорирование мобильных.

План работ

Начинайте с измеримых улучшений, которые не ломают сценарии. Сначала кэш и изображения, затем запросы и инфраструктура.

1
Замеры

Зафиксировать текущие показатели.

2
Кэш

Настроить по типам страниц.

3
Изображения

Сжать и перевести в современный формат.

4
Запросы

Убрать N+1 и лишние выборки.

5
Инфраструктура

PHP, база, CDN.

6
Проверка

Сравнить до и после.

Чек-лист

✓ Есть замеры до изменений.
✓ Кэш настроен по страницам.
✓ Композит не ломает корзину.
✓ Изображения оптимизированы.
✓ JS не блокирует загрузку.
✓ PHP и база обновлены.
✓ Медленные запросы найдены.
✓ CDN подключён.
✓ Интеграции не блокируют страницу.
✓ Результат проверен на мобильном.

Итог

Ускорение Bitrix — это последовательность небольших улучшений, а не один переключатель. Начните с замеров и кэша, затем переходите к запросам и инфраструктуре.

Кэш по типам страниц

Не все страницы можно кэшировать одинаково. Каталог, карточка, корзина и личный кабинет требуют разных правил.

  • Каталог и категории.
  • Карточка товара.
  • Корзина.
  • Личный кабинет.
  • Статические страницы.
  • Поиск.

Профилирование запросов

Профайлер показывает, какие вызовы занимают время. Без него оптимизация превращается в угадывание.

  • Время запроса.
  • Количество запросов.
  • Дубли.
  • Тяжёлые выборки.
  • Отсутствующие индексы.
  • Внешние вызовы.

Шаблоны и компоненты

Шаблон может быть красивым, но тяжёлым. Проверьте, какие компоненты и библиотеки он подключает.

  • Лишние компоненты.
  • Повторные запросы.
  • Большие циклы.
  • Вложенные выборки.
  • Подключение JS.
  • Кэш фрагментов.

Highload и распродажи

В пик нагрузка растёт в разы. Если сайт едва держит обычный трафик, распродажу он не переживёт.

  • Кэш на всех уровнях.
  • Очереди.
  • Ограничение поиска.
  • Статическая страница ожидания.
  • Мониторинг.
  • План отката.

Мониторинг после ускорения

Скорость может деградировать после обновления или роста каталога. Нужны постоянные замеры, а не разовая акция.

  • Метрики Lighthouse.
  • Реальные скорости.
  • Медленные запросы.
  • Ошибки.
  • Нагрузка сервера.
  • Алерты.

Когда нужен рефакторинг

Иногда точечные правки не помогают. Если архитектура мешает развитию, стоит обсудить более глубокие изменения.

  • Каждая доработка ломает кэш.
  • Компоненты дублируют логику.
  • Интеграции держатся на костылях.
  • Каталог не масштабируется.
  • Обновления опасны.
  • Поддержка стоит слишком дорого.

Как закрепить результат

Ускорение нужно защищать процессом: проверки перед релизом, бюджет производительности и мониторинг.

✓ Есть baseline.
✓ Проверка в релизном чек-листе.
✓ Бюджет на размер страницы.
✓ Контроль изображений.
✓ Контроль запросов.
✓ Мониторинг.
✓ Ответственный.
✓ Регулярный аудит.

Сжатие и HTTP

Сжатие и правильные заголовки дают эффект без изменения кода. Проверьте, что сервер отдаёт их для всех типов файлов.

  • Gzip или Brotli.
  • Cache-Control.
  • ETag.
  • HTTP/2.
  • Кэш браузера.
  • Проверка заголовков.

Логи и ошибки

Ошибки PHP и медленные запросы часто остаются незамеченными. Логи помогают найти причину, а не только симптом.

  • Уровень логирования.
  • Ротация.
  • Медленные запросы.
  • Ошибки 500.
  • Внешние вызовы.
  • Алерты.

Безопасность кэша

Кэш может отдавать персональные данные другому пользователю, если настроен слишком широко. Это опаснее, чем медленный сайт.

  • Разделение по сессиям.
  • Запрет кэша для кабинета.
  • Проверка заголовков.
  • Сброс при изменении.
  • Тест на разных пользователях.
  • Аудит настроек.

Проверяйте результат на реальных пользователях, а не только в лаборатории. Лабораторные метрики важны, но конверсия и поведение на мобильном показывают, стало ли лучше на самом деле.

Проверим скорость вашего Bitrix

Замерим страницы, найдём узкие места и составим план без переписывания.

Заказать аудит →

Вопросы и ответы

Bitrix медленный по своей природе? +

Нет. Он может работать быстро, но требует настройки кэша, запросов и инфраструктуры.

Что даёт композитный кэш? +

Ускоряет отдачу страниц, но не подходит для персональных данных и корзины.

Нужно ли переходить на Laravel? +

Не обязательно. Сначала стоит найти узкие места и исправить их на текущей платформе.

Помогает ли более мощный сервер? +

Иногда, но если проблема в запросах и кэше, апгрейд даст лишь временный эффект.

Как измерить результат? +

До и после по Lighthouse, WebPageTest и реальным метрикам Метрики.

Что делать с изображениями? +

Перевести в WebP или AVIF, задать размеры и использовать srcset.

Почему каталог тормозит сильнее всего? +

Из-за количества товаров, фильтров и запросов на список. Нужны индексы и кэш.

Можно ли ускорить без разработчика? +

Часть настроек — да, но запросы и шаблоны требуют специалиста.

Сколько времени занимает ускорение? +

Зависит от состояния проекта. Быстрые улучшения можно получить за дни, системные — за недели.

Как не сломать сайт? +

Менять по одному блоку, проверять сценарии и держать план отката.

Что важнее: сервер или код? +

Код и данные чаще дают больший эффект. Сервер важен, но не заменяет оптимизацию.

Нужен ли CDN? +

Если аудитория географически распределена или много статики, да.

С чего начать ускорение Bitrix? +

С замеров и кэша. Затем изображения, запросы и инфраструктура. Без baseline эффект не измерить.

Можно ли кэшировать корзину? +

Обычно нет, потому что она персональная. Кэшировать можно каталог, карточки и справочники.

Почему после обновления сайт снова медленный? +

Кэш сбросился, добавились компоненты или запросы. Нужна проверка в релизном процессе.

Нужен ли выделенный сервер? +

Зависит от нагрузки. Иногда достаточно оптимизации, иногда — более мощного окружения.

Что делать с большим каталогом? +

Индексы, кэш, ограничение выборок и отдельный поиск. Проверять на реальном объёме.

Как понять, что ускорение сработало? +

Сравнить метрики до и после, а также конверсию и поведение на мобильном.

Включать ли сжатие? +

Да, если сервер и браузеры поддерживают. Это дешёвое улучшение без изменения кода.

Может ли кэш показывать чужие данные? +

Может, если настроен без учёта сессии. Это критичная ошибка, которую нужно проверять.

Что делать с ошибками 500? +

Смотреть логи PHP и сервера, а не только внешние проявления. Ошибка может быть в компоненте или базе.

Как часто проверять скорость? +

После каждого релиза и раз в месяц по реальным метрикам. Иначе сайт постепенно снова замедлится.

Можно ли ускорить только главную? +

Можно, но покупатели ходят в каталог и checkout. Начинать стоит с самых важных сценариев, а не только с главной.