Что такое gzip сжатие и как его использовать в WordPress

Со временем почти каждый веб-проект на WordPress обрастает большим количеством контента и функциональных возможностей. Это естественно с точки зрения развития проекта, но приводит к существенному замедлению загрузки на клиентских устройствах. Этот момент является наиболее важным, поскольку приводит к оттоку тех пользователей, которые не привыкли долго ждать, чтобы получить доступ к нужной им информации. Исследователи из Google посчитали, что критическим рубежом является промежуток в 3 секунды. Если за это время хотя бы часть содержимого сайта не появляется на экране, большинство пользователей просто закрывают вкладку.

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

Существует несколько десятков простых и сложных способов минимальными усилиями ускорить работу сайтов на WordPress. В этой статье мы остановимся на самом очевидном и доступном каждому администратору методе — сжатии контента при помощи gzip.

В чём суть gzip?

Упрощённо говоря, суть применения метода сжатия gzip ничем не отличается от использования привычных архиваторов. Хорошо известно, что последние используются для того, чтобы сократить размер данных и освободить место на дисках. Gzip тоже сжимает данные, но только применительно к трафику, который идёт от сайта к пользователю.

Что касается посетителей ресурса, то процесс постоянного сжатия и распаковки содержимого страниц для них проходит незаметно. При этом скорость загрузки контента значительно повышается.

Впервые технология сжатия gzip была представлена ещё в начале 90-х годов и давно стала стандартным способом упаковки http-трафика. В зависимости от содержимого страниц сайта, экономия при передаче данных может достигать 70%. На сегодняшний день его поддерживают все популярные браузеры, включая Google Chrome, Firefox, Internet Explorer.

Для чего подходит gzip?

Если раньше основным содержимым сайтов был текст и реже небольшие картинки, то теперь веб-проекты — это совокупность самых различных типов содержимого. Несмотря на свой солидный возраст, gzip не теряет актуальности, то есть подходит для сжатия всех их. О чём конкретно идёт речь? Вот список основных компонентов, которые чаще всего можно обнаружить на современных сайтах:

  • прежде всего это сами страницы в html-разметке;
  • также хорошо сжимаются файлы стилей CSS;
  • gzip подходит для упаковки XML и JS-кода;
  • отлично с его помощью сжимаются текстовые файлы и другие документы.

Включен или нет gzip на сайте?

Перед тем, как читать про способы включения сжатия на своём сайте, следует убедиться, что это действительно необходимо. Часто нужные настройки уже сделаны по умолчанию, а поэтому вмешательства администратора не требуется. Для проверки можно использовать онлайновые и локальные сервисы.

Прежде всего запустите проверку Google PageSpeed Insights. Данный инструмент не только даст понимание по текущему статусу сжатия, но также предоставит много другой полезной информации, которая пригодится для оптимизации производительности.

Проверка наличия gzip является одним из параметров, который отслеживает сервис gtmetrix.com. Помимо этого, из его итогового отчёта можно узнать о других проблемах с производительностью.

Также сжатие можно проверить на ресурсах websiteplanet.com и whatsmyip.org – ищите соответствующий пункт в списке доступных инструментов.

Со стороны пользователя убедиться в наличии или отсутствии gzip можно с помощью встроенного в браузер Google Chrome инструмента — Chrome Devtools.

Активируем gzip на своём сайте

Конкретный способ включения gzip на вашем сайте будет определяться типом использованного веб-сервера. Прежде всего речь идёт о популярных решениях Nginx и Apache. Далее мы расскажем о том, как включить сжатие на том и другом, а также рассмотрим случай его активации через WordPress.

Если часть ресурсов вашего проекта подгружается из Content Delivery Network, важно убедиться, что сжатие поддерживается со стороны облачного провайдера. Как правило, все популярные сервисы поддерживают эту технологию.

Динамическое и статическое сжатие: в чём разница?

Когда мы говорим о сжатии с использованием gzip, то чаще всего подразумеваем динамическое сжатие. Это подразумевает, что вся вычислительная работа по упаковке содержимого осуществляется на стороне сервера. Такой тип сжатия предъявляет определённые требования к «железу», а поэтому большой наплыв посетителей способен просто обрушить сайт.

Противоположностью динамическому сжатию является статическое. Его суть заключается в ручном архивировании файлов проекта и размещении сжатых вариантов рядом с исходными. В данном случае ресурсы сервера не расходуются на запуск алгоритмов сжатия, а поэтому требования к аппаратной платформе минимальны.

Важно учитывать, что у вас не получится использовать оба типа сжатия одновременно, так как в этом случае они не будут работать вместе. Чтобы использовать статическую компрессию на серверах Apache, нужен модуль mod_rewrite.

Существенным ограничением статического сжатия сайта является большой объём ручной работы. Сжимать необходимо не только новый контент, но также изменившийся старый. Таким образом, лучше всего такой тип сжатия подойдёт для проектов, которые не предусматривают частых изменений. Из-за этой особенности динамическая компрессия является стандартом де-факто.

Полезно: как работать с медиафайлами WordPress

Включаем gzip для сайтов на Nginx

Чтобы включить сжатие трафика на Nginx, нужно проверить наличие модуля ngx_http_gzip_module. Если его нет, то для сначала следует обязательно поставить данное дополнение. После этого переходите к редактированию файла nginx.conf. Используйте для этого любой текстовый редактор, например, NotePad++. Здесь нужно создать блок http {} и прописать внутри фигурных скобок несколько директив:

  • gzip on — активируем сжатие;
  • через параметр gzip_min_length в байтах задаём минимальный размер ответа для сжатия;
  • gzip_proxied any — указываем, что сжимать нужно все запросы;
  • при желании перечисляем через / типы содержимого для сжатия, например, gzip_types text/plain text/html;
  • задаём степень сжатия через параметр gzip_comp_level числом из диапазона от 1 до 9.

При выборе степени сжатия важно соблюсти баланс между нагрузкой на сервер и уменьшением объёма передаваемой информации. Обычно оптимальным считается значение от 3 до 5.

Включаем gzip на Apache

Для активации сжатия на сервере Apache также нужен дополнительный модуль под названием mod_deflate. Убедитесь, что установили его перед тем, как будете прописывать новые параметры. Активация gzip осуществляется путём редактирования файла настроек сервера .htaccess. Найти его очень просто, так как он находится в корневой директории.

Включить сжатие можно несколькими способами. В самом простом из них достаточно добавить такой код:

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
Header append Vary User-Agent
</IfModule>

Также в интернете можно найти альтернативные способы включения gzip, которые подойдут продвинутым пользователям. С их помощью задать сжатие можно только для конкретных типов содержимого.

Убедитесь в том, что данный код расположен внизу файла .htaccess, чтобы избежать потенциальных проблемных ситуаций. Для доступа к этому файлу используйте любой FTP-клиент.

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

Включаем gzip из WordPress

Самым простым для применения начинающим пользователем является способ включения gzip из самого WordPress. Для этого достаточно установить и активировать модуль Enable Gzip Compression. Главная прелесть его использования заключается в том, что данный плагин не требует никаких дополнительных настроек — сжатие начинает работать сразу после его включения. Ограничением является совместимость только с веб-серверами Apache. Кстати, существует премиальная версия этого плагина — Speed Up WordPress, которая обладает расширенными возможностями по настройке.

Более искушённые пользователи могут обратить внимание на плагин W3 Total Cache. Помимо сжатия, он предлагает дополнительные возможности для ускорения работы сайта. Модуль регулярно обновляется и уже набрал более 1 млн. скачиваний. По заверениям создателей плагина, после его настройки производительность сайта может вырасти в 10 раз, а пропускная способность увеличится до 80%.

Если ваш проект отличается сложным оформлением и обилием функций, реализованных с помощью JavaScript, то следует обратить внимание на модуль Autoptimize, который неплохо справляется тонкой настройкой производительности как раз в таких случаях. Плагин также пользуется популярностью у пользователей — его скачали уже более 1 млн. раз. О его качестве свидетельствует высокий рейтинг — 4,7 балла.

Особенностью плагина WP Fastest Cache является поддержка сразу 3 режимов кэширования, а также иные настройки производительности, которые помогут существенно ускорить ваш сайт. По мнению пользователей, которые поставили ему среднюю оценку 4,9 балла, данный модуль является одним из самых лучших среди рассматриваемых альтернатив.

Заключение

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