Как добавить автоматическое сжатие страниц

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

Первый способ самый простой – использовать специальные плагины кэширования. Многие из них уже содержат функции автоматического сжатия . Например, с предварительным сжатием прекрасно справляются WP Super Cache, W3 Total Cache и Hyper Cache.

Если у вас на сервере установлен Apache2, то можете воспользоваться специальными директивами для создания сжатых копий страниц. Для этого откройте файл .htaccess и добавьте в него следующий код:

# предварительное сжатие

  
    SetOutputFilter DEFLATE
  

[info txt=”Практически все виртуальные хостинги уже имеют настроенный Apache2, поэтому они автоматически поддерживают директивы, указанные в файле .htaccess. Поинтересуйтесь у хостера, так ли это. Если же программная среда Apache2 не установлена на сервере, обслуживающем ваш блог, то воспользуйтесь следующим советом.”]

Универсальным же способом является включение предварительного сжатия в виде функции. Откройте файл functions.php и добавьте в него следующий код:

/* предварительное сжатие */
function enable_zlib(){
    ini_set('zlib.output_compression', 'On');
    ini_set('zlib.output_compression_level', '1');
}
add_action('init', 'enable_zlib');

То же самое можно получить, если вставить следующий код в файл header.php, в самое его начало первыми строчками:


[info txt=”Предварительное сжатие требует от сервера наличие включенного модуля mod_deflate. Поинтересуйтесь у вашего хостера, можно ли использовать на вашем хостинге сжатие файлов, указав на библиотеку zlib или модуль mod_deflate – в подавляющем большинстве случаев все это включено по умолчанию.”]

Как видим, в коде указана степень сжатия. Какую степень сжатия использовать? Казалось бы, чем выше – тем лучше, однако тут следует учитывать то, что чем больше степень сжатия, тем больше и нагрузка на сервер, особенно на CPU. Практика показывает, что вполне хватает степени сжатия, равной 1. Например, при сжатии с разной степенью файлов объемом 22 килобайта были получены такие данные:

0 = 22549
1 = 4297
2 = 4279
3 = 4264
4 = 4117
5 = 4097
6 = 4063
7 = 4011
8 = 3998
9 = 3996

То есть при сжатии со степенью 1 и степенью 9 разница практически отсутствует по сравнению с исходным весом, а нагрузка на сервер остается минимально возможной. Предварительное сжатие может показаться неэффективным, однако это не так – в большинстве случаев оно может существенно сократить время загрузки блога. Так же предварительное сжатие сокращает исходящий трафик, иногда в 5-6 раз, что немаловажно для тарифных планов с лимитом трафика (например, такие тарифы часто встречаются на VDS и VPS).

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

3 Комментарии

  1. через .htaccess сжатие можно включить таким вот еще способом

    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

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

Ваш электронный адрес не будет опубликован.


*