Что такое GZIP сжатие сайта?
Приветствую Вас, дорогие читатели блога myborder.ru.
На заре раскрутки своего сайта я начал интересоваться скоростью загрузки содержимого сайта. Ну и как все первопроходцы много прочитал и ознакомился с данным вопросом. А суть заключается в самом простом, когда посетители сайта открывают сайт, то процесс загрузки может быть совсем не быстрым, на глаз вы можете этого не увидеть, а если сделать замер в специальном сервисе, то мы увидим, что показатели скорости просто медленные, в сравнении с другими сайтами. Проверить наличие опции gzip сжатия можно на следующих сайтах: www.cy-pr.com/tools/gzip/или здесь www.gidnetwork.com/tools/gzip-test.php или можно здесь Пользоваться ими просто, введите имя вашего сайта и нажмите ок. Если у вас есть сжатие, то он покажет процент сжатия, а если его нет, то покажет ошибку (error).
После проверки сайта, вы можете увидеть, что скорость сайта увы очень мала и начинаете искать корень проблем или причин, которые не позволяют ускориться сайту. Среди таких проблем зачастую бывают: множество скриптов, скрипты находятся вне сайта, не оптимизированный WordPress (или какая у вас там CMS стоит), не оптимизированные изображения и в том числе отсутствует сжатие ресурсов с помощью функций gzip и еще куча многочисленных трудностей. После чего начинаем бороться с этими тормозами, но прежде всего настраиваем gzip сжатие.
Далее мы воспользуемся 4-мя вариантами решения этой проблемы.
Таким образом, для исправления такой ситуации необходимым шагом является установить на своем сайте сжатие gzip в wordpress или в другой CMS. А что это за зверь то такой?
gzip сжатие сайта- это включаемая опция на хостинге, при которой файлы на сервере, перед отправкой в веб браузер посетителя, сжимаются и после этого (в сжатом виде) ему отправляются, а перед открытием распаковываются.
В целом этот процесс уменьшает время отклика и увеличивает скорость загрузки страниц. Даа-а-а, мы скажем отлично, но не все так безоблачно, ведь с другой стороны это влияет на нагрузку производительности сервера, где расположен сайт.
Нужно помнить, что сжатие с помощью функций GZIP сжимает текстовые файлы и только, а всю мультимедиа: картинки, музыку, архивы и видео и все не текстовые файлы не сжимаются.
Как включить GZIP сжатие сайта?
Думаю, что было бы правильно начать сразу с хостинга, то бишь обратитесь в техподдержку хостинга с вопросом, можно ли подключить сжатие с помощью функций gzip? Не секрет, что многие хостинги по умолчанию выключают эту возможность. Хорошо, если у вас опция включена, а если нет, то техподдержка либо подтвердит, что эта опция отключена, либо сразу же подключит её Вам (как было в моём случае).
Более того, там сразу подскажут правильный код для включения, который нужно будет прописать в файл .htaccess (он находится в корне Вашего сайта).
В этот файл нужно добавить следующее:
1 2 3 4 5 6 7 8 9 10 |
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html <ifmodule mod_gzip.c> mod_gzip_on Yes mod_gzip_item_include file \.js$ mod_gzip_item_include file \.css$ </IfModule> </IfModule> |
После записи данного кода в файл .htaccess вы пройдете на вышеназванный сайт для измерения скорости и увидите, что gzip сжатие сайта заработало.
Так бывает, что разные хостинги используют разную конфигурацию, а это значит, что вариант выше может не сработать.
Тогда на этот случай есть 2 вариант включения gzip сжатия, я бы сказал сжатие gzip deflate директивой:
1 2 3 4 5 6 7 8 9 10 11 12 |
# compress text, html, javascript, css, xml:AddOutputFilterByType DEFLATE text/plainAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xmlAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE application/xmlAddOutputFilterByType DEFLATE application/xhtml+xmlAddOutputFilterByType DEFLATE application/rss+xmlAddOutputFilterByType DEFLATE application/javascriptAddOutputFilterByType DEFLATE application/x-javascript # Or, compress certain file types by extension: SetOutputFilter DEFLATE |
Даже бывает так, что и этот вариант не подошел. Ну тогда пробуйте еще 3 вариант. Следующий php код нужно вставить первой строкой в файл header.php вашей темы оформления:
1 |
<xmp> <?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?> </xmp> |
Четвертым вариантом включения сжатия gzip в WordPress будет — установка плагина WP HTTP Compression, который решит ваш вопрос гораздо быстрее и даже не вникая в него, но при этом варианте может пострадать быстродействие вашего Вордпресс сайта при большом количестве посещений, а это важно учитывать.
Думаю, что какой-то 1 из 4-ех вариантов Вам обязательно должен подойти.
Если вам сложно освоить установку gzip способами описанными в этой статье, то вы может воспользоваться установкой плагинов для сжатия gzip, которые можно установить в разы легче и быстрее и без знаний кода и этих премудростей. Этот вариант рассчитан для «чайников».
Удачи в настройке сжатия с помощью функций gzip!