Типовая конфигурация настроек в .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-типы, которые можно передавать в упакованном виде. А потом идет секция, устраняющая проблемы совместимости с некоторыми браузерами.

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

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

Меняем параметры запроса GET с помощью mod rewrite

Ноябрь 17, 2016 г.

Модуль rewrite сервера Apache предоставляет мощные возможности по перенаправленнию запросов. Это позволяет ещё до обработки запроса, к примеру, в коде программы на PHP вашего сайта, выполнить рутинные операции по изменению адреса страницы, параметров ...

Читать

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

Январь 19, 2018 г.

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

Читать

 

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

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



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

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

  1. Валерий:

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