
⚙️ Як увімкнути стиснення GZIP у WordPress: повне керівництво
Сайт відкривається 4 секунди, і відвідувач іде. Знайомо? Найчастіше проблема не в хостингу і не в зображеннях. Сторінки просто важать більше, ніж мають, тому що сервер віддає їх «як є», без стиснення.
GZIP-стиснення зменшує розмір HTML, CSS і JavaScript на 60-80% до того, як вони полетять у браузер. Для WordPress це не важкий плагін із купою налаштувань, а одна директива в конфігурації або позначка в адмінці. За даними W3Techs, стиснення використовують понад 85% сайтів в інтернеті, і якщо ваш сайт не серед них, ви втрачаєте позиції в пошуку та конверсію просто на рівному місці.
Далі сім робочих способів увімкнути GZIP: від ручного редагування.htaccess до пари кліків у плагіні. Наприкінці покажу, як перевірити результат, і розберу часті питання про сумісність із CDN, Brotli та кешуванням.
💡 Швидкий огляд:
- Додайте код стиснення в
.htaccessчерез FTP - Пропишіть
gzip onіgzip_typesуnginx.conf - Увімкніть стиснення позначкою в W3 Total Cache або WP Rocket
- Перевірте результат у Chrome DevTools або GiftOfSpeed
Що таке GZIP-стиснення і навіщо воно WordPress-сайту
GZIP — це алгоритм стиснення, який працює на рівні сервера: перед надсиланням у браузер він «пакує» текстові файли в компактніший вигляд. Браузер на льоту розпаковує їх і рендерить сторінку як звичайно. Користувач різниці не помічає, а обсяг переданих даних скорочується в рази.

Що саме стискається: HTML-код сторінок, таблиці стилів CSS, скрипти JavaScript, XML-файли, шрифти та SVG. Зображення GZIP не чіпає, для них є окремі формати стиснення (WebP, AVIF) і плагіни оптимізації.
Різницю в цифрах легко побачити в Chrome DevTools: одна й та сама сторінка до стиснення і після відрізняється за розміром у два-три рази. Помножте на кількість відвідувачів на місяць і отримаєте серйозну економію трафіку та часу завантаження.
Важливий нюанс: GZIP, не єдиний варіант. Сучасні сервери підтримують Brotli, алгоритм від Google, який стискає текстові файли ще на 15-25% краще за GZIP. Але Brotli є не на всіх хостингах, а GZIP працює скрізь, включно з найстарішими конфігураціями. Тому починати завжди варто з GZIP, а Brotli підключати як наступний рівень, коли база готова.
Спосіб 1: через.htaccess на Apache
Найпоширеніший сценарій: сайт працює на Apache, і все, що потрібно,, дописати кілька рядків у файл .htaccess у корені сайту.
Де знаходиться.htaccess. Підключіться до сервера через FTP (наприклад, через FileZilla) або зайдіть у файловий менеджер хостингу. У кореневій папці сайту (там само, де лежать wp-config.php і папки wp-content, wp-admin) знайдіть .htaccess. Завантажте його на комп’ютер, редагуватимемо локально, щоб у разі помилки швидко відкотити.
Що додати. Відкрийте .htaccess у текстовому редакторі (Notepad++, VS Code, Sublime Text) і додайте наступний блок ПЕРЕД рядками # BEGIN WordPress:
1 <IfModule mod_deflate.c> 2 AddOutputFilterByType DEFLATE text/html text/css text/javascript 3 AddOutputFilterByType DEFLATE application/javascript application/x-javascript 4 AddOutputFilterByType DEFLATE application/rss+xml application/xml application/xhtml+xml 5 AddOutputFilterByType DEFLATE image/svg+xml image/x-icon 6 AddOutputFilterByType DEFLATE font/ttf font/otf font/opentype application/x-font-ttf 7 AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 8 9 BrowserMatch ^Mozilla/4 gzip-only-text/html 10 BrowserMatch ^Mozilla/4.0[678] no-gzip 11 BrowserMatch bMSIE !no-gzip !gzip-only-text/html 12 Header append Vary User-Agent 13 </IfModule>

