Gzip сжатие WordPress

Различные способы включения gzip сжатие в WordPress

Использование сжатой информации для передачи данных способно существенно сократить время загрузки ваших страниц. Если у вас объемные тяжелые страницы с большим количеством текста тогда вам просто необходимо gzip сжатие на вашем WordPress сайте.


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

Для начала, давайте разберем саму суть сжатия Gzip и как оно работает, затем рассмотрим методы внедрения в ваш WordPress. Если вы долгое время не могли понять как настроить сжатие тогда один из предложенных способов со 100% вероятностью поможет вам в решении этой задачи.

Навигация по странице:

Что такое gzip сжатие?

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

Сжатие методом gzip осуществляется для ускорения передачи данных, которые архивируются и распаковываются «на лету». Выгода от использования gzip сжатия становит в среднем 70%. Да именно такое количество байт вы сможете сэкономить при передаче ваших текстов.

Какие данные можно сжимать с помощью gzip?

Как уже упоминалось ранее в сжатие участвует только текст. Давайте рассмотрим в каких файлах происходит текстовое сжатие:

  • В первую очередь в архив попадают наши HTML файлы.
  • Далее можно сжимать XML файлы.
  • Наши таблицы стилей (CSS файлы) так же подвергаются работе с gzip.
  • JavaScript так же успешно сжимается.
  • Не забываем о обычных txt файлах.
  • Другие текстовые.

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

Как включить gzip сжатие?

В зависимости от вашего веб сервера и его настроек существует несколько способов включения сжатия на вашем сайте. Рассмотрим примеры для Nginx и Apache, а так же конкретно под WordPress с использованием плагинов.

Для включения сжатия на Nginx потребуется использовать модуль ngx_http_gzip_module.

Для работы с gzip на сервере Apache модуль mod_deflate.

Gzip сжатие на Nginx

Для того что бы включить сжатие нужно настроить файл конфигурации nginx.conf который можно найти в директории /usr/local/etc/nginx/nginx.conf.

В данный файл нужно вписать следующий код:

http {
# Для начала включим модуль
gzip  on;
# Задаем минимальную длину ответа, при которой модуль будет сжимать, в байтах
gzip_min_length  1000;
# Разрешаем сжатие для всех запросов
gzip_proxied  any;
# MIME-перечисляем типы для сжатия

gzip_types text/plain text/html text/xml application/xml application/x-javascript text/javascript text/css text/json;
# Если у вас появятся ошибки, «duplicate MIME type text/html»,тогда нужно исключить text/html
#gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;
# Запрещает сжатие ответа методом gzip для IE6
gzip_disable «MSIE [1-6]\.(?!.*SV1)»;
# Уровень gzip-компрессии
gzip_comp_level 7;
}
Нужен только код выделенный красным, комментарии можно удалить. После внедрения кода сохраняем наш файл и перезапускаем сервер.

Gzip сжатие на Apache

Для того что бы включить gzip сжатие на сервере под управлением Apache нужно внести несколько строк в файл .htaccess находящийся в корневой папке вашего сайта.
В сети существует несколько версий записей сжатия, приведу вам сразу три:

Первый:
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
Header append Vary User-Agent
</IfModule>

Второй:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

Третий:
  <IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>

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

Плагин для включения gzip сжатия для WordPress

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

Самым простым и наверное одним из самых старых плагинов является WP HTTP Compression который нужно только установить и больше никаких настроек проводить не нужно, все ваш сайт отправляет текстовые данные в сжатом виде.

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

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

5 Комментария

  1. Попробовал сделать как описано в статье, спасибо все работает, кэширование дает хороший результат, но вот с сжатием css и js не выходит. У меня хостинг на таймвебе у них как я понял используются другие бибилотеки для сжатия. Если делать как вы предлогаете, то браузер принимает фалы в сжатом виде, воспринимая их как-будто они непожаты.

    • Скорее всего сервер не Apache, если это так поищите решение для своего сервера. Так же существует ряд плагинов решающих данную проблему, одним из них может быть «autoptimize» который сжимает JS и CSS, но он создает тяжелые файлы, как это обойти можно почитать в интернете, если не найдете информации напишите, попробую помочь.

  2. Автор, благодарю! Реально помогло, так просто оказывается, когда знаешь как. Уже знаю как это делать! От души!

Добавь свой комментарий

Your email address will not be published.


*