студия занимательная МИХАЛИКА
! Михалика - запросто с WordPress:
доступная ручная работа по правилам оптимального интернет(а)
Здравствуйте !

издатель:   в теме: В теме: Без плагинов
студия занимательная МИХАЛИКА

Включаем обслуживание сжатия файлов на хостинге и в htaccess

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

Хотя, по чести, большинство сайтов новичков нуждается в доработке.

Давайте же включим gzip сжатие файлов в.htaccess на сервере, а если понадобится то и на хостинге.


Следует сказать вот что: большинство хостеров намеренно не включают режим обслуживания gzip сжатия. Почему!? А потому что большинство админов, в начале своих славных дел, совершают какие-то ошибки в настройках сайта. В частности, страдает html код из-за прописки скриптов улучшалок и т.п.

 

И среди этих ошибок встречаются грубейшие недоработки, которые и ведут к постоянному завису блога, и соответственно нещадно перегружают cpu сервера на вашем хостинге.

Вот по этой причине, хостеры и страхуются, ограничивая…

 

Но мы сегодня говорим о другом… И коли вы уверены в своём детище — вперёд!

 

 

 

Как попросить хостера включить gzip сжатие файлов вашего сайта

 

 

 

Советую для начала убедиться в том, что ваш хостинг вообще включил сжатие gzip в режиме mod_deflate.

Для этого следует отправить ласковое коммюнике в техподдержку (Support) и попросить загваздырить соответствующее обслуживание вашему ресурсу.

 

Будьте внимательны! По ответу братии хостеров можно понять, стоит ли вообще связывать свою судьбу с выбранным хостом и его сжатием.

 

…через какое-то время придёт ответ, а вместе с ним (бандероль с кодом-скриптом) вам предложат прописать в ваш файл .htaccess какие-то на их усмотрение нужные строчки.

 

 

 

подготовка сайта к режиму gzip-сжатия

 

 

 

Ну а коли ваш хостер плут!! и ничего конкретного не предложит, кроме сухого ответа «gzip-сжатие на вашем аккаунте включено», то вот вам код, который необходимо прописать в .htaccess.

Чтоб не мудрить, прописывайте перед строкой # END WordPress.

 

Внимание! Редакцию файла .htaccess пока не сохраняйте!

 

 

#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.0678 no-gzip
BrowserMatch bMSIE 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>
# фин gzip сжатие

 

 

Далее целесообразно посетить консоль управления сайтом. А именно настройки какого-то вашего плагина кэширования. Хорошо бы если у вас был установлен WP Super Cache — в его настройках нужно поставить галочку в строке Сжимать файлы кэша чтобы ускорить работу. (Рекомендовано).

Ну а в иных подобных плагинах будет что-то принципиально похожее…

 

Это, возможно, вас избавит от ручного сжатия файлов css и js. А вообще всё проверяйте опытным путём. Тестируйте, ибо реализация правильного gzip сжатия файлов для каждого сайта индивидуальна.

 

Внимание! И регулировку плагина пока не сохраняйте!

 

Итак!! …теперь необходимо пройти вот по этой ссылке.

 

 

 

Включаем обслуживание gzip сжатия файлов сайта на хостинге и в htaccess

 

 

 

Далее откройте для чистоты экса и ЭТУ ссылку в новой вкладке… Тут неплохо проверять скорость загрузки и ответ сервера… который, к слову, должен быть 200.

 

 

подготовка сайта к режиму gzip-сжатия

 

 

 

Ну и …советую открыть этот модный тестер скоростей… (фото ниже) здесь возможно проверить оптимизацию чтения сайта и на мобильных устройствах !!

…хотя, думаю, на многие значения тестера обращать внимание не стоит…

 

К слову, на фотках показаны приличные значения, но !! если они будут у вас ниже, совсем не значит то, что нужно поднимать «пыль» и бить тревогу — я знаю достаточно сайтов, которые замечательно живут и много более низкими значениями — всё зависит от целей и сообразностей админа !  …но об этом подробнее в иной подходящий по теме раз…

 


подписка feedburner МИГ подписки - ВРЕМЯ знаний!!

 

 

 

 

как включить gzip сжатие на хосте и в файле htaccess

 

 

 

Идём дальше… .htaccess у нас поправлен… плагин кэширования включен, НО !! настройки пока не сохранены.

 

 

Ну что!?

Проверяем работу сайта без включенных вышеописанных настроек.

 

 

Вбейте домены вашего тестируемого сайта и жмите пуск. …

 

 

У вас вряд ли по началу будет так же как на фотках — но не отчаивайтесь! К результатам… нужно стремиться!! …и коли нынче не удастся достичь подобного, завтра подправите, и получится..!

 

 

 

Немного поясню по работе тестеров: примерные значения, на которые следует обратить взор, я подчеркнул, — в этом тестере-анализаторе нам потребуются именно они. А на скорость загрузки советую внимания не обращать — эта услуга частенько глючит.

 

На страничке же вглядитесь в информационные величины своего ресурса ( вес в кб вашего блога ВООБЩЕ — подчёркнуто вверху). Ну и на файлы стилей — style.css И js 1.11.3 (если он у вас в работе, то вес js-документа в несжатом состоянии 95кб).

Запомните эти величины… для дальнейшего сравнения работы правильного gzip сжатия.

 

 

 

Всё! Далее серьёзно… Давайте вернёмся в файловый менеджер и сохраним новую редакцию .htaccess (с кодом) и в админконсоли сохраним поставленную галочку в чекбоксе настроек плагина WP Super Cache.

 

 

Вновь вернёмся на странички анализаторов… Проверяем!

 

 

