Загрузка сайта должна выполняться быстро. Скорость, с которой загружаются страницы, — один из ключевых показателей его качества и удобства. Если эта скорость низкая, страницы загружаются долго, пользователи просто уйдут к конкурентам, конверсия снизится, а поисковые системы будут хуже ранжировать сайт. Как понять, что сайт работает медленно? Для этого желательно регулярно тестировать его. Если по результатам тестов страница загружается дольше, чем 1-3 секунды, ресурс стоит оптимизировать, проверить на наличие проблем и устранить их.
Для некоторых сайтов нужна особенно высокая скорость работы — такая, при которой страницы будут загружаться меньше, чем за 1 секунду. Это важно для интернет-магазинов и крупных порталов с большим количеством страниц. Чем сложнее структура сайта, чем больше элементов размещено на его страницах, чем больше страниц одновременно пытается открыть пользователь, тем сильнее заметны проблемы с производительностью. Слишком долго ожидая загрузку страницы, посетитель раздражается, закрывает сайт и во многих случаях сознательно отказывается на него возвращаться. Негативный пользовательский опыт автоматически формирует недоверие, и технические проблемы становятся причиной ухудшения маркетинговых показателей.
Такие проблемы могут возникать у любых сайтов — в том числе, работающих на Битрикс. По опыту специалистов веб-студии Яворского ошибки в разработке, тяжелый дизайн, лишний код могут провоцировать серьезное снижение производительности. Ниже — о том, как избежать таких проблем, как выявить их (и чем измерять скорость работы сайта для этого), как их решить, если они уже появились.
Производительность сайта на Битрикс может снижаться по нескольким причинам.
Чаще всего аудит производительности выявляет следующие проблемы:
- архитектура и настройки сайта. Слишком большое количество товаров в каталоге (тысячи позиций в каждом разделе), его чрезмерно сложная структура, непоследовательная навигация или избыточное использование навигационных инструментов — это и замедляет работу сайта, и негативно сказывается на показателях юзабилити. Подобные недочеты нужно устранять как можно быстрее;
- тяжелая графика. Ее нужно оптимизировать, используя инструменты автоматического сжатия изображений — до размера не больше 80 кБ. При этом сжатие должно быть эффективным: максимально возможным без потерь в визуальном качестве;
- сжатие ресурсов сайта. Выполняется, чтобы уменьшить объем загружаемых данных. Для этого объединяют CSS и JS скрипты, увеличивают число одновременных соединений с сервером, включают и правильно настраивают CDN (Content Delivery Network), используют кеширование ресурсов в браузере. Дополнительно для уменьшения объема передаваемых данных нужно включить серверное сжатие с помощью модуля Компрессия или GZIP;
- избыточные скрипты и стили. Обычно это — «украшательства», которые не влияют на использование сайта, часто даже не меняют и не улучшают его дизайн, но при этом «забирают» часть ресурсов производительности. При аудите важно найти все «лишние» стили и скрипты и отключить или удалить их;
- сторонние плагины и скрипты. Могут быть «лишними» (включены, но фактически не используются). В этом случае их удаляют или отключают, чтобы они не перегружали сайт;
- слишком большое дерево тегов. Усложняет навигацию на сайте, замедляет обработку запросов и загрузку страниц. Его лучше оптимизировать, объединив некоторые теги или удалив неиспользуемые.
Особенности настройки системы
Использование отдельных компонентов или настроек может снижать производительность в разы. Работу сайта замедляет неправильная организация информационных блоков, использование слишком большого числа агрегирующих выборок, установка «авторских» (то есть, кустарных) компонентов с большим временем загрузки, проблемы интеграции с внешними системами.
Неоптимальное использование сайта
Администратор или контент-менеджер может загружать слишком «тяжелые» изображения и, если их сжатие не выполняется автоматически, загрузка страниц замедлится. Другая проблема — использование необъединенных JS/CSS файлов, подключение JS и подключение CSS нестандартным способом, из-за чего автоматическое объединение не может быть выполнено. Еще одна проблема — отдача статических файлов через веб-сервер Apache (используется для отдачи динамических файлов, является более «тяжелым»). Для отдачи статики нужно использовать фронтэнд nginx или аналогичный «легкий» веб-сервер. Кроме того, статические файлы могут отдаваться без компрессии.
Выбор хостинга
Снижение производительности сайта, медленная загрузка его страниц, недостаточное быстродействие часто связаны именно с хостингом. Bitrix является требовательной к ресурсам CMS. «Обычный» (недорогой виртуальный) хостинг ей не подойдет. Для хорошей скорости загрузки понадобится VPS/VDS. Если проект является крупным, даже этого может оказаться недостаточно: лучше использовать собственную аппаратную базу с гарантией стабильной работы в часы пиковых нагрузок. Сервер в любом случае должен использовать «свежие» версии ПО (MySQL не младше 5.5, PHP не младше 7.4 (лучше PHP8). При оптимизации сервера обязательно запускают оптимизатор PHP, отключают XDebug, если он включен (это отладчик, нужный только при разработке), обязательно включают мониторинг работы сервера для контроля и выявления причин перегрузок.
Настройка кеширования
Выполняя настройку времени хранения кеша, нужно:
- рассчитывать оптимальный период по посещаемости сайта и частоте обновления данных так, чтобы кеш не нужно было формировать слишком часто;
- для разных типов страниц задать свое время хранения кеша. Например, для статических разделов (статьи, новости), для тех страниц, на которые не вносятся изменения, оно может быть максимальным;
- для карточек товаров время хранения кеша соотносят с периодичностью выгрузки цен и других переменных данных.
Оптимизация настроек кеширования помогает экономить ресурс сервера и сохранять нормальный уровень производительности сайта даже при высокой посещаемости или в периоды пиковых нагрузок.