Как включить gzip сжатие и ускорить загрузку сайта
В этой статье рассмотрим как включить динамическое gzip сжатие в файле .htaccess на хостинге с поддержкой Apache и тем самым ускорить скорость загрузки вашего интернет ресурса.
Зачем включать динамическое gzip сжатие
Как вы наверное уже знаете, скорость загрузки сайта влияет и на позиции его выдачи в поисковых системах и на восприятие сайта пользователями. Сейчас интернет пестрит динамичными, супер крутыми и красивыми сайтами. Но когда начинаешь пользоваться подобным ресурсом и он начинает по 10 -15 секунд загружать свои странички, то потихоньку пропадает всякий интерес к нему. Так как мы не готовы столько ждать, ведь время один из самых драгоценных ресурсов, которым мы располагаем и не хотим его тратить попусту.
Вот тут и приходят на смену сайты конкурентов, менее красочные, менее крутые, но зато очень быстрые. И конечно же мы с большим желанием будем пользоваться сайтом, который не заставляет нас ждать при переходе по его страницам.
Так же дело обстоит и с поисковыми алгоритмами таких известных сервисов как Google, Яндекс и других. Чем быстрее загружается сайт, тем выше его позиция в поисковой выдаче среди конкурентов.
Преимущества и недостатки динамического gzip сжатия
Gzip – это сжатие на стороне web-сервера HTML страниц, которые получает браузер пользователя. Оно не отражается на внешнем виде сайта, и положительно влияет на передаваемый трафик, снижая его количество.
Исходя из этого определения мы видим, что основное преимущество состоит в уменьшении передаваемого трафика от сервера к пользователю, что соответственно влияет на увеличение скорости загрузки сайта.
Gzip архивирует только текстовую информацию, видео, аудио, картинки и другие медиафайлы остаются без изменений. В процессе сжатия сервер сайта архивирует текстовые данные и посылает их в таком виде на компьютер пользователя. Получая данные архивы страниц от сервера, браузер автоматически распаковывает их.
Из этого следует, что основной недостаток этого метода ускорения ответа сайта, это повышенная нагрузка на web-сервер во время сжатия. При высокой посещаемости ресурса, эта нагрузка может оказаться критической, что при слабом хостинге грозит блокировкой доступа к сайту.
Поэтому, применяя данный метод необходимо провести наблюдение за вашим сайтом в течении некоторого времени. Если сбоев не обнаружится, то можно смело продолжать его использование.
В этой ситуации много зависит от используемого вами хостинга и от количества сжимаемых файлов на сервере.
Как проверить наличие gzip сжатия на сайте
Для того чтоб проверить, работает ли gzip сжатие на сайте достаточно посетить ресурс PageSpeed Insights от Google, и провести там анализ скорости загрузки сайта. Если у вас не включено сжатие то среди других советов по оптимизации загрузки сайта будет присутствовать пункт «Включите сжатие».
Так же стоит отметить, что не все хостеры предоставляют gzip сжатие, поскольку в таком случает идет дополнительная нагрузка на сервер. В таком случае вам следует уточнить в службе поддержки, включен ли данный вид сжатия на используемом вами хостинге. Если же эта услуга отсутствует, то возможно придется поменять тарифный план или перейти на другой хостинг, с поддержкой gzip сжатия.
Если вести диалог со службой поддержки вашего хостера сложно, то вы сами можете проверить запуск gzip на вашем хостинге воспользовавшись сервисом HTTP Compression Test. Для этого перейдите по ссылке.
Включение gzip через файл .htaccess
Когда вы убедились, что gzip работает у вас на хостинге, но при проверке скорости загрузки сайта через ресурс PageSpeed Insights от Google все равно появляется рекомендация включить сжатие, стоит проверить, возможно оно не включено у вас в файле .htaccess.
Обязательно сохраните резервную копию перед тем как проводить любые изменения в файле!
Для этого заходим в корневой каталог сайта на сервере и открываем для редактирования непосредственно сам файл .htaccess. Ищем в нем строки:
# Compress HTML, CSS, JavaScript, Text, XML and fonts
Или что то подобное, поскольку написание этой функции в вашем файле может отличаться.
Если подобных строк вы не нашли, то скорее всего у вас не включена функция сжатия. Чтоб ее включить вставьте следующий код в файл .htaccess и сохраните его.
<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
Если же подобные строки нашлись, то проверьте чтоб код после них совпадал с приведенным выше. Если не совпадает, то добавьте отсутствующие параметры. В итоге код должен получиться именно таким, как на примере выше и ни в коем случае не должен повторяться в файле.
После чего проведите повторную проверку скорости загрузки сайта в PageSpeed Insights. Если все сделано правильно, то предупреждение о том, что нужно включить сжатие должно исчезнуть и оценка сайта должна повыситься.
Надеюсь что эта статья поможет вам больше разобраться в том как можно включить gzip сжатие на вашем сайте, и таким образом уменьшить скорость его загрузки.
Задавайте появившиеся вопросы по этой теме, постараюсь на них ответить.
Делитесь своими результатами в области оптимизации работы сайтов, предлагайте новые темы для публикаций, подписывайтесь на новости, чтоб всегда быть в курсе происходящего на блоге.
Благодарю вас за внимание и уделенное время! 🙂