Що тут відбувається. Блок <IfModule mod_deflate.c> перевіряє, чи ввімкнено модуль mod_deflate на сервері (на більшості хостингів увімкнено за замовчуванням). Директиви AddOutputFilterByType DEFLATE вказують, які типи файлів стискати. Рядки BrowserMatch — це милиця для старих версій Internet Explorer, яка запобігає багам із gzip в IE6 і нижче. Header append Vary User-Agent каже проксі-серверам враховувати браузер користувача під час кешування.
Збережіть файл і завантажте назад на сервер із заміною. Перед цим обов’язково зробіть резервну копію оригінального .htaccess, якщо сайт впаде, просто поверніть стару версію, і все запрацює як було.
Якщо після завантаження сайт видав помилку 500, перевірте, чи немає у файлі зайвих пробілів або переносів перед <?php чи після закривальних тегів. Помилка в .htaccess ламає сайт повністю, тому правки краще вносити по одній і перевіряти після кожної.
Спосіб 2: на сервері NGINX
NGINX обробляє стиснення інакше, ніж Apache. Тут немає .htaccess, а всі налаштування прописуються у файлі nginx.conf або в конфігураційному файлі конкретного сайту (зазвичай у /etc/nginx/sites-available/).
Додайте або розкоментуйте наступні рядки в секцію http або server:
1 gzip on; 2 gzip_vary on; 3 gzip_min_length 1000; 4 gzip_comp_level 6; 5 gzip_types text/plain text/css text/javascript 6 application/javascript application/x-javascript 7 application/rss+xml application/xml application/xhtml+xml 8 image/svg+xml image/x-icon 9 font/ttf font/otf application/x-font-ttf 10 application/vnd.ms-fontobject; 11 gzip_disable "MSIE [1-6]\.(?!.*SV1)";
Після змін перевірте синтаксис конфігурації командою nginx -t і перезавантажте NGINX: sudo systemctl reload nginx.
Параметр gzip_comp_level 6 — це компроміс між ступенем стиснення і навантаженням на процесор. Значення 1, мінімальне стиснення, 9, максимальне. На практиці рівень 6 дає майже ту саму економію, що й 9, але споживає помітно менше ресурсів сервера.
Спосіб 3: на сервері IIS (Windows Server)
IIS — це вебсервер Microsoft, який використовують на Windows-хостингах. Увімкнення стиснення тут робиться двома способами: через графічний інтерфейс або командний рядок.
Через інтерфейс IIS. Відкрийте IIS Manager. У розділі «Компоненти» → «Служби» знайдіть «Стиснення». Позначте прапорці «Увімкнути стиснення статичного вмісту» та «Увімкнути стиснення динамічного вмісту». На панелі «Дії» натисніть «Застосувати».
Через командний рядок (від адміністратора):
1 :: Статическое сжатие 2 appcmd set config /section:urlCompression /doStaticCompression:True 3 4 :: Динамическое сжатие 5 appcmd set config /section:urlCompression /doDynamicCompression:True
Статичне стиснення кешує вже стиснуті версії файлів на диску — це економить процесорний час. Динамічне стискає відповіді «на льоту» і підходить для персоналізованих сторінок, але навантажує процесор. На практиці для WordPress вмикають обидва режими: статика бере на себе CSS/JS, динаміка, HTML кожної сторінки.
Спосіб 4: через панель хостинг-провайдера
Більшість сучасних хостингів вмикають GZIP за замовчуванням. Якщо ви на cPanel, зайдіть у розділ «Оптимізація сайту» (Site Optimization) або «Продуктивність» (Performance) і пошукайте перемикач «Стиснення» або «Compress content». На Plesk шлях схожий: «Продуктивність» → «Стиснення виводу».
Не знайшли перемикача, напишіть у підтримку хостингу. Це стандартний запит, техпідтримка відповідає на нього за хвилини і часто вмикає стиснення на рівні сервера за одну відповідь. Не потрібно пояснювати, що таке GZIP, достатньо написати «Увімкніть, будь ласка, стиснення GZIP для мого сайту».
Перевірити, чи хостинг уже стискає сторінки, можна до будь-яких правок, спосіб описано в розділі «Як перевірити, чи ввімкнено стиснення» нижче. Якщо перевірка показує, що GZIP працює, пропускайте всі серверні методи та переходьте до плагінів, тільки якщо хочете керувати стисненням з адмінки WordPress.
Спосіб 5: плагін W3 Total Cache
W3 Total Cache, один із найстаріших плагінів кешування в репозиторії WordPress, із мільйоном активних установок і рейтингом 4,5 на WordPress.org. Стиснення GZIP у ньому вмикається окремим прапорцем і не потребує змін у серверних файлах.

