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, он прост в использовании, тем более что по ссылке вы найдете руководство по использованию. Если вы не нашли решение для себя, напишите в комментариях о своей проблеме, постараюсь помочь.

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

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

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

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

Your email address will not be published.


*