n-wp.ru — блог о WordPress

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

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

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

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

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

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

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

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

Предварительное сжатие требует от сервера наличие включенного модуля 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 для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

3 комментария

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