» » » Как включить gzip сжатие и кратно ускорить сайт
logotip

Как включить gzip сжатие и кратно ускорить сайт

Всем привет! Сегодня на seo-mayak.com я продолжу свое повествование о том, как ускорить сайт и расскажу как включить gzip сжатие на сервере.

Бродя по просторам интернета, видишь большое количество красивых сайтов, с множеством разных «спецэффектов», все мигает, моргает и движется. Но когда взглянешь на показатель скорости, данных ресурсов, то становиться грустно.

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

Google уже давно не двусмысленно об этом заявил, да и Яндекс играя в молчанку все равно следует мировым тенденциям.

А тенденции таковы. Мы живем в эпоху всеобщего ускорения и динамика жизни задает ритм, в том числе и всемирной паутине. Надо ясно понимать, что пользователь не будет ждать и это касается не только рядовых сайтов, но и того же Google или Яндекса.

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

Но мало того, в интернете, впрочем как и в реальной жизни, работает понятие «Время — деньги». Слышал, что компания Amazon потеряла 1% своего дохода из-за замедления скорости загрузки ресурса всего лишь на 100 миллисекунд. Учитывая обороты компании, сумма получается весьма внушительная. Так что делаем своевременные выводы.

В прошлой статье, посвященной PageSpeed, мы прошлись по двум очень важным пунктам, касающихся оптимизации изображений и теперь пришла очередь не менее важной рекомендации — «Включить сжатие».

gzip szhatie

Прежде всего не мешало бы разобраться, что значит «Включить сжатие» и как это поможет ускорить сайт?

Что значит «Включить сжатие»

Допустим, пользователь открыл страницу и запустил процессы передачи данных с сервера. В браузер пользователя отправляются изображения и текстовые файлы с расширениями: .html, .css, .js и т.д.

Все текстовые файлы имеют свой определенный вес и чем меньше этот вес, тем меньше серверу требуется времени для их передачи.

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

Все современные браузеры, в том числе и мобильные, прекрасно умеют обрабатывать файлы с расширением .gz. Т.е, если браузеру оправить сжатые файлы, то он их распакует и отобразит содержимое.

Но как включить это gzip сжатие? Давайте обо всем по порядку. Реализовать gzip сжатие файлов на сервере можно двумя способами — динамическим или статическим.

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

Вписываем в поле свой домен и нажимаем кнопочку «Check»:

gzip szhatie5

Если результат проверки будет примерно следующим:

gzip szhatie1.1

Это значит, что динамическое gzip сжатие на сервере не включено.

Как включить динамическое gzip сжатие и стоит ли это делать

Динамическое gzip сжатие включить очень просто, достаточно добавить в файл .htaccess следующий код:

# сжатие text, html, javascript, css, xml:
<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>

Теперь давайте проверим, как работает сжатие. Снова заходим на сервис, ссылку на который я дал выше и производим повторную проверку:

gzip szhatie2

В моем случаи исходный размер файлов составил 39,533 байт, после сжатия их вес уменьшился до 9,792 байт. В общей сложности вес снизился на 75,2%. Впечатляет!

Для полной уверенности в действенности данного метода, проведем тест. Отключив кэширование, я взял самую тяжелую статью с блога и проверил ее на скорость загрузки, с помощью сервиса pr-cy.ru.

Без динамического gzip сжатия:

gzip szhatie3

С включенным gzip сжатием:

gzip szhatie4

Впечатляет еще больше!

Но так ли все радужно? Обязан Вас предупредить, что у сего метода есть обратная сторона медали.

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

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

Это что же получается, одно лечим — другое калечим? Выходит так! Но как я уже сказал, многое зависит от хостинга, а также от количества сжимаемых файлов и от общей оптимизации WordPress. Попробуйте, и если последствий не возникнет, то в принципе можно использовать данный метод.

Должен сказать, что у динамического gzip сжатия есть еще один минус — сервер тратит драгоценные миллисекунды на сам процесс сжатия.

Самое время рассказать про второй вариант.

Статическое gzip сжатие

При статическом gzip сжатии, серверу не приходится сжимать файлы перед отправкой в браузер пользователя, так как у них уже есть сжатые копии, Т.е, файлы заранее сжимаются с помощью архиватора 7-Zip и заливаются на хостинг.

Процедура выглядит следующим образом. Скачиваем с сервера файлы с расширениями .css и .js, затем открываем архиватор 7-Zip и ищем в окне программы скаченные файлы.

gzip szhatie6

Нажимаем кнопку «Добавить» и устанавливаем следующие параметры сжатия:

gzip szhatie7

Нажимаем «ОК» и смотрим насколько похудел файл:

gzip szhatie8

Аналогичным образом сжимаем все файлы шаблона, с расширениями .css, .js и заливаем сжатые копии обратно на сервер.

Теперь в файл .htaccess вставляем следующий код:

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

<FilesMatch "\.js$">
  RewriteEngine On
  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$">
  RewriteEngine On
  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 сжатия можно с помощью сервиса whatsmyip.orgwww.whatsmyip.org:

gzip szhatie11

Или  для пущей уверенности можно проверить с помощью расширения для Mozilla Firefox, которое называется Live HTTP Headers.

Устанавливаем расширение, выбираем вкладку «Инструменты» и в ней ищем пункт «Просмотр HTTP заголовков»:

gzip szhatie10

Если в ответах сервера есть такая фраза:

gzip szhatie9

Это значит что статическое gzip сжатие работает как надо.

Итак, при статическом сжатии файлов сервер избавляется от лишней нагрузки и не тратит время на сам процесс сжатия. Вроде бы все плюсы налицо! Но и у этого метода есть один очевидный минус. После редактирования файлов .css и .js придется постоянно делать их свежие gzip копии.

И еще, прежде чем делать gzip копии файлов .css и .js необходимо выполнить еще две рекомендации PageSpeed, а именно «Сократите JavaScript» и «Сократите CSS». Как выполнить данные рекомендации, читайте в ближайших статьях и подписывайтесь на обновления блога, чтобы ничего не пропустить.

Не важно, какой Вы выбрали способ сжатия, дабы ускорить свой сайт, но после всех проделанных манипуляций, в анализе PageSpeed, пункт «Включить сжатие» должен оказаться в зеленой зоне:

gzip szhatie12

Надеюсь у Вас все получится!

До встречи!

С уважением, Виталий Кириллов

« Оптимизация WordPress. Нагрузка на сервер и как ее снизить
« PageSpeed — реальное ускорение сайта
« Как сократить CSS и ускорить загрузку сайта
« Как включить кэш браузера на стороне пользователя

(предыдущая статья)

