Как включить gzip сжатие WordPress на хостинге и не сломать кеш?

gzip szhatie wordpress cover Без рубрики
Проверка Content-Encoding в браузере, один слой gzip на хостинге или в .htaccess, что выключить в WP Rocket и Cloudflare. Без белого экрана и двойного сжатия.

Кеш-плагин «для скорости», совет с форума про .htaccess — и вместо сайта белый экран или браузер скачивает страницу файлом. Непонятно, не включил ли хостинг gzip давно и страшно трогать файл снова. Решение одно: сначала проверить заголовок Content-Encoding, потом включить сжатие в одном месте и не дублировать его в кеше. За вечер проверите главную в браузере и не сломаете кеш.

Сжатие gzip уменьшает объём HTML, CSS и JS по дороге от сервера к браузеру — страница грузится быстрее, особенно на мобильном интернете. Кеш-плагин хранит готовую страницу, но не должен сжимать её второй раз, если это уже делает хостинг или Cloudflare. Правило как с термостатом: не крутить и сервер, и плагин одновременно. Сначала проверка во вкладке «Сеть», потом одна настройка, очистка кеша и повторная проверка.

На практике так бывает: «Compress pages» в WP Super Cache при Cloudflare, битая вёрстка, месяц мыслей, что «WordPress сломался», пока не отключили сжатие в плагине. Apache в документации предупреждает о повторном сжатии — на wordpress.org с 2014 года те же кейсы с nginx и двойным Content-Encoding. Ниже маршрут для салона или магазина без программиста: проверка, один слой на хостинге, что выключить в WP Rocket, W3 Total Cache и Cache Enabler.

Оцените, зачем gzip владельцу сайта услуг и чем он не заменяет кеш

Схема на столе: gzip и кеш — разные слои для владельца сайта услуг

Gzip упаковывает HTML, CSS и JS перед отправкой в браузер — по сети едет меньше, телефон быстрее показывает цены и форму записи. REG.RU напоминает: при загрузке дольше трёх секунд часть людей уходит; сжатие помогает на тексте, но не заменяет кеш и не ужимает фото. Типичная ошибка — три «ускорителя» сразу и страница скачивается файлом. Один слой сжатия, кеш хранит готовый ответ.

Что делает Gzip на сервере или CDN Кеш-плагин WordPress Минификация HTML/CSS
Уменьшает трафик по сети Да Только если сам сжимает (часто лишнее) Немного, другим способом
Хранит готовую страницу на диске Нет Да Нет
Риск «двойного» сжатия Низкий, если плагин не дублирует Высокий при Cloudflare или mod_deflate Обычно отдельно от HTTP gzip
Что настроить новичку первым Проверить, не включено ли уже Очистить кеш после любых правок После того как gzip стабилен

Проверьте за две минуты, включено ли сжатие уже

Чеклист проверки gzip во вкладке Сеть браузера на светлом столе

Боль «не знаю, трогать ли .htaccess» снимается проверкой заголовков. В Chrome откройте сайт, нажмите F12, вкладка «Сеть» (Network), обновите страницу, кликните по первой строке документа HTML и в «Заголовки ответа» ищите Content-Encoding: gzip или br. Если строка есть — сжатие уже работает, задача часто сводится к отключению лишнего в кеш-плагине, а не к новым правилам.

  1. Откройте главную сайта в Chrome или Edge.
  2. F12 → «Сеть» → обновите страницу (Ctrl+R).
  3. Кликните по строке с типом document / html.
  4. В блоке ответа найдите Content-Encoding: gzip или br.
  5. Повторите для одной внутренней страницы (услуга, контакты).

Онлайн-чекеры REG.RU и 2domains или curl -I -H «Accept-Encoding: gzip» https://ваш-домен/ покажут Content-Encoding. Enable Gzip Compression не изменит картину, если хостинг уже сжимает — задача уже решена.

Выберите один безопасный способ: панель хостинга или один блок в .htaccess

Два пути включения gzip: панель хостинга или блок в htaccess

На shared-хостинге ищите «Gzip» или «Сжатие» в панели — часто хватает одной галочки. Если пункта нет, один блок mod_deflate в .htaccess перед правилами WordPress (Apache, InspectWP), внутри IfModule mod_deflate.c, чтобы без модуля не получить 500.

Схема без поломки кеша:

Проверка Content-Encoding → если пусто: панель хостинга или один блок .htaccess → очистка кеша плагина и CDN → снова проверка главной и внутренней страницы → записать в заметках, кто «единственный» сжимает

  1. Сделайте копию .htaccess (скачайте файл или переименуйте копию на сервере).
  2. Если сжатия нет: включите gzip в панели хостинга или вставьте один блок mod_deflate для text/html, text/css, application/javascript.
  3. Не добавляйте второй такой же блок из другого гайда поверх первого.
  4. Сохраните файл, очистите кеш WP Super Cache, WP Rocket, W3 Total Cache или Cache Enabler.
  5. Снова откройте вкладку «Сеть» и убедитесь, что сайт открывается, а не скачивается.

В реальном проекте WP Rocket при активации может сам дописать правила gzip в .htaccess — после установки снова проверьте заголовки и не включайте то же в W3 Total Cache. Если кеш уже настроен, но сайт «тормозит», сначала убедитесь в одном слое сжатия, потом чистите кеш — иначе правки не видны гостям. Подробнее — в материале про кеширование WordPress.

Согласуйте gzip с Cloudflare и кеш-плагинами: что выключить, чтобы не было двойного слоя

Cloudflare сам работает с br и gzip; на wordpress.org при прокси советуют выключить «Compress pages» в WP Super Cache. У Cache Enabler не включайте «Pre-compress cached pages with Gzip», если сервер уже сжимает; в W3 Total Cache снимите «Enable HTTP (gzip) compression», когда mod_deflate на хостинге активен.

Типичная ошибка: nginx сжимает, плагин отдаёт .gz из кеша — двойной gzip, Safari ломает вёрстку. Оставьте сжатие на хостинге или CDN, в плагине выключите HTTP gzip, сбросьте supercache. С Cloudflare сверьтесь с гайдом Cloudflare и WordPress и снова проверьте «Сеть».

*Instagram,Facebook (принадлежит компании Meta, признанной экстремистской и запрещённой на территории РФ)

Откатите ошибку 500 или «страница качается файлом» без паники

Ошибка 500 после .htaccess: восстановите файл из бэкапа, уберите блок deflate, напишите в поддержку хостинга включить gzip на сервере. Скачивание index.html — признак двойного сжатия: очистите кеш плагина и Cloudflare, отключите gzip в плагине. Contact Form 7 от нормального gzip не страдает; ломается дважды сжатый HTML. Preload шрифтов — отдельно, см. гайд без дублей.

Зафиксируйте чеклист: сжатие работает, кеш и заявки на месте

Вы поймёте, что всё сработало, по понятным признакам: в браузере или через curl в заголовках ответа главной есть Content-Encoding: gzip или br; нет ошибки 500 после правок; после очистки кеша страница открывается нормально, а не скачивается; в настройках кеш-плагина не включено второе HTTP-сжатие, если его уже делает хостинг или Cloudflare. Запишите в заметку одну фразу: «Сжимает: хостинг / Cloudflare / никто — плагин только кеш». Через полгода это спасёт от повторного включения gzip в новом плагине.

Brotli (br) на CDN сильнее жмёт текст; на дешёвом тарифе не ломайте рабочий gzip. Утилита GNU gzip 1.15 — не то же самое, что HTTP-сжатие сайта. Вопросы по связке плагинов — услуги, хаб статей, скрин «Сети» в контакты или Telegram.

Материал проверен: Андрей Дикий (создаёт сайты и продвигает их статьями (SEO/GEO)).
Достоверность данных: Apache mod_deflate (httpd.apache.org), Cloudflare Content compression, wordpress.org (double Content-Encoding, WP Super Cache и Cloudflare), REG.RU и 2domains (gzip в WordPress), InspectWP, OWLHOST KB (curl); частотность запросов — Яндекс Вордстат, сентябрь 2026 (MCP недоступен, точные показы не подставлялись).

Частые вопросы

Чем gzip отличается от Brotli для моего сайта?

Gzip — базовый формат сжатия, который понимают почти все хостинги и браузеры. Brotli (заголовок br) часто даёт меньший размер текста, но его включают CDN или продвинутый хостинг. Если в проверке уже есть Content-Encoding: br, gzip вручную не обязателен; на простом тарифе достаточно стабильного gzip от хостера.

Можно ли включить gzip только для статей, а главную не трогать?

На уровне HTTP сжатие обычно включают для типов файлов (HTML, CSS, JS), а не для отдельных записей WordPress. «Только блог» через плагин без понимания кеша часто создаёт разные правила для разных URL и путаницу. Проще один слой на весь сайт и проверка двух страниц — главной и статьи.

Ломает ли gzip формы Contact Form 7 или заявки?

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

Нужен ли gzip, если сайт уже за Cloudflare?

Cloudflare сжимает на своей стороне, но между вашим хостингом и Cloudflare ответ тоже может ехать сжатым. Главное — не включать третье сжатие в кеш-плагине. Проверьте Content-Encoding на origin и отключите «Compress pages» в WP Super Cache, если видите конфликт вёрстки.

Почему после очистки кеша сайт стал «скачиваться»?

Чаще всего плагин отдал уже сжатую копию, а сервер сжал её ещё раз. Отключите HTTP gzip в настройках кеш-плагина, очистите папку кеша, оставьте сжатие на хостинге или CDN и снова проверьте заголовки ответа.

Что делать, если плагин «Enable Gzip» не меняет результат?

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

Нужен ли .htaccess, если стоит WP Rocket?

Rocket может сам записать правила при активации. Если Content-Encoding уже есть от хостинга, второй блок вручную не добавляйте и не дублируйте сжатие в W3 Total Cache.

*Instagram,Facebook (принадлежит компании Meta, признанной экстремистской и запрещённой на территории РФ)
Новый маркетинг с искусственным интеллектом
Добавить комментарий