У владельцев сайтов на 1С-Битрикс возникает много вопросов касаемо показателя «Скорость сайта», который можно посмотреть в административной панели. Чаще всего вопросы связаны с низкими показателями скорости сайта. В статье подробно расскажем, как строится этот показатель, что на него влияет и как можно ускорить ваши сайты.
Инструмент использует стандартную функцию любого браузера Navigation Timing API. В браузере есть объект performance с ключом timing, который возвращает временные отметки этапов запроса к странице.
Скоростью сайта считается время между navigationStart и domContentLoaded.
В отличие от большинства сервисов, замеряющих скорость загрузки сайта из внешних точек, инструмент «Скорость сайта» проверяет работу сайта на хитах реальных пользователей. При этом показатель сильно зависит также от местоположения пользователя, например пользователь в России получит лучше показатель, что пользователь из Америки, т.к. для пользователя из России сайт территориально находитсся ближе.
Обратите внимание! Так как посетители все время меняются, то и данные меняются вместе с ними!
Технология расчета значения «Скорости сайта» следующая: из 1250 последних хитов вычитаются 250. Это 20% самых медленных хитов, которые не берутся в расчет, чтобы исключить ошибку, связанную с неустойчивыми каналами связи (мобильный интернет, связь в транспорте и т.п.).
На показатель Скорость сайта влияет несколько факторов:
Инструмент «Скорость сайта» учитывает все эти параметры и показывает реальную картину работы сайта для пользователей из сети.
Наиболее значимые пункты этого списка — два последних. Именно контент и сторонние скрипты, особенно это касается JS скриптов (пока браузер не скачает и не выполнит обработку JS блокируется дальнейшая загрузка сайта) чаще и сильнее всего замедляют работу сайта. Поэтому, если показатель в Панели производительности выше эталона, то нужно оптимизировать именно контент сайта.
Показатель «Скорость сайта» выдает 5 уровней скорости загрузки сайта.
Инструмент «Скорость сайта» позволяет сразу же просмотреть, какие именно страницы тормозят сильнее всего. На графике ниже показано время загрузки страниц и их количество. Если подвести курсор к любому столбцу, то можно увидеть 10 самых медленных страниц, которые требуют оптимизации.
На сегодняшний день основная масса изображений на сайтах представлена в форматах JPEG, GIF и PNG. Это не самые оптимальные форматы. Попробуйте использовать Progressive jpeg. Это заметно снизит нагрузку и позволит ускорить загрузку сайта.
Подробнее о том, что такое Progressive jpeg читайте здесь.
Поэтому после объединения и сжатия стилей и скриптов необходимо протестировать корректную работу сайта, в том числе работу Корзины, оформление заказа и т.п.
Например, широко используемые на сайтах всплывающие окна онлайн консультантов (типа Jivosite), загружаются асинхронно, но все равно влияют на общую скорость загрузки сайта.
Однако совершенно не обязательно, чтобы такое окно онлайн консультанта всплывало сразу же. Можно отложить его загрузку на некоторое время. Для этого достаточно в скрипт добавить параметр setTimeout со значением 5000, что отложит его загрузку на 5 секунд. За это время страница сайта успеет загрузиться полностью, что заметно улучшит показатели скорости загрузки.
Или это могут быть стили и скрипты модулей, установленных и включенных, но по факту не используемых на страницах сайта.
Часто можно встретить случаи, когда отдельные компоненты не кэшируются. Либо разработчики забыли их включить, либо это приводило к неработоспособности некоторых решений.
Бывает и такой вариант, что компоненты кэшируются, но срок жизни кэша выбран не оптимальный.
Иногда кэширование каталога приводит к ошибкам в работе некоторых вспомогательных компонентов. Например, сторонних модулей отзывов и оценок товаров. В таких случаях необходимо создавать в компонентах каталога некэшируемые области.
Это можно реализовать с помощью специальных модулей самого Битрикса, либо подключив библиотеку jQuery LazyLoad.
Рекомендуем также почитать статью «Что такое оценка Google PageSpeed и как ее улучшить». Этот сервис от Google полезен тем, что дает конкретные рекомендации и показывает, что и где нужно исправить на сайте, чтобы оптимизировать и ускорить его работу.