



















Вы, как владелец или администратор сайта, наверняка уже знакомы с сервисом PageSpeed Insights с помощью которого можно легко узнать оценку скорости своего сайта для компьютеров и мобильных устройств, а также получить рекомендации по улучшению работы вашего интернет ресурса. Высокая оценка сервиса показывает, что сайт технически оптимизирован и адаптирован под мобильные устройства, что положительно влияет на продвижение в поисковых системах. Оптимизированный сайт работает быстро, а чем быстрее работает ваш сайт, тем быстрее пользователь получает нужную ему информацию, как следствие, выше показатели поведенческих факторов, больше популярность сайта, его посещаемость, больше продаж.
Давайте разберемся, какие советы от Google действительно важно реализовать, чтобы сделать процесс взаимодействия пользователя с вашим ресурсом более комфортным.
Мы расскажем о своем опыте работы с PageSpeed Insights и покажем наглядный кейс, как мы тестировали и оптимизировали сайт нашего клиента. Дадим инструкцию для профессионалов.
В качестве “испытуемого” мы взяли сайт нашего клиента - интернет-магазин на системе управления CMS Bitrix. При первоначальной проверки скорости загрузки сайта (адрес которого мы вынуждены скрыть) до начала работ PageSpeed давал оценку в 71 балл для компьютеров и 50 баллов для мобильных устройств.
Данные показатели являются средними, но нет предела совершенству, к тому же сервис Google выдал несколько рекомендаций по улучшению кода. Сейчас мы детально их рассмотрим.
Для прохождения аудита “Настройте эффективную кодировку изображений” мы установили бесплатное решение для оптимизации картинок “Оптимизация картинок - автоматически и без сторонних сервисов” от Dev2Fun.
Примечание: данный модуль актуально использовать, если на хостинге есть серверный модуль для оптимизации картинок
У некоторых хостинг-провайдеров нет модулей для оптимизации картинок средствами сервера, поэтому в таких случаях стоит использовать другой модуль с маркетплейса “Универсальный оптимизатор картинок” от ИП Платонов Н.В. Данный модуль может обжимать изображения сторонним сервером, но важно в настройках нe включать webp, так как возможны проблемы в браузере Safari с вводом текста в input полях.
В настройках качества картинок можно смело выставлять для jpeg 95%, progressive, а для png 2 уровень сжатия. (80% и 3 уровень тоже допустим, но меньше не стоит). Желательно ставить перекодирование только при ресайзе, чтобы оригинальные фото всегда оставались исходного качества.
Данные решения не ужимают статические файлы в папке из верстки, поэтому нужно сжать их с помощью команд в консоли. Для этого делаем следующие действия:
find . -type f -iname "*.png" -exec optipng -strip all -o3 {} \; -exec chmod 644 {} \;
find . -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive -pm80 {} \; -exec chmod 644 {}
Для прохождения аудита “Задайте правила эффективного использования кеша для статических объектов” нужно на сервере установить время модификации для разных типов файлов nginx.
Пример для bitrix vm:
Примечание: данный метод не подходит для shared хостингов.
Также добавить блок на всякий в .htaccess:
Примечание: в большинстве случаев переопределение не сработает, так как на Shared хостингах эти значения, как правило, нельзя переопределить.
Время кеширования для сторонних ресурсов нельзя изменить, если только использовать для этой цели прокси-сервер, но в большинстве случаев это не требуется, так как обычно это счетчики, код которых может меняться.
Для прохождения данного аудита “Включите сжатие текста” нужно добавить сжатие svg в nginx
/etc/nginx/mime.types
добавить, если нет:image/svg+xml svg svgz;
/etc/nginx/nginx.conf
добавить в конец строки:gzip_types image/svg+xml
service nginx reload
Важно: не забудьте удалить модуль компрессии из модулей Битрикса (на сервере он обычно всегда стоит по умолчанию)
На этом шаге мы пройдем сразу четыре аудита:
yuicompressor
(обратить внимание на calc с “+” , его необходимо заменить на “- -”);uglify
;prefetch
, preload
, dns-prefetch
и тд. для ресурсов сайта, например, для шрифтов.Для прохождения данного аудита “Настройте показ всего текста во время загрузки веб-шрифтов” в css для этого блока указываем:
Для прохождения данного аудита “Удалите неиспользуемый код CSS”нужно хотя бы для главной страницы выделить только тот css, который используется там, и разделять подключение css для главной и внутренних страниц (в идеале для каждого индивидуального шаблона страницы подключать свой css).