Gzip сжатие WordPress. Ускоряем загрузку сайта.

gzip-mini

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

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

Ситуация вполне объяснима – жизнь сегодня очень стремительна. Мы экономим своё время и хотим, чтобы все  также старались это делать.

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

gzip-optimizationСамым эффективным способом уменьшения размера файлов является применение Gzip сжатия. Которое сокращает размер передаваемых данных до 70 процентов и поддерживается всеми современными браузерами.

Проверка использования Gzip сжатия на вашем сервере.

В этом поможет Page Speed,   приложение для Firebug – незаменимый помощник вебмастера. Как установить это приложение,  можете узнать в статье “Увеличиваем скорость загрузки сайта.”

После запуска приложения, на вкладке Page Speed нажмите кнопку Resourses. В открывшемся списке отображаются файлы, которые загружаются с сервера с указанием URL.gzip1-300x156

В первой строке  находится основной загружаемый файл сайта – HTML. Большинство CMS (движков) сайтов работает на PHP, но в браузер пользователям, передаётся сгенерированная в формате  HTML  версия страницы.

В столбцах расположенных справа указывается размер каждого файла.

В графе “File size” – указан размер файла на веб сервере, а в графе “Transfer size”  – сжатый размер того же  файла передаваемый в браузер посетителя сайта.

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

Читать также:  Каталог сайтов Dmoz

Включаем Gzip сжатие.

Начать следует  с самого простого хода. Откройте для редактирования файл Header.php  шаблона вашего сайта. В самом начале файла, перед  строчкой  “!DOCTYPE” вставьте следующий код:

< ?php ini_set('zlib.output_compression', 'On'); ini_set('zlib.output_compression_level', '1'); ?>

Надо сказать, что этот приём работает не на всех хостингах, но пробовать надо.

Не сработало? Попробуйте такой способ:

Откройте для редактирования файл index.php и  в нём такую строчку:

define('WP_USE_THEMES', true);

и сразу после неё вставьте эту:

ob_start('ob_gzhandler');

Этого способа обычно достаточно.

Если всё-таки не получилось – надо включить сжатие  в файле  .htaccess находящемся в корневой папке (public_html) вашего сайта.

Для этого надо подключиться к хостингу через FTP с помощью FTP-клиента FileZilla и в папке public_html  найти файл .htaccess.gzip5-300x295

Открыть этот файл для редактирования используя текстовый редактор Notepad++ и вставить следующий код:

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ 
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</IfModule>

Данный код надо вставить в конце файла, перед завершающей строкой: #END WordPress?  Вставьте его между этой строкой и предыдущей (которая, должна содержать тег закрытия /IfModule).

Нажмите кнопку “Обновить файл” и запустите “Page Speed”. Теперь Gzip сжатие на вашем сайте работает.

Если нет  – замените вставленный код на этот:

<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>

В моём случае “сработал” первый код. Page Speed  сразу отреагировал на эти исправления.gzip6-300x218

Как видно из скриншота – нареканий по поводу сжатия больше нет. Если в вашем случае не помогли оба кода, попробуйте ещё такой:

<IfModule mod_headers.c>
<FilesMatch “.(js|css|xml|jpg|jpeg|gif|png|ico|gz)$”>
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
Header append Vary User-Agent
</IfModule>

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

Читать также:  Выбор тематики сайта

Возможно, на вашем хостинге задействован модуль nginx, применяющий сжатие  только для определённой категории файлов. У этого модуля имеются свои настройки и поменять их может только хостинг провайдер.

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

Чтобы не ломать голову этими скриптами, хостингами и пр. – есть замечательное решение этого и некоторых других вопросов:  Установите на сайте прекрасный плагин W3 Total Cache и забудете об этих проблемах. 

Закладка постоянная ссылка.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *