Przejdź do treści
Gzip i Brotli - jak włączyć kompresję strony WWW i sprawdzić efekt?

Gzip i Brotli - jak włączyć kompresję strony WWW i sprawdzić efekt?

Opublikowano: 17 października 2026| Zaktualizowano: 17 października 2026

Wolna strona nie zawsze potrzebuje mocniejszego serwera. Duży transfer HTML, CSS lub JavaScript może wydłużać ładowanie, dlatego przed zmianą konfiguracji mierzymy odpowiedzi i sprawdzamy, która warstwa obsługuje kompresję.

Krótka odpowiedź

Gzip i Brotli zmniejszają rozmiar przesyłanych odpowiedzi tekstowych, takich jak HTML, CSS, JavaScript i JSON. Klient informuje o obsługiwanych kodowaniach nagłówkiem `Accept-Encoding`, a serwer opisuje zastosowane kodowanie nagłówkiem `Content-Encoding`.

W typowej konfiguracji serwer lub CDN wybiera jeden algorytm kompresji dla danej odpowiedzi; po wdrożeniu porównaj transfer, czas odpowiedzi, cache i obciążenie CPU.

Usługi KC Mobile

Potrzebujesz pomocy w tym temacie?

Czytasz poradnik „Gzip i Brotli - jak włączyć kompresję strony WWW i sprawdzić efekt?”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.

Co kompresują Gzip i Brotli?

Gzip i Brotli kompresują treść odpowiedzi HTTP, czyli dane wysyłane przez serwer do przeglądarki. HTTP to protokół przesyłania zasobów między klientem a serwerem, a kompresja zmniejsza ilość przesyłanych danych kosztem ich późniejszego odtworzenia przez odbiorcę.

Serwer zwykle dobiera kompresję na podstawie typu MIME, który opisuje format odpowiedzi w nagłówku `Content-Type`. Tekstowe typy często obejmowane kompresją to `text/html`, `text/css`, `text/javascript`, `application/javascript`, `application/json` i `application/xml`. Przed dodaniem typu do konfiguracji sprawdź faktyczny `Content-Type` zwracany dla danego zasobu, ponieważ serwer może oznaczyć JavaScript innym typem niż zakładany.

Zdjęcia JPEG, WebP i AVIF oraz pliki wideo są już skompresowane w swoich formatach. Ponowne pakowanie ich przez Gzip lub Brotli zazwyczaj nie zmniejsza istotnie transferu, a może zużywać CPU. Kompresja HTTP nie zastępuje zmiany formatu, wymiarów ani jakości obrazu; osobnym zadaniem jest optymalizacja zdjęć na stronie WWW.

Jeśli kompresja jest częścią większego planu, porównaj ją z pozostałymi etapami opisanymi w poradniku jak przyspieszyć stronę internetową.

Czytasz poradnik „Gzip i Brotli - jak włączyć kompresję strony WWW i sprawdzić efekt?”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny. Omów temat tego poradnika

Czym różnią się Gzip i Brotli?

Gzip działa w szerokim zakresie serwerów i klientów, a Brotli często uzyskuje mniejszy rozmiar tekstowych odpowiedzi przy porównywalnym zastosowaniu. Wynik zależy od treści, poziomu kompresji, sposobu generowania zasobu i serwera, więc nie przypisujemy każdej stronie jednej uniwersalnej oszczędności.

Przeglądarka przekazuje listę akceptowanych kodowań w `Accept-Encoding`. Serwer wybiera kodowanie obsługiwane przez klienta i zwraca je w `Content-Encoding`, na przykład `gzip` albo `br`. Typowa konfiguracja wybiera jeden algorytm spośród alternatyw kompresji dla danej odpowiedzi. Protokół HTTP dopuszcza jednak kilka kodowań zastosowanych kolejno i wymaga wtedy wymienienia ich w kolejności zastosowania. Nagłówek `Vary: Accept-Encoding` wskazuje cache, że wariant odpowiedzi może zależeć od nagłówka żądania. Zasady opisuje RFC 9110.

Dostępność Brotli zależy od oprogramowania serwera, dostępnych modułów i ustawień hostingu lub CDN. Tabela porównuje praktyczne różnice istotne przy wyborze konfiguracji.

różnice między Gzip i Brotli
KodowanieZgodność przeglądarekTypowe zastosowanieKoszt kompresjiDostępność na serwerze
GzipSzerokaOdpowiedzi tekstowe statyczne i dynamiczneZależny od poziomuCzęsto dostępne w serwerze lub hostingu
BrotliWspółczesne przeglądarkiOdpowiedzi tekstowe statyczne i dynamiczneZależny od poziomu i trybuWymaga wsparcia serwera lub CDN

Wniosek: sprawdź możliwości obecnego hostingu, bo sama dostępność Gzip nie potwierdza obsługi Brotli.

Jeśli chcesz ocenić kompresję razem z cache, skryptami i obrazami, optymalizacja szybkości WooCommerce obejmuje analizę tych elementów.

Jak sprawdzić, czy strona już korzysta z kompresji?

Nagłówek `Content-Encoding: br` albo `Content-Encoding: gzip` potwierdza kodowanie odpowiedzi dla danego żądania. Porównaj odpowiedź z CDN i serwera źródłowego, ponieważ przeglądarka może otrzymać inną reprezentację niż ta zwrócona przez origin.

W Chrome lub Edge otwórz DevTools klawiszem F12, wybierz kartę Network, odśwież stronę i kliknij odpowiedź HTML, CSS lub JavaScript. W Headers sprawdź `Accept-Encoding` w Request Headers oraz `Content-Encoding`, `Content-Type`, `Vary`, `Cache-Control` i ewentualne `Age` lub nagłówek cache dostawcy w Response Headers. W kolumnie Size porównaj rozmiar przesłany z rozmiarem zasobu, jeśli przeglądarka pokazuje obie wartości.

`Content-Encoding` może zawierać więcej niż jedno kodowanie, jeśli zastosowano je kolejno. W zwykłej konfiguracji Gzip i Brotli są jednak alternatywami i typowo dla jednej odpowiedzi zobaczysz jedno z nich. Brak `Content-Encoding` nie dowodzi sam w sobie błędnej konfiguracji: żądanie mogło nie akceptować kompresji, odpowiedź mogła być za mała albo wyłączona z reguły.

Jeśli nie widzisz kompresji, porównaj odpowiedź z CDN i originem. Origin to serwer źródłowy, do którego CDN przekazuje żądanie. Gdy origin zwraca zakodowaną odpowiedź, a CDN nie, sprawdź reguły transformacji i cache; gdy obie warstwy zwracają odpowiedź bez kompresji, zweryfikuj konfigurację serwera lub ograniczenia hostingu.

Schemat pokazuje, jak odczytać nagłówki żądania i odpowiedzi oraz porównać CDN z serwerem źródłowym.

Jak włączyć kompresję na Nginx lub Apache?

Na Nginx Gzip włącza dyrektywa `gzip on`, a dodatkowe typy MIME określa `gzip_types`; Apache udostępnia kompresję Gzip przez moduł `mod_deflate`. Przed zmianą zrób kopię konfiguracji i sprawdź, czy hosting lub CDN nie kompresuje już tych odpowiedzi.

Przykładowy zakres konfiguracji Nginx:

gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_comp_level 4;
gzip_types text/plain text/css text/javascript application/javascript application/json application/xml image/svg+xml;

`gzip_min_length` określa minimalną długość odpowiedzi na podstawie `Content-Length`, a `gzip_comp_level` przyjmuje poziomy od 1 do 9. Wyższy poziom może zmniejszyć transfer, ale zwiększyć pracę CPU. Nginx domyślnie obejmuje Gzip typ `text/html`; `gzip_types` dodaje pozostałe typy MIME. Typ `text/javascript` jest w przykładzie, ponieważ serwer może używać go do odpowiedzi JavaScript. Dokumentacja Nginx opisuje dyrektywy modułu Gzip.

Przykład dla Apache, jeśli odpowiedzi używają wskazanych typów MIME:

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/javascript application/json application/xml image/svg+xml
</IfModule>

Apache wymaga aktywnego `mod_deflate`, a filtr zależy od typu MIME odpowiedzi. Przed wdrożeniem sprawdź nagłówek `Content-Type` rzeczywistych plików i dostosuj listę typów. Zmiana w `.htaccess` zadziała tylko wtedy, gdy hosting zezwala na tę dyrektywę. Dokumentacja Apache opisuje `mod_deflate` oraz filtrowanie według typu MIME.

Przykłady dotyczą Gzip i nie włączają Brotli. Nginx potrzebuje dostępnego modułu Brotli lub wsparcia pakietu, a Apache i hosting muszą udostępniać odpowiadającą mu konfigurację. Przed przeładowaniem sprawdź składnię: dla Nginx użyj `nginx -t`, dla Apache `apachectl configtest` albo polecenia wskazanego przez hosting. Przeładuj serwer dopiero po poprawnym teście.

Jak skonfigurować kompresję w WordPressie i CDN?

W WordPressie kompresję odpowiedzi najczęściej ustawia się na serwerze lub CDN, natomiast wtyczka cache może sterować własnymi plikami i regułami. Nie aktywuj tej samej funkcji niezależnie w kilku warstwach bez sprawdzenia łańcucha odpowiedzi.

Sprawdź po kolei:

1. Panel hostingu: znajdź ustawienie Gzip lub Brotli i dokumentację używanego serwera WWW.
2. Wtyczkę cache: ustal, czy kompresuje HTML, czy tylko wygenerowane pliki CSS i JavaScript.
3. CDN: sprawdź reguły kompresji oraz typy MIME objęte regułą.
4. Odpowiedź z przeglądarki: po wyczyszczeniu właściwego cache potwierdź `Content-Encoding` i `Content-Type`.

Cloudflare opisuje dostarczanie treści tekstowych z użyciem Gzip, Brotli lub innych obsługiwanych kodowań, zależnie od nagłówka `Accept-Encoding` klienta. Reguły kompresji mogą określać preferowane algorytmy na podstawie typu treści i rozszerzenia pliku. Jeśli CDN zmienia odpowiedź lub przechowuje kilka jej wersji, sprawdź obsługę `Vary` i cache.

Z naszych wdrożeń wynika, że częstym źródłem rozbieżności jest wtyczka, która serwuje przygotowany plik `.gz`, podczas gdy serwer lub CDN kompresuje odpowiedź na żądanie. Porównaj URL pliku i nagłówki na każdej warstwie, zanim wyłączysz jedną z nich.

Jak zmierzyć efekt i uniknąć błędów?

Efekt kompresji mierz na tych samych adresach, typach plików i warunkach cache przed zmianą oraz po niej. Mniejszy transfer nie musi oznaczać krótszego czasu odpowiedzi, jeśli kompresja nadmiernie obciąża CPU albo opóźnia wygenerowanie strony.

Tabela wskazuje, co porównywać po wdrożeniu. Dla wiarygodnego wyniku zachowaj ten sam URL, typ żądania, stan cache i klienta testowego.

testy kompresji przed i po wdrożeniu
TestCo porównaćOczekiwany sygnałMożliwy problem
TransferRozmiar przesłanej odpowiedzi tekstowejMniejszy transfer dla tego samego zasobuBrak kompresji lub zasób wyłączony
Nagłówki`Accept-Encoding`, `Content-Encoding`, `Content-Type` i `Vary`Kodowanie pasuje do żądania i typu odpowiedziBłędny MIME lub wariant cache
CzasCzas odpowiedzi w tych samych warunkachBrak pogorszenia całej odpowiedziKoszt CPU albo cache miss
SerwerZużycie CPU przy podobnym ruchuObciążenie pozostaje akceptowalneZbyt wysoki poziom kompresji

Wniosek: utrzymaj zmianę, gdy transfer spada, a czas odpowiedzi i obciążenie pozostają akceptowalne dla danego ruchu.

Podwójna kompresja może wystąpić, gdy warstwa pośrednia ponownie koduje odpowiedź już skompresowaną. Sprawdzaj nagłówki na każdym przejściu między przeglądarką, CDN i originem; sam wpis w konfiguracji WordPressa nie potwierdza, co otrzymał klient. Błędny `Content-Type` może wykluczyć odpowiedź z reguły MIME, a nieodświeżony cache może nadal serwować poprzedni wariant.

Jak dobrać kompresję do serwera i ruchu?

Wybór zależy od obsługi Brotli, zapasu CPU i tego, czy CDN przejmuje kompresję odpowiedzi. Gzip jest praktycznym wyborem, gdy serwer go obsługuje, a Brotli warto rozważyć, gdy konkretna warstwa prawidłowo negocjuje kodowanie i rozdziela warianty cache.

Dla statycznych plików można rozważyć przygotowanie skompresowanych wariantów, jeśli serwer potrafi je bezpiecznie serwować. Dynamiczny HTML jest kompresowany na żądanie, więc znaczenie ma koszt obliczeń podczas generowania odpowiedzi. Dobierz poziom pomiarem na kopii środowiska, bo wynik zależy od serwera i rodzaju treści.

Tabela pokazuje kierunek decyzji dla typowych warunków serwera.

wybór kompresji według warunków serwera
WarunekKierunek konfiguracjiKontrola przed decyzją
Hosting udostępnia GzipWłącz Gzip dla tekstowych typów MIMENagłówki i obciążenie CPU
CDN obsługuje BrotliRozważ Brotli na CDNOdpowiedź CDN i originu
Wysokie obciążenie CPUZacznij od niższego poziomu kompresjiCzas generowania i transfer
Statyczne pliki CSS i JavaScriptRozważ kompresję przy dostarczaniuCache i wersjonowanie plików

Wniosek: przypisz kompresję do jednej kontrolowanej warstwy i porównaj transfer z kosztem serwera. Jeśli prowadzisz sklep i potrzebujesz wykonawcy, optymalizacja szybkości sklepu WooCommerce obejmuje ocenę kompresji w kontekście całej strony.

Jaka jest bezpieczna procedura wdrożenia?

Bezpieczne wdrożenie wymaga kopii konfiguracji, testu składni, pomiaru i gotowego sposobu cofnięcia zmiany. Pracuj na środowisku testowym, jeśli modyfikujesz reguły serwera lub globalną konfigurację CDN.

1. Zapisz stan początkowy nagłówków, transferu, cache i obciążenia CPU.
2. Wybierz jedną warstwę kompresji i sprawdź faktyczne typy MIME.
3. Zrób kopię konfiguracji, wprowadź zmianę i uruchom test składni serwera.
4. Sprawdź odpowiedź dla klienta obsługującego Gzip i Brotli oraz dla żądania bez kompresji.
5. Wyczyść właściwy cache i powtórz testy z tabeli pomiarów po wdrożeniu.
6. Cofnij zmianę, jeśli odpowiedzi zwracają błędy, cache miesza warianty albo obciążenie przekracza ustalony limit.

Kompresja HTTP nie zmniejszy kosztu dużych skryptów. Sprawdź też metody minifikacji JavaScript w WordPressie oraz kolejność prac opisaną w poradniku jak przyspieszyć WordPress.

Schemat przedstawia bezpieczną kolejność wdrożenia: pomiar stanu, konfigurację, kontrolę odpowiedzi i możliwość cofnięcia zmiany.

Więcej poradników w tym temacie

Wspomniane narzędzia

Chrome DevToolsNginxApache HTTP ServerCloudflare

Najczęściej zadawane pytania

Czy Gzip i Brotli można włączyć jednocześnie?
Serwer lub CDN może udostępniać oba algorytmy i wybierać kodowanie akceptowane przez klienta. W typowej konfiguracji dla jednej odpowiedzi wybiera się Gzip albo Brotli; `Content-Encoding` może jednak wymienić kilka kodowań, jeśli zastosowano je kolejno.
Jak sprawdzić, czy strona używa kompresji Brotli?
Otwórz DevTools, wybierz Network i sprawdź nagłówki odpowiedzi HTML, CSS lub JavaScript. `Content-Encoding: br` oznacza Brotli dla danego żądania; porównaj też `Accept-Encoding` żądania oraz `Content-Type` odpowiedzi.
Czy kompresja HTTP przyspiesza WordPressa?
Kompresja może zmniejszyć transfer tekstowych odpowiedzi HTML, CSS, JavaScript i JSON. Nie skraca sama z siebie czasu wykonywania PHP ani nie optymalizuje obrazów.
Czy CDN może włączać Brotli automatycznie?
Tak, wybrane CDN-y mogą zwracać Brotli, gdy klient zgłasza jego obsługę, a konfiguracja i typ odpowiedzi obejmują kompresję. Potwierdź działanie w nagłówkach odpowiedzi dostarczonej przez CDN.
Jakie pliki warto kompresować na stronie WWW?
Najczęściej kompresuje się tekstowe odpowiedzi HTML, CSS, JavaScript, JSON i XML, jeśli ich faktyczny `Content-Type` obejmuje reguła serwera. Obrazy JPEG, WebP i AVIF są już skompresowane w swoich formatach.
Co zrobić, gdy tester pokazuje brak kompresji?
Sprawdź `Accept-Encoding` żądania oraz `Content-Encoding` i `Content-Type` odpowiedzi dla tego samego adresu. Następnie porównaj wynik dla CDN i originu oraz skontroluj cache.
#Gzip#Brotli#kompresja HTTP#szybkość strony#WordPress#Nginx#Apache#CDN
Zdjęcie autora: Krzysztof Czapnik
O autorze

Krzysztof Czapnik

Founder & Technical Lead, KC Mobile

Projektuję i rozwijam strony WordPress, sklepy WooCommerce oraz aplikacje internetowe. Łączę projektowanie z programowaniem, integracjami i technicznym SEO. Projekty KC Mobile prowadzę osobiście.

Potrzebujesz pomocy z tym tematem? Napisz - odpowiem osobiście w 24h.

Potrzebujesz pomocy w tym temacie?

Czytasz poradnik „Gzip i Brotli - jak włączyć kompresję strony WWW i sprawdzić efekt?”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.