В некоторых случаях, вышеописанных регулировок по gzip-сжатию бывает достаточно, масса сайта значительно сокращается… а соответственно и сокращается же время скорости загрузки страниц блога.

 

 

Но, возможно, и так частенько бывает, что этого мало для достижения приличной скорости прогрузки. Исключительность хостинга и самого ресурса, знаете ли…

 

 

Тогда следует поступить так:

 

 

 

 

Усиливаем gzip-сжатие в документе .htaccess

 

 

 

 

Вновь открываем файл и дописываем следующие кодированные примеры:

 

 

 

включаем кеширование в браузере на стороне пользователя

 

 

# Перенаправление на gzip файлы
AddEncoding gzip .gz
<FilesMatch "\.js.gz$">
ForceType text/javascript
Header set Content-Encoding: gzip
</FilesMatch>

<FilesMatch "\.js$">
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.js$ $1\.js.gz [L]
ForceType text/javascript
</FilesMatch>

<FilesMatch "\.css.gz$">
ForceType text/css
Header set Content-Encoding: gzip
</FilesMatch>

<FilesMatch "\.css$">
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.css$ $1\.css.gz [L]
ForceType text/css
</FilesMatch>
# Перенаправление на gzip файлы

 

 

 

 

Включаем gzip кэш-компрессию в браузерах посетителей

 

 

 

 

# Включаем кэш в браузерах посетителей
<ifModule mod_headers.c>
# Отключаем кеширование php и других служебных файлов
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# Включаем кэш в браузерах посетителей

 

# кеширование в браузере на стороне пользователя
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>

# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>

#Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE
<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>
# кеширование в браузере на стороне пользователя

 

Кстати сказать, этот пример у меня работает неплохо…

 

Строки от 4 — по 16 — время хранения форматов картинок: указан 1 год (возможно регулировать).

…далее время хранения и сброса кэша документации. Это если коротко (а вообще, все эти величины тема отдельной статьи).

 

 

А вот ещё один вариант: (новое решение)

 

# Настройка кэширования на медиа-файлов в течение 1 недели
<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
ExpiresDefault A604800
Header append Cache-Control "public"
</FilesMatch>
# Настройка кэширования на медиа-файлов в течение 1 недели

# Настройка 2 часа кэширование на часто обновляемых файлов
<FilesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A7200
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
# Настройка 2 часа кэширование на часто обновляемых файлов

 

 

 

Усиливаем выполненное кеширование в .htaccess

 

 

# Усиливаем кеширование
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>
# Усиливаем кеширование

 

 

Сохраняйте редакции!

 

 

После этого кэширование и gzip-сжате файлов должны включиться в нормальный режим работы.

 

Поздравляю…

 

НО! Ввиду разности ресурсов и их отработки с определённым скриптом, вам всё же предстоит подстроить свой блог. Попробуйте исключать какие-то показанные выше коды (очень возможно, что в вашем случае какие-то кодированные элементы не понадобятся), и таким образом, настроить более оптимальную работу, ибо незачем перегружать файлы лишним скриптом.

 

Можете перейти ещё на одну страничку тестера и справиться о результатах там.

 

 

 

Включаем кеш компрессию в браузерах посетителей

 

 

В последней строке показан процентный итог того, на сколь легче стал ваш блог или сайт. На картинке 75% сброшено, за счёт сжатия документации блога…

 

 

На этом занавес представления опускается… НО !!

 

 

Очень важно !!

Прописка кода в файл functions.php, это дело хорошее !! Однако не всё и вся стоит в него пихать – правильнее (и для скорости загрузки в том числе) сгруппировать некоторые циклы кода в оформленном плагине: легко, надёжно и правильно в плане создания сайта.

 

Все доказательства «ЗА» читать:

Вот ссылка – как сделать собственный плагин WordPress – добавочный файл my-functions.php

 

 


подписка feedburner МИГ подписки - ВРЕМЯ знаний!!

 

 

Кино: сохраняем все настройки браузера !! это на случай аварии или переустановки ОС или самого браузера Firefox.

 


Если что-то не ясно, спрашивайте. Помогу… в чём дюжу.
Вместе мы многое сможем! Берегите себя и свой век - mihalica.ru


Нажатия на кнопочки определяют Ваше высокое гражданское сознание
Удачи в работе и творчестве..!


меточная навигация:


Комментарии © 2 к статье: Включаем обслуживание сжатия файлов на хостинге и в htaccess

  1. Перелопатил кучу сайтов, перепробовал 6-7 плагинов кеширования и минификации файлов. Ничего не сработало. Прочитал статью, накопировал код в htaccess — и тож ничего. Как было 36% — так и осталось. :(
    Сижу сжимаю руками. Один единственный плагин, который хоть как то повлиял на этот % — Wp Super Cache. Отличный плагин, снизил скорость на 7%. По трем мануалам настраивал. Снес. Тлен.

    Ответить - Сергей

    • Сергей, не знаю что и посоветовать, кроме банальной перепроверки настроек сайта, хостинга (в статье говорилось)… и, важно, перепроверять правильность (валидность) HTML… у Вас встречается много ошибок и дубликатов тегов (издержки магазов)).
      Имейте в виду и дубли кода .htaccess С ПЛАГИНАМИ…
      Вообще (если мало практических знаний) отлаживать настройки стоит постепенно! код за кодом и т.п. …и тестировать.
      Я, обычно, когда настраиваю, первым делом в саппорт хоста (частенько там мудрят с сжатием gzip в режиме mod_deflate.) — и если всё ОК, то — остальное фигня)

      Ответить - Михаил

Поделитесь соображениями: Ваши мысли очень важны! $ правила комментирования ©

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