Комментарии: 102

  1. Елена:

    Довольно интересная статья, ведь многие вебмастера стремяться к тому чтобы из сайты загружались как можно быстрее. Наверное я все таки выберу для себя динамическое сжатие!

    Ответить
  2. алексей:

    Попробовал первый вариант скорость по разным сервисам не изменилась, как была 0,40-0,50 так и скачет. При какой скорости загрузки надо задумываться о том как снизить нагрузку? Может если до 1 минуты грузит и не парится?

    Ответить
    • internetlift:

      Рекомендация есть 7-13 сек, о какой минуте речь???? сейчас яндекс режет сайты не оптимизированные при каждом апдейте, а гугл пока не столь сильно, но такие как ваш сайт не особо в топ выдвигает

      Ответить
      • Андрей:

        А можно подробнее о Яндексе? У вас есть данные что позиции падают если не оптимизирован под мобильные?

        Ответить
        • Николай:

          Добрый день. Гугл уже запустил фильтрацию выдачи по наличию адаптивной верстке. И теперь мобильная выдача у него в приоритете. Адаптивные сайты и блоги будут ранжироваться выше. Яндекс пока молчит, по крайней мере не так категоричен. Но из последнего общения с тех поддержкой яши, будет так же как у гугла, скорей всего с НГ но точных дат ни кто не говорил.

          Ответить
          • Андрей:

            Спасибо за ответ. Правда хотелось бы услышать есть ли данные со своих сайтов, где неадаптивный дизайн повлиял на посешаемость, ибо я думаю у меня падает трафик из-за этого или того что сайт не обновляется.
            А как в техподдержку Яши достучаться можно, не подскажете?

            Ответить
            • Николай:

              Добрый день. К Яше стучаться вот сюда: yandex.ru/support/webmaster-troubleshooting/rank.xml?host=https%3Aitchef.ru%3A443 Выбрать нужную тему, или другие сервисы. prntscr.com/ddpa70

              Ответить
  3. Андрей:

    Спасибо, действенные советы. Информация очень помогла понять некоторые тонкости процесса настройки WP блога.

    Ответить
    • Виталий Кириллов:

      Пожалуйста Андрей! Раз видеть Вас на блоге!

      Ответить
  4. Николай:

    Проверил сжатие на сервисах — все работает, все сжимает, а скорость низкая = 64/100 и PageSpeed Insights рекомендует сжимать, кешировать. В чем может быть дело? Может с оптимизации картинок начать?

    Ответить
    • Виталий Кириллов:

      Начните с картинок.

      Ответить
      • Николай:

        О кей!

        Ответить
  5. Vladimir:

    Попробовал ваши варианты, но к сожалению все директивы внесенные в htacces приводят к ошибке 500. Вот глядите webprofit.kz он работает на nginx. Что предложите мне?

    Ответить
    • Виталий Кириллов:

      На nginx данные директивы не действуют, работает только на Apache.

      Ответить
  6. Александр:

    Здравствуйте Виталий! Привет всем посетителям!
    Последнее время был весьма сильно озабочен скоростью загрузки моего сайта. Тесты колеблются около 1 сек. Такие тестеры как gtmetrix.com все показывали необходимость сократить CSS/JC и включить gzip сжатия. Спасибо, нашел как это сделать на вашем сайте. На включенное сжатие сразу отреагировали: whatsmyip.org сообщил всё ОК, а gtmetrix.com даже сказал, что все в порядке с CSS. Но на скорости загрузки сайта это ни как не отразилось, во всяком случае pr-cy.ru/speed_test/ изменений скорости не показал.

    Ответить
  7. Михаил:

    Добрый день, пробовал сделать статическое сжатие по вашей инструкции, но после внесения записей в .htaccess, вместо сайта открывается это

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, webmaster@cp202561.cpanel.tech-logol.ru and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

    Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1e-fips mod_bwlimited/1.4 Server at pebblebuy.ru Port 80

    В чём может быть проблема?

    Ответить
    • Виталий Кириллов:

      Не берусь сказать.

      Ответить
  8. Алексей:

    Здравствуйте! У меня возникла проблема с большой нагрузкой на сервер. Сделал статичное gzip сжатие css как на этом сайте http://goldbusinessnet.com/optimizatsiya-i-raskrutka-saita/gzip-szhatie-css-js-html/
    На ваш сайт попал позднее и теперь сомневаюсь, правильно ли все сделал. На том сайте есть такие вот изменения исходного и заархивированного файла

    //А теперь будьте внимательны, чтобы ничего не напутать. Некоторые браузеры не воспринимают файлы с расширением gz, поэтому мы удаляем окончание .gz, воспользовавшись опцией переименования файла. Получаем просто style.css, однако по факту он будет архивом gzip. Далее. Старые версии браузеров не поддерживают gzip сжатие, однако некоторые пользователи еще используют их. Поэтому к оригинальному несжатому файлу дописываем nogzip и получаем: style.nogzip.css, его мы отдадим браузерам, которые не поддерживают сжатие. В сумме всех действий получаем два файла стилей CSS в корневой папке://
    Как все-таки лучше сделать? Проверил с помощью Live HTTP Headers, фраза Content-Encoding:gzip есть. Получается работает?
    Что значит // Но и у этого метода есть один очевидный минус. После редактирования файлов .css и .js придется постоянно делать их свежие gzip копии// Как это делать?

    Ответить
    • Виталий Кириллов:

      Здравствуйте Алексей! Конечно придется после редактирования делать свежие gzip-копии. Думаю первый вариант предпочтительней.

      Ответить
  9. Sirge:

    Добрый день, пробовал сделать статическое сжатие по вашей инструкции, но после внесения записей в .htaccess, вместо сайта открывается это

    Internal Server Error

    По всей видимости у вас сервер nginx поэтому в файл .htaccess нужно вставить другой код, у меня он работает

    #Включение gzip-сжатия
    AddEncoding gzip .gz
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}.gz -f
    RewriteRule ^(.*)$ $1.gz [QSA,L]

    <IfModule mod_headers.c>
    Header append Vary User-Agent
    <FilesMatch .*.js.gz$>
    ForceType text/javascript
    Header set Content-Encoding: gzip
    Header set Cache-control: private
    </FilesMatch>
    <FilesMatch .*.css.gz$>
    ForceType text/css
    Header set Content-Encoding: gzip
    Header set Cache-control: private
    </FilesMatch>
    </IfModule>

    Ответить
    • Виталий Кириллов:

      У меня все прекрасно работает, но все равно спасибо за дополнение, возможно кому-нибудь пригодиться.

      Ответить
  10. Владимир:

    Добрый день. Проверил сервер — включено сжатие по умолчанию, но страницы при тесте грузятся долго — боле трех секунд. Добавил код в .htaccess — ничего не поменялось. При том, что PageSpeed пишет — включите сжатие. Виталий, что может быть? Подскажите. Спасибо.

    Ответить
    • Виталий Кириллов:

      Владимир, а сервер у Вас на каком ПО работает знаете?

      Ответить
      • Владимир:

        при проверке по ссылке, которую вы указывали пишет вот такой сервер nginx/0.7.67

        Ответить
        • Виталий Кириллов:

          На заметку! На nginx не действуют многие команды, проводимые через файл .htaccess, в отличии от Apache.

          Ответить
          • Sergey:

            Серьезно?
            А какое отношение к nginx имеет .htaccess? Не путайте теплое с мягким.
            Начнем с того, что .htaccess на nginx никак не влияет, и какие-же директивы в таком случае работают?

            Ответить
  11. vokacan:

    Это то, чего мне не хватало, благодарю за полезную и содержательную статью. Осталось только разобраться в нюансах.

    Ответить
  12. Rail:

    У меня сайт работает на друпале, у нас там для ускорения работы сайта есть модуль Boost и он у меня включен и работает. Этот модуль так же обеспечивает вот это пресловутое gzip сжатие.

    Упомянутые вами сервисы показывают, что сжатие включено, а тот сервис от гугла, PageSpeed, по прежнему настоятельно рекомендует включить gzip сжатие. Что делать, без понятий

    Ответить
  13. Миша:

    У меня тоже как у Rail, по умолчанию при проверке на gidnetwork.com показывает что gzip сжатие работает, а на PageSpeed по прежнему настоятельно рекомендует включить gzip сжатие. Что делать, без понятий. Сервер nginx

    Ответить
    • Виталий Кириллов:

      Скажите Миша, а вы оптимизировали изображения?

      Ответить
  14. Евгений:

    Виталий привет! А если не все файлы css и js сжать, но при этом в файл .htaccess вставить код, который будет работать для сжатых файлов, не приведет ли такое к какому-нибудь сбою и вообще, можно ли только на половину делать сжатие файлов css js или по выбору?

    Ответить
    • Виталий Кириллов:

      Начнем вот с чего.. Сервер, где «живет» Ваш сайт, на каком ПО работает?

      Ответить
      • Евгений:

        Сервер Apache. Долго не мог ответить, так как поехал шаблон админ панели, при этом, сайт работал нормально. Сутки разбирался с проблемой, оказывается у хостера на сервере было включено динамическое сжатие css js…отключил и заработало. Кстати, Виталий, ваш код в .htaccess не сработал, а вот в комментариях был выложен код у Sirge, вот он рабочий у меня, помог.

        Ответить
  15. Мария:

    Виталий, здравствуйте. Проверила программкой сайт на сжатие -отсутствует. Внесла код для динамического сжатия- не работает. На хостинге установлен ПО Apache. Есть ли какой выход?

    Ответить
    • Виталий Кириллов:

      Мария, попробуйте вариант, который привел Сергей.

      Ответить
  16. Мария:

    Попробовала вариант Сергея, не прошел. Что можно еще предпринять?

    Ответить
    • Виталий Кириллов:

      Даже не знаю что Вам еще посоветовать…

      Ответить
  17. Виктор:

    Этот способ подойдет и для DLE?

    Ответить
    • Виталий Кириллов:

      Я DLE не работал, поэтому точно сказать не могу.

      Ответить
  18. Маша:

    Очень полезный материал. Отписала парочке старых заказчиков, предложила сделать им компрессию. Опа и заработаны уже $50. Работы на пару минут, а денежку можно получить! =)

    Ответить
  19. Алена:

    Виталий, спасибо. Работает 77%.

    Ответить
  20. Андрей Курасов:

    Получается, что при динамическом сжатие сжимаются css, js и html
    А при статическом — только css и js?

    Ответить
    • Виталий Кириллов:

      Все верно, ведь HTML файлов в шаблоне нет.

      Ответить
  21. AndreyEx:

    Самое действенное в повышении скорости является кэширование, потом объединение css файлов и отдельно js файлов, а сжатие критично для процессорного времени. А так с современным интернетом и экономным использованием картинок не должно быть проблем, спс за статью.

    Ответить
  22. yuriy:

    Добрый день! почитал ваш блог очень позновательный для новичка.
    спасибо большое за информацию.

    Ответить
  23. VRS:

    Добрый день.
    Спасибо за статью.
    Но у PageSpeed остались ко мне претензии =).
    Подскажите, пожалуйста, как добавить кеширование и сжатие файлов svg

    Сейчас использую такие конструкции

    <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 image/svg+xml "access plus 7 day"
    ExpiresByType application/x-shockwave-flash "access 1 year"
    </IfModule>

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

    <IfModule mod_setenvif.c>
    BrowserMatch "MSIE" force-no-vary
    BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
    </IfModule>

    <IfModule mod_gzip.c>
    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file \.(html?|xml|css|js|php|jpg|svg|png|gif)$
    mod_gzip_item_include handler ^cgi-script$
    mod_gzip_item_include mime ^text/.*
    mod_gzip_item_include mime ^application/x-javascript.*
    mod_gzip_item_exclude mime ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
    </IfModule>

    Ответить
    • Виталий Кириллов:

      Здравствуйте! А на каком ПО работает Ваш сервер?

      Ответить
      • VRS:

        WordPress Version 4.2.2
        PHP Version 5.4.32
        Web application details
        Running on: nginx/1.0.15
        Powered by: PHP/5.4.32

        Ответить
        • Виталий Кириллов:

          Для ПО nginx многие директивы .htaccess не работают. Директивы, предлагаемые мной, предназначены для ПО Apache.

          Ответить
    • Антон:

      Конструкция зачет! Почерпнул!
      Претензии к вам от гугл спид скорее всего из-за плохо пережатых картинок… или много кода на главной!

      Ответить
  24. Алексей:

    Спасибо за статью. Пробую настроить статическое gzip сжатие. На сколько я понял, можно сжимать не только файлы шаблона, но так же файлы плагинов и файлы самого движка WordPress?

    Ответить
    • Виталий Кириллов:

      Все, что выводится в исходный код.

      Ответить
  25. Harand:

    Здравствуйте!
    Благодарю за статью.

    Скажите, почему после директивы FilesMatch вы не ставите закрывающую директиву /FilesMatch?

    Ответить
    • Виталий Кириллов:

      Спасибо, уже поправил.

      Ответить
  26. Павел:

    А как быть с таким моментом: включил сжатие gzip на хостинге, но в pagespeed пишет, что все равно нужно включить его?

    Ответить
    • Павел:

      Прочитал комментарии и понял, что ни у меня одного такие проблемы:)

      Ответить
      • Виталий Кириллов:

        Павел на каком ПО ваш сервер?

        Ответить
        • Павел:

          Удивительно, но на апаче: Server Apache/1.3.42 (Unix). Написано что сайт сжат на 83%. Пробывал второй метод, но моя Joomla выдает 500 ошибку. Задумываюсь покупать бубен.

          Ответить
  27. Елена Маая:

    Неа, динамическое сжатие не работает по вашему рецепту (((

    Ответить
  28. Принцесса радужного мира:

    Добрый день! В принципе, все детали Gzip можно очень четко отследить в Page Speed, но так же есть онлайн сервисы, которые способны дать вам информацию о том, включена ли эта архивация или нет. Например, можете воспользоваться этим или этим онлайн сервисом для проверки включения сжатия на вашем сервере. И еще мне нравится как вы сделали блог!

    Ответить
  29. Linkares:

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

    Ответить
  30. Андрей:

    ПС занижают «долгие» сайты. Постепенно, но верно наблюдаю, как этот фактор получает свой вес при составлении поисковой выдачи. У Яндекса этот процесс был резкий, вчера роли не играл, а сегодня — без сжатия никак. Этим Яндекс, простите, бесит.

    Ответить
  31. Алексей:

    спасибо за статью! обязательно добавлю в свой сео-чеклист пункт по gzip-сжатию

    Ответить
  32. Андрей:

    Здравствуйте!
    Очень интересно. Попробовал сделать статическое сжатие. Файл .CSS уменьшился в объеме в 10 раз. Залил на хостинг, вставил код с вашего сайта в файл .htaccess. Проверил работу. Вот результат.
    avkzarabotok.info is NOT Compressed
    Page Size: 21.4 KB
    Compressed Page Size: 6.6 KB
    Potential Savings: 69.3%
    Что я мог сделать не так? И что означает строка «RewriteCond %{HTTP_USER_AGENT} !».*Safari.*»», может Safari нужно на что-то поменять?
    С уважением, Андрей.

    Ответить
  33. Олег:

    Здравствуйте! Спасибо за статью. После внедрения кода «Динамическое gzip сжатие» — гугл тест показывает 99% — не плохо так-то))

    есть одно но… сайт после такой инъекции не отображается на маленьких мониторах, в чем секрет не подскажите?

    *** пока что убрал выложенный Вами код

    Ответить
    • Виталий Кириллов:

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

      Ответить
  34. Виталий:

    Виталий, спасибо за статью!
    Благодаря Вам в PageSpeed у меня всё в зелёной зоне, но вот с сжатием, что-то не как не выходит.
    И статическое и динамическое сжатие включёно, но PageSpeed упорно не реагирует
    prnt.sc/atccct .

    Не подскажите в чём проблема?

    Ответить
    • Виталий Кириллов:

      Виталий, Вы узнайте на своем хостинге, установлен ли у них модуль сжатия.

      Ответить
      • Виталий:

        Да, Виталий, сказали, что всё установлено и всё сжимает как надо, вот даже скрин прислали, что мой сайт сжимается нормально: prnt.sc/au3kso

        Также проверил сервисом указанном в Вашей статье, тоже всё сжимается: prnt.sc/au3n8m

        Хостинг работает на APACHE.

        Если всё сжимается, почему сервис PageSpeed не хочет показывать это?

        Спасибо за помощь!

        Ответить
        • Виталий Кириллов:

          Я проверил ваш сайт на PageSpeed, все сжимается.

          Ответить
          • Виталий:

            Виталий, прежде всего СПАСИБО Вам, что мне помогаете!!!

            Но странно, почеиу-то у меня СЖАТИЕ на PageSpeed находится в красной зоне: prntscr.com/au86sq

            Ответить
            • Виталий Кириллов:

              Виталий, расширение для браузера устарело, проверьте здесь: developers.google.com/speed/pagespeed/insights/?hl=ru

              Ответить
              • Виталий:

                Да, точно!!! Спасибо, Виталий, Вы как всегда правы, ошибок с сжатием сейчас нет!

                Благодарю и желаю успехов!!!

                Ответить
  35. Александр Каратаев:

    Виталий, вот спасибо за статью. Для WordPress сжатие было включено, а вот со своим рукописным сайтом пришлось повозиться. Сначала решил сделать статическое сжатие, оптимизировал css, создал gzip-копии, загрузил на сервер — отлично. Но проблема подкралась с другой стороны — я все правки вношу на локальной копии сайта (Денвер) и вот Денвер отказался даже папку с сайтом показывать из-за вставки в .htaccess.
    Тогда сделал динамическое сжатие и в этом варианте всё нормально сработало, как на Денвере, так и на хосте. PageSpeed показал, что проблема решена.

    Ответить
  36. Юлия:

    Виталий, спасибо за статью. Сделала все как Вы написали. Но не понимаю работает сжатие или нет. По результатам проверки — is NOT Compressed. В PageSpeed сжатые страницы (которые раньше выдавал) больше не упоминаются. Но необходимо сжатие виджета для звонка с сайта (не очень понимаю как это сделать). Результат проверки такой из-за того, что сжатие не всех страниц? И еще вопрос. На хостинге — «Сжать содержимое. Apache 2.0 and 2.2 allow you to compress content before sending it to the vistor’s browser. The types of content to be compressed are specified by MIME type. This feature requires Apache’s mod_deflate to function correctly. Стоит галочка «отключен». Есть варианты «сжать все содержимое», «Сжимать заданные типы MIME (text/html text/plain text/xml)». Надо ли здесь что-то включать? И галочка сжать все содержимое означает, что оно будет сжиматься автоматически? И к каким файлам это относится (css, js, html)? Мне необходимо сжатие только css, js.

    Ответить
  37. Александр:

    Спасибо Виталий! Как раз это то, что мне и надо для моего блога! Обязательно сегодня установлю сжатие, а то блог слишком медленно грузится!

    Ответить
  38. Elena:

    Вы бы сразу написали в статье что это на Nginx, на Apache не работает первый вариант. Как сделать динамическое сжатие на Apache? Может кто подскажет

    Ответить
  39. Николай:

    Добрый день. Подскажите вот какую вещь. Скачал Архиватор, но в нем нет формата gzip есть просто zip. Если за архивировать в zip то что и где нужно поменять в коде который вы предоставляете? Можно подробно описать изменения, если они конечно нужны.

    Ответить
  40. Виталий:

    не получился не один из методов((( Вроде все делал как писали.

    Ответить
  41. Александр:

    Виталий подскажите пожалуйста. Включил сжатие на сайте, все сжимается, кроме Сжатие страницы code.jivosite.com/script/widget/z42xs35EDt уменьшит ее размер на 2,3 КБ (52 %). Как его можно тоже сжать?
    developers.google.com/speed/pagespeed/insights/?hl=ru&url=http%3A%2F%2Fapple-pnz.com%2F&tab=mobile

    Ответить
    • Виталий Кириллов:

      Вы не сможете сжать скрипт, который находится совершенно на другом ресурсе.

      Ответить
  42. Саня:

    Автор, а есть продолжение этой статьи о сжатии?

    Ответить
  43. Антон:

    Здравствуйте Виталий, у меня на блоге динамическое сжатие страницы видимо по умолчанию на хостере, но при проверке на pagespeed просит сжать.. не подскажите как быть?

    Ответить
    • Виталий Кириллов:

      На некоторых хостингах сжатие настраивается через панель управления. На всех хостингах по разному.

      Ответить
  44. Антон:

    Видимо вы меня не поняли… при проверке этим сервисом http://www.gidnetwork.com/tools/gzip-test.php у меня показывает «Yes» но на pagespeed все равно просит сжать

    Ответить
    • Виталий Кириллов:

      Возможно pagespeed просит сжать внешние файлы, которые просто подключены к вашему сайту?

      Ответить
      • Антон:

        видимо так и есть))

        Ответить
  45. AlexShevchenko:

    Дружище! Ты просто царь! Сколько я нае*** провозился с этой темой! Около часа вникал в твою статью и удалось! Сделал последним способом.
    Твитну статью, она реально приносит пользу, спасибо!

    Ответить
  46. Лидия (tytvkysno.ru):

    Добрый день. Проверила сайта:
    Web page compressed? Yes
    Compression type? gzip
    Size, Markup (bytes) 71,205
    Size, Compressed (bytes) 16,364
    Compression % 77.0
    Похоже сжатие включено. Но на сервере /pr-cy.ru/ получила рекомендацию: оптимизировать изображения, сократить CSS и использовать кеш браузера- буду разбираться дальше.
    Спасибо

    Ответить
  47. Егор:

    Здравствуйте, Виталий. Интересно, почему сжатие работает только на главной, в категориях и пр. , но в самих записях не работает! Пациента указал в Адресе блога.

    Ответить
    • Виталий Кириллов:

      Егор, здравствуйте! С ходу трудно сказать.

      Ответить
  48. Денис Скрипник:

    Здравствуйте. Файлы .css.gz и .js.gz помещать в ту же папку, что и орегинал или куда?

    Ответить
    • Виталий Кириллов:

      Да, в ту же директорию.

      Ответить
      • Денис Скрипник:

        Ясно. А не знаете, в ispmanager 5 light вроде есть уже gzip сжатие в настройках www домена? Во всяком случае я у себя видел такую опцию. Толь о не знаю, то это или нет.

        Ответить
  49. Сергей:

    Спасибо! Прям существенно улучшил скорость загрузки!

    Ответить
  50. Александр:

    Несколько раз возвращался к этой теме но никогда не доходил до конца. Сейчас удалось выяснить, что «http://www.gidnetwork.com/tools/gzip-test.php» выдает сообщение только для первой страницы сайта, причем сжатие включено не зависимо от наличия команд сжатия. Для других страниц выдает, что сжатия нет, так же не зависимо от наличия команд. Все рекомендованные комбинации не сработали. Подоставав немного сотрудников хостера, удалось выяснить что в cPanel хостера есть раздел Программное Обеспечение, а там пункт «Оптимизировать веб-сайта» именно там включается сжатие. У меня оно было выключено. Там есть режимы «Сжать все содержимое» и «Сжать указанные типы MIME». При сжатии всего содержимого ответ сервера резко замедляется, но гугловский тестер затыкается. При выборочном сжатии удалось найти необходимые параметры при которых гугл молчит и скорость сервера хорошая. То есть сжимается только то что нужно в данный момент.

    Ответить
    • Александр:

      Прошу прощения за поспешные выводы. Хотя PageSpeed Insights на первой странице и говорит о наличии сжатия, на всех страницах второго уровня сжатие не работает. В чем может быть проблема?

      Ответить
  51. Игорь:

    Спасибо большое, помог очень!!!!!!!!!!!!!!!!!)))))))))))))))))

    Ответить
  52. Александр:

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

    Ответить
  53. Егор:

    Здравствуйте. Ссылка на сторонний ресурс, как правило, должна открываться в новом окне. Это общепринято. Очень удобно переключать окна, чтобы возвращаться к статье. Другое дело, когда внутренние ссылки открываются в новом окне.

    Ответить
  54. Анастасия:

    а можно о других видах сжатия сайта информацию, это же не придел ведь

    Ответить
  55. Андрей:

    Спасибо, попробую на своих проектах

    Ответить

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

Внимание комментатор! Прежде чем вставить: HTML, JavaScript или PHP код в свой комментарий, преобразуй его в html сущность!

Subscribe without commenting

» Подписаться на комментарии по RSS