Установіть плагін із репозиторію WordPress, перейдіть у Performance → Browser Cache і знайдіть секцію «HTTP (gzip) compression». Позначте прапорець «Enable HTTP (gzip) compression» і збережіть налаштування. Плагін сам додасть потрібні директиви до .htaccess або налаштує правила NGINX, залежно від того, на якому сервері працює сайт.
- Плюси: не змінює серверні файли вручну, мільйон установок підтверджує стабільність, сумісний із CDN і Brotli
- Мінуси: інтерфейс перевантажений опціями, новачок легко може зламати кешування не тим прапорцем
Спосіб 6: плагін WP Rocket
WP Rocket, преміальний плагін продуктивності, який після активації автоматично додає правила GZIP у .htaccess. Жодних налаштувань для стиснення в ньому немає, воно вмикається саме під час установлення.
- Плюси: нуль ручної роботи, стиснення вмикається автоматично, плагін заодно вирішує купу суміжних завдань (кешування, відкладене завантаження, мініфікація)
- Мінуси: платний (від $59 на рік), для самого лише GZIP переплата невиправдана
Якщо WP Rocket у вас уже куплений для інших завдань, стиснення вже працює. Якщо думаєте брати плагін лише заради GZIP, не треба, .htaccess або W3 Total Cache роблять те саме безплатно.
Спосіб 7: плагін WP Super Cache
WP Super Cache, безплатний плагін кешування від Automattic (тих самих хлопців, що стоять за WordPress.com). Працює простіше, ніж W3 Total Cache: менше налаштувань, менше шансів щось зламати.

Встановіть плагін, перейдіть у Налаштування → WP Super Cache → Просунуті (Advanced) і знайдіть пункт «Стискати сторінки, щоб вони швидше віддавалися відвідувачам». Увімкніть і збережіть.
- Плюси: безплатний, простий інтерфейс, стабільний код від Automattic
- Мінуси: поступається W3 Total Cache за функціональністю кешування, немає тонкого налаштування типів стиснення
Як працює GZIP-стиснення на практиці
Коли браузер запитує сторінку, він надсилає заголовок Accept-Encoding: gzip, deflate, br, це означає «я розумію gzip, deflate і brotli, надсилай у будь-якому з цих форматів». Сервер бачить цей заголовок, перевіряє, чи ввімкнено стиснення для запитаного типу файлу, і якщо так, стискає відповідь і додає заголовок Content-Encoding: gzip.
Браузер отримує стиснені дані, розпаковує їх у пам’яті та рендерить сторінку. Для користувача все відбувається миттєво, розпакування gzip займає частки мілісекунди навіть на слабкому мобільному пристрої.
Цей механізм універсальний: він працює однаково для Apache, NGINX, IIS і будь-яких плагінів WordPress. Плагіни не винаходять свій спосіб стиснення, вони просто додають ті самі серверні директиви, які ми прописували вручну в перших трьох способах.
Що показують Google PageSpeed Insights і GTmetrix
Обидва сервіси, PageSpeed Insights і GTmetrix, перевіряють наявність стиснення під час кожного аудиту і явно підсвічують проблему, якщо текстові ресурси віддаються без GZIP.

У PageSpeed Insights попередження виглядає як «Увімкніть стиснення тексту» (Enable text compression) у розділі «Можливості» аудиту. Lighthouse (рушій PageSpeed Insights) прямо оцінює потенційну економію в кілобайтах по кожному нестисненому ресурсу. У GTmetrix аналогічна перевірка, «Enable GZIP compression» у категорії «Content».
Важливий момент: ні PageSpeed Insights, ні GTmetrix не розрізняють GZIP і Brotli на рівні рекомендації. Якщо стиснення ввімкнено будь-яким із цих методів, аудит покаже зелену галочку. Тож для проходження аудиту достатньо GZIP.
Як перевірити, чи ввімкнено стиснення
Три способи, від візуального до низькорівневого.
Спосіб 1: Chrome DevTools. Відкрийте сайт, натисніть F12, перейдіть на вкладку Network. Оновіть сторінку, клікніть по будь-якому рядку і подивіться вкладку Headers. Знайдіть рядок Content-Encoding: gzip у розділі Response Headers.

Там же видно фактичний і стиснений розмір: у прикладі вище сторінка важила 51,6 КБ, а після стиснення, 17,7 КБ.

