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

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

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

Первый способ самый простой — использовать специальные плагины кэширования. Многие из них уже содержат функции автоматического сжатия . Например, с предварительным сжатием прекрасно справляются 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

Автор n-wp.ru — блога о WordPress для новичков.

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

  1. rainylive

    через .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
    Ответить
    1. Браузеры можно и не указывать — сейчас все понимают сжатый контент, даже IE, а старые версии, которые не понимают сжатый код, они его и не качают.

      Ответить
      1. rainylive

        :))

        Ответить