Brotli
Также: Brotli-сжатие
Brotli — это современный алгоритм сжатия от Google, который сжимает текстовые ресурсы плотнее, чем gzip. Работает только по HTTPS и поддерживается всеми актуальными браузерами.
Как работает
Brotli решает ту же задачу, что и gzip, — уменьшает вес текстовых ответов, — но использует более эффективный алгоритм со встроенным словарём частых веб-конструкций. На типичном HTML, CSS и JavaScript он даёт файлы на 15–25% легче, чем gzip на сопоставимом уровне сжатия.
Механизм согласования тот же: браузер сообщает поддержку через Accept-Encoding, где Brotli обозначается как br, а сервер подтверждает выбор в Content-Encoding.
# запрос браузера
Accept-Encoding: gzip, deflate, br
# ответ сервера
Content-Encoding: br
Vary: Accept-Encoding
Практическая деталь: браузеры принимают Brotli только по защищённому соединению, поэтому он неотделим от HTTPS. Статику обычно сжимают заранее с максимальным уровнем и отдают готовые .br-файлы, а динамический HTML — на лету с уровнем пониже, чтобы не грузить процессор.
Почему важно для SEO
Чем плотнее сжатие, тем меньше данных едет по сети и тем быстрее рендерится страница. Для крупных JS-бандлов выигрыш Brotli над gzip в абсолютных килобайтах ощутим и заметно влияет на скорость загрузки на мобильных, а через неё — на LCP и оценку страницы.
Базовая механика сжатия и его влияние на скорость подробно разобраны в карточке Gzip — здесь важно отличие. Brotli не заменяет gzip полностью: сервер обычно поддерживает оба и отдаёт Brotli тем браузерам, которые его понимают, с откатом на gzip для остальных. Поисковый робот получает распакованный контент в любом случае, так что на индексацию выбор алгоритма не влияет — только на скорость.
Brotli поддерживают все актуальные браузеры, поэтому доля клиентов, которым придётся отдавать gzip, на практике невелика — это в основном старые версии и нестандартные клиенты. Многие CDN включают Brotli одной настройкой и сами подбирают алгоритм под клиента, так что подключить его обычно несложно — отдельный модуль на своём сервере собирать не обязательно.
Практический выбор между уровнями сжатия сводится к тому, кэшируется ли ответ. Статику, которую сжимают один раз при сборке и потом раздают многократно, жмут на максимальном уровне — стоимость вычислений окупается. Динамический HTML, который формируется под каждый запрос, жмут умереннее: иначе высокий уровень добавит задержку к каждому ответу и ухудшит TTFB вместо того, чтобы ускорить загрузку.
Проверим весь сайт?
Пара минут — и увидите отчёт по каждой странице.
Проверить сайтЧастые ошибки
- Brotli включён, но сайт работает по http — браузеры проигнорируют сжатие.
- Настроен только Brotli без отката на gzip — старые клиенты получают несжатый ответ.
- Динамический HTML жмётся Brotli на максимальном уровне — растёт нагрузка на CPU и TTFB.
- Статику сжимают на лету вместо предварительной подготовки
.br-файлов. - Забыли
Vary: Accept-Encoding, и прокси кэширует не тот вариант ответа.
Как проверить
В DevTools → Network откройте любой текстовый ресурс и в Headers проверьте Content-Encoding: br. Команда curl -I -H "Accept-Encoding: br" https://example.com/ покажет, отдаёт ли сервер Brotli. PageSpeed Insights в диагностике укажет ресурсы, которые можно сжать эффективнее.
SEO Crawler при обходе фиксирует заголовки ответа и подсвечивает страницы без сжатия, помогая увидеть, где сжатие настроено, а где ресурсы едут в полном весе. Дальше остаётся решить, достаточно ли gzip или стоит подключить Brotli.
Вывод
Brotli — следующий шаг после gzip: то же сжатие, но плотнее, при условии работы по HTTPS. Держите на сервере оба алгоритма с откатом на gzip, статику готовьте заранее с высоким уровнем, а динамику жмите умеренно. Прирост скорости заметнее всего на тяжёлых скриптах и стилях.
Проверим весь сайт?
Пара минут — и увидите отчёт по каждой странице.
Проверить сайт