В этой статье продолжаем разбирать рекомендации Google PageSpeed Insights, и сегодня затронем тему сжатия gzip и его включения.
Система сжатия gzip впервые была создана в 1992 году, и до сих пор не только не потеряла своей актуальности, но и стала стандартом при передач данных методом протокола HTML 1.1.
Сжатие методом gzip осуществляется для ускорения передачи данных, которые архивируются и распаковываются «на лету». Выгода от использования gzip-сжатия может доходить в среднем до 70%.
Gzip сжимает только текстовые данные. Подвергаются сжатию файлы HTML, XML, CSS, JavaScript и другие текстовые файлы.
Как можно догадаться, огромную часть нашей страницы сайта можно сжать при помощи 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; gzip_types text/plain text/html text/xml application/xml application/x-javascript text/javascript text/css text/json; #gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json; gzip_disable «MSIE [1-6]\.(?!.*SV1)»; gzip_comp_level 7; }
После вставки кода сохраняем наш файл nginx.conf, перезапускаем сервер.
Включаем Gzip-сжатие на Apache
Чтобы включить gzip-сжатие на сервере под управлением Apache, нужно внести изменения в файл .htaccess находящийся в корневой папке вашего сайта.
Существует несколько вариантов настройки конфигурации сжатия (все три трабочие, но под разные настройки серверов), приведу их все:
Вариант 1:
SetOutputFilter DEFLATE Header append Vary User-Agent
Вариант 2:
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
Вариант 3:
AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Ну и как обычно, для ленивых и владельцев сайтов с CMS WordPress – плагин для включения сжатия gzip:
Самым простым плагином является WP HTTP Compression который нужно только установить. Все нужные настройки применятся автоматически при его активации.
Вторым вариантом, которым вы можете воспользоваться – более специализированный плагин с кучей настроек для ускорения работы сайта – W3 Total Cache.
На этом пожалуй всё, если будут какие-то вопросы – пишите в комментариях.
Всем удачи и добра!