возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2021-03-01 в теме: WordPress без плагинов  Читаемая статья!
Запросто с WordPress создание и продвижение сайтов ATs media

Включаем обслуживание gzip сжатия файлов на хостинге и в 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 Online консультация по настройкам и созданию сайтов на WordPress

 

 

 

 

как включить 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.

 

 

 

 


...город веб мастеров Михалика.ru © - запросто с WordPress - ATs media squad

 

 

 

 

Как правильно закомментировать на время код HTML, CSS или PHP, JS

 

 

 

 

 

 

Как работать с условными тегами WP: пример на странице пагинации – закрываем в noindex,follow

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





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

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

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


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

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

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

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

  2. Михаил, я так понял сначала стоит обратиться к хостинг провайдеру. Если они предоставляют услугу сжатия, то вставить их код, если нет, то твой?

    Ответить - Павел

    • Ну, в общем, нелишне обратиться к своему хостеру. Хотя, сейчас по умолчанию всякие сжатия подключают на хостах сразу же (на большинстве), однако – спрос всегда полезен…
      А дальше методично тестить варианты кода! Дело в том, что подход к сайтам индивидуален…
      Код в статье полностью рабочий… так что выбирать требуемое и тестить нужно)

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

  3. Можно попросить о помощи. Навставляла кодов в .htaccess. Теперь заголовки н2 не прописываются, картинки и теги исчезают. Что делать-то?

    Ответить - kuztoday

    • Привет!!
      Помогу, конечно же.
      Пишите мне на почту (адрес будет в письме)… Вернем работоспособность вашего сайта…

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

      • Коды поудаляла. Все вернулось как прежде почти. Вот только что не вернулось. Зайдя в админпанель последняя размещенная запись почему-то отсутствует. Приходится кликать на вкладку “Опубликованные” и тогда попадаешь на запись и можно редактировать.А по вкладке Все записи – не вижу ее. Ужас, короче говоря…чтоб я еще раз кому-то поверила и эти коды начала внедрять) ни за что.

        Ответить - kuztoday

        • Коды нужно внедрять осторожно, но не все скопом… Настройка сайта сводится сутью к индивидуальности конкретного сайта, хостига…
          В этой статье – в основном, скажем так, настройки кэширования (сжатия)… Всё это настраивается осторожно (в тексте статьи даны пояснения).
          Если вы удалили все коды – то теперь требуется очистить кэш браузера и сайта..! У вас просто закэширована админпанель (бэкэнд).
          p/s
          тут всё дело не в верить/не верить – но в четком понимании того, что требуется и как решать…

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

          • Все нормально. Историю почистила, во вкладке “Все записи” все записи теперь отражаются как прежде.

            Ответить - kuztoday

            • Ну и замечательно!
              Теперь тихонько (и спокойно) можно приступить к повторной настройке кэширования (ускорению сайта).
              ==
              Вот из-за этого куска кода у вас кэшировалось:

              # 1 день ==== /можно убрать |php - ИЗ ЗА этого редактирование записей в АДМИНКЕ КЭШИТ
              # <filesMatch "\.(html|htm|php)$">
              # Header set Cache-Control "max-age=172800, private, must-revalidate"
              # </filesMatch>
              # </ifModule>
              # кеширование в браузере на стороне пользователя

              Можете этот код убрать/закомментировать. ИЛИ в строке html|htm|php убрать |php.

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