Спосіб 2: онлайн-тестери. GiftOfSpeed GZIP Test (giftofspeed.com/gzip-test) або Check GZIP Compression (checkgzipcompression.net), вставляєте URL, отримуєте вердикт і відсоток стиснення. Швидше за DevTools, якщо потрібно перевірити чужий сайт або кілька сторінок поспіль.
Спосіб 3: curl з командного рядка. Якщо ви на Linux/macOS або в WSL на Windows:
1 curl -I -H "Accept-Encoding: gzip" https://вашсайт.com | grep Content-Encoding
Відповідь Content-Encoding: gzip, стиснення працює. Порожня відповідь, ні.
Коротке відео-пояснення
Щоб закрити тему з візуального боку, ось коротке відео, де показано весь процес увімкнення GZIP через .htaccess і перевірка результату в Chrome DevTools:
⁉️🤔 Часті запитання
Стиснення GZIP уповільнює сервер?
Навпаки. Так, процесор витрачає ресурси на стиснення, але це мікроскопічне навантаження порівняно з виграшем від зменшення обсягу переданих даних. На рівні стиснення 6 (стандартний компроміс) процесор справляється за мілісекунди. Єдиний сценарій, де стиснення може бути відчутним,, дуже слабкий VPS із 512 МБ пам’яті та тисячами одночасних відвідувачів. Але в такій ситуації у вас проблеми серйозніші за GZIP. На практиці стиснення не уповільнює сервер: типова сторінка WordPress стискається за 2-5 мілісекунд, а економія на передачі даних мережею становить десятки й сотні мілісекунд для кожного відвідувача. Стиснення завжди вигідніше за його відсутність.
GZIP чи Brotli, що обрати у 2026?
Починайте з GZIP, він працює на будь-якому хостингу та підтримується всіма браузерами без винятків. Brotli стискає помітно краще, але потребує HTTPS (не проблема у 2026) і підтримки з боку сервера. Якщо хостинг або CDN (Cloudflare, BunnyCDN) підтримують Brotli, вмикайте його як доповнення до GZIP. Більшість сучасних сайтів використовують обидва: сервер віддає Brotli тим браузерам, які його розуміють, і GZIP, усім іншим.
Чи сумісне GZIP-стиснення з CDN?
Повністю. CDN на кшталт Cloudflare або BunnyCDN самі стискають контент на своїх edge-серверах, часто в Brotli, навіть якщо ваш хостинг його не підтримує. Якщо сайт уже за Cloudflare, перевірте, що в розділі «Speed» → «Optimization» увімкнено опцію «Brotli». У цьому сценарії налаштування GZIP на рівні сервера все одно корисне як fallback для прямих запитів до origin-сервера.
У мене плагін кешування, чи потрібно окремо вмикати GZIP?
Залежить від плагіна. WP Rocket вмикає GZIP автоматично, W3 Total Cache, окремою галочкою, WP Super Cache, окремою галочкою. Перевірте налаштування свого плагіна, майже всі плагіни кешування мають опцію стиснення, але не всі вмикають її за замовчуванням. Не покладайтеся на «має працювати», перевірте через DevTools після налаштування.
Чи можна стискати сторінки через functions.php?
Технічно можна, через PHP-функцію
ob_start('ob_gzhandler'), але ми не рекомендуємо. Цей метод стискає вивід PHP і не зачіпає статичні файли (CSS, JS), які становлять основну частину трафіку. Серверне стиснення (Apache/NGINX) працює для всіх типів файлів і не навантажує PHP-процесор. Залиште PHP-стиснення для тих рідкісних випадків, коли доступ до серверних конфігів фізично неможливий.
Підсумки: що і коли вмикати
GZIP — це не опція «увімкнути й забути», а базова гігієна WordPress-сайту. Якщо ви прямо зараз не знаєте, чи стискає ваш сервер сторінки, відкрийте DevTools і перевірте заголовок Content-Encoding. Якщо відсутній, повертайтеся до способу 1 і дописуйте три рядки в .htaccess.
Коротка матриця рішень:
- Сайт на Apache і ви не боїтеся FTP → спосіб 1 (
.htaccess), 5 хвилин - Сайт на NGINX і є доступ до конфігів → спосіб 2 (
nginx.conf), 10 хвилин із перевіркою синтаксису - Не чіпаєте серверні файли принципово → W3 Total Cache або WP Super Cache, 2 хвилини
- Уже платите за WP Rocket → нічого не робіть, стиснення працює з коробки
- Взагалі нічого не хочете налаштовувати → напишіть у підтримку хостингу
Перевірте результат будь-яким із трьох способів вище та закрийте це питання назавжди. Це та рідкісна оптимізація, яка реально робиться один раз і продовжує економити трафік і пришвидшувати сайт роками потому, без оновлень, підписок і повторних налаштувань.



