Что это
HTTP-сжатие — это механизм сжатия текстовых ресурсов (HTML, CSS, JS, SVG, XML) на сервере перед отправкой браузеру. Браузер указывает поддерживаемые алгоритмы в заголовке Accept-Encoding, сервер сжимает ответ и сообщает об этом через Content-Encoding. Два основных алгоритма: gzip (поддерживается всеми браузерами и серверами) и brotli (br) — более современный, даёт сжатие на 15–25% лучше gzip, поддерживается всеми браузерами начиная с 2017 года.
---
Почему это важно для SEO
Сжатие напрямую влияет на скорость загрузки страниц. Типичный HTML-документ объёмом 150 КБ после gzip-сжатия весит 30–50 КБ, после brotli — 25–40 КБ. Это сокращает Time to First Byte (TTFB) и ускоряет парсинг DOM, что критично для Google Core Web Vitals: LCP (Largest Contentful Paint) и FID/INP. Google официально использует скорость страниц как ранжирующий сигнал, а PageSpeed Insights прямо выводит «Enable text compression» как одну из рекомендаций с конкретной экономией в КБ.
Для Яндекса скорость загрузки влияет на ИКС (Индекс Качества Сайта) и на то, будет ли страница показана в Яндекс Нейро или получит Турбо-версию как альтернативу. Crawl budget тоже выигрывает: краулеры Яндекса и Google скачивают сжатые ресурсы быстрее, успевая обойти больше страниц за сессию. На крупных интернет-магазинах с 10 000+ страниц это ощутимо влияет на скорость индексации новых товаров.
---
Как проверить вручную
- DevTools браузера. Откройте вкладку Network, загрузите страницу, кликните на HTML-документ. В разделе Headers найдите заголовок ответа
Content-Encoding. Значениеgzipилиbrозначает, что сжатие работает. Отсутствие заголовка — сжатие отключено.
- curl в терминале. Быстрый способ проверить конкретный URL:
``bash curl -I -H "Accept-Encoding: gzip, deflate, br" https://example.com/ | grep -i content-encoding ` Ожидаемый ответ: content-encoding: br или content-encoding: gzip`.
- PageSpeed Insights. Откройте PageSpeed Insights, вставьте URL. В разделе «Opportunities» ищите пункт «Enable text compression» — там будет список несжатых ресурсов и потенциальная экономия в КБ.
- Screaming Frog. В меню Response Headers добавьте фильтр по
Content-Encoding. Можно выгрузить все страницы и отфильтровать те, у которых заголовок отсутствует. Удобно для массовой проверки на больших сайтах.
- Яндекс Вебмастер / Google Search Console. Косвенная проверка: раздел «Скорость сайта» в GSC покажет страницы с плохими Core Web Vitals, часть из которых вызвана отсутствием сжатия.
---
Как исправить
Nginx:
# В блоке http {} или server {}
gzip on;
gzip_types text/plain text/css application/javascript application/json image/svg+xml;
gzip_min_length 1024;
gzip_comp_level 5;
# Brotli (нужен модуль ngx_brotli)
brotli on;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;
brotli_comp_level 6;Apache (.htaccess):
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json image/svg+xml
</IfModule>WordPress. Установите плагин WP Rocket или LiteSpeed Cache — оба включают gzip/brotli в один клик в разделе настроек сжатия. Если сайт на Nginx/Apache shared-хостинге, добавьте директивы выше через файл конфигурации сервера или .htaccess.
Tilda. Сжатие настраивается на стороне хостинга Tilda автоматически. Если используете собственный домен с проксированием через Cloudflare — включите brotli в разделе Speed > Optimization в панели Cloudflare.
1C-Bitrix. В настройках главного модуля включите «Сжатие страниц» (gzip). Для brotli настройте сервер самостоятельно или через панель хостинга (ISPmanager/Plesk).
Webflow. Сжатие включено на инфраструктуре Webflow по умолчанию. Проверьте через curl — должен вернуться br.
---
Типичные ошибки
- Сжимают изображения через gzip. JPEG, PNG, WebP уже сжаты бинарно — gzip не уменьшит их размер, а иногда увеличит. Сжимайте только текстовые MIME-типы.
- Слишком низкий `gzip_min_length`. Файлы меньше 150–200 байт сжимать нецелесообразно: накладные расходы на сжатие превысят выигрыш. Ставьте минимум 1024.
- Включили сжатие на уровне приложения, но CDN его стриппирует. Cloudflare, Fastly и другие CDN могут пересжимать или распаковывать ответы. Проверяйте заголовки для URL с и без CDN.
- Отсутствие модуля brotli на Nginx.
brotli on;без установленногоngx_brotliвызовет ошибку 500. Убедитесь, что модуль скомпилирован или установлен из пакета. - Не сжимают JSON/XML API-ответы. Если сайт подгружает данные через AJAX (актуально для интернет-магазинов на Vue/React), эти ответы тоже должны сжиматься.
---
Влияние на разные типы сайтов
Интернет-магазины выигрывают больше всего: страницы каталога с фильтрами и листинги генерируют объёмный HTML — 200–400 КБ без сжатия. Включение brotli ускоряет LCP на мобильных устройствах, напрямую влияя на конверсию и ранжирование в мобильной выдаче. На сайтах с 50 000+ SKU ускорение краулинга через сжатие заметно сокращает время переиндексации после обновления цен.
Контентные сайты и блоги получают меньший, но стабильный выигрыш: статьи с длинным текстом, таблицами и кодом сжимаются в 4–6 раз. SaaS-продукты и лендинги чаще всего уже имеют сжатие через CDN, но стоит проверить API-эндпоинты, через которые подгружается контент для рендеринга.