Типовая конфигурация настроек в .htaccess для соответствия тестам Google PageSpeed Insights

google-page-speed-insights-banenr

Google позволяет протестировать страницы вашего сайта на скорость загрузки. В результате теста вы получаете два рейтинга с оценкой до 100 баллов — один относится к просмотру сайта на мобильных устройствах, второй — на ПК.

Т.к. речь идет о скорости загрузки страниц, то оба рейтинга скорее всего будут связаны. Улучшая скорость загрузки для мобильных устройств, вы улучшите её и для ПК. Исключение составляют сайты, которые генерируют свои версии сайта для разных платформ. На таких веб-сайтах связь рейтингов будет выражена слабее.

Типовая настройка.

Почему возможна типовая настройка? Сайты ведь разные?

Все сайты построены на одних и тех же базовых принципах. Один и тот же протокол обмена данными браузера и http сервера, форматы передаваемых файлов, принципы кеширования, алгоритмы сжатия информации и т.д.

Единственная частность, которой не избежать говоря о настройках сервера — это сам сервер. :) В данной статье я расскажу какие настройки нужно добавить в файл .htaccess вашего сайта под apache v2, чтобы «задобрить» тест Google PageSpeed Insights (GPSI).

Настройки опираются на дополнительные модули сервера Apache, которые не входят в т.н. core (ядро). Если они не подключены в конфигурации сервера, то сначала надо будет решить этот вопрос, а потом уже двигаться дальше.

Конструкция ifModule спасет вас от 500-й ошибки, если модуль вдруг не подключен.

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

Модуль headers

Модуль позволяет формировать заголовки HTTP ответа сервера. Он поможет нам формировать заголовк Cache-Control.

Мы укажем браузеру какие файлы можно кешировать и как долго их хранить в кеше. Это позволяет выполнить требование GPSI — «используйте кеш браузера«:

google-page-speed-insights-rec

Как использование кеша поможет увеличить скорость загрузки сайта?

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

Когда браузер вновь обратиться на сервер за файлами, попавшими в кеш браузера?

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

Этот код нужно добавить в .htaccess:

Такая конфигурация формирует заголовки для четырёх групп файлов:

  • статические html страницы (срок жизни — 12 часов),
  • файлы скриптов и стилей (срок жизни — неделя!)
  • изображения, анимация, flash, иконки (срок жизни — 30 дней)
  • скрипты (php, pl и т.п.) — их работа браузером кешироваться не должна.

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

Модуль expires

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

Он работает с mime типами файлов, что порою затрудняет конфигурирование.

Если вы не знаете к какому mime типу принадлежит, к примеру, файл .ico, то как можно задать необходимые настройки?

Для этого надо будет заглянуть в основной файл конфигурации Apache, где может находится секция настроек модуля mime. Или же объявить/переписать свои mime типы:

Итак, блок типовых настроек для mod_expires:

Первой всегда идет команда включения :

Для всех непонятных случаев, установим устаревание по-дефолту:

Далее идут почти все самые распространенные на сайтах mime типы.

Модуль deflate

Этот модуль позволит нам выполнить рекомендацию GPSI — «включите сжатие»:

set-on-packing

Как помогает сжатие для ускорения загрузки?

Ясно, что сжатая, упакованная в архив информация занимает меньший объем и может быть передана быстрее. Это должно увеличить скорость передачи данных.

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

Прежде всего, сжатию хорошо подвергаются текстовые файлы — это скрипты, стили и файлы html.

Типовая настройка для deflate:

В начале мы перечисляем mime-типы, которые можно передавать в упакованном виде. А потом идет секция, устраняющая проблемы совместимости с некоторыми браузерами.

Написать комментарий

Мало букафф? Читайте есчо !

Переходим с http на https - план действий

Июль 24, 2017 г.

Прежде чем переводить сайт на https протокол, нужно иметь четкий план того, что делать и в какой последовательности. Такая тактика хорошо работает и в ...

Читать

Добавление SSL сертификатов для разных сайтов на одном ip

Январь 19, 2018 г.

Давайте рассмотрим порядок действий и настройку SSL сертификата в apache2. В сети довольно много гайдов. Все они примерно следуют одному и тому же алгоритму. ...

Читать

 

Комментарии к «Типовая конфигурация настроек в .htaccess для соответствия тестам Google PageSpeed Insights»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Один комментарий в “Типовая конфигурация настроек в .htaccess для соответствия тестам Google PageSpeed Insights”

  1. Валерий:

    Спасибо, мало где так понятно можно найти объяснение