Gzip-Komprimierung ist eine der einfachsten und wirksamsten Maßnahmen zur Verbesserung der Website-Performance. Aktiviert auf dem Server, reduziert sie die Größe von HTML-, CSS- und JavaScript-Dateien um 60–80 % — ohne jede Qualitätseinbuße. Die meisten Hosting-Umgebungen unterstützen Gzip (oder das modernere Brotli), aber es ist nicht immer standardmäßig aktiviert.
Was du in diesem Artikel lernst
- ✓ Was Gzip/Brotli macht und warum es SEO-relevant ist
- ✓ Gzip auf Apache aktivieren (.htaccess)
- ✓ Gzip auf Nginx aktivieren (nginx.conf)
- ✓ Brotli als Upgrade zu Gzip einrichten
- ✓ Komprimierung in PHP aktivieren
- ✓ Cloudflare und CDN-Einstellungen
- ✓ WordPress-spezifische Einstellungen
- ✓ Komprimierung testen und verifizieren
Warum HTTP-Komprimierung so wichtig ist
Wenn ein Browser eine Seite aufruft, überträgt der Server HTML, CSS, JavaScript und andere Textdateien. Ohne Komprimierung werden diese Dateien in voller Größe gesendet — oft 100–500 KB pro Seite. Mit Gzip oder Brotli wird diese Größe auf 20–40 KB reduziert.
Das wirkt sich direkt auf mehrere SEO-Faktoren aus:
- TTFB (Time to First Byte): Schnellere Übertragung → Browser empfängt erste Bytes früher
- LCP (Largest Contentful Paint): Haupt-Ressourcen laden schneller → LCP-Wert verbessert sich
- Mobile Performance: Mobilverbindungen profitieren besonders von kleineren Dateien
- Crawl-Effizienz: Googlebot crawlt mehr Seiten mit weniger Bandbreite
Google hat Page Speed als direkten Ranking-Faktor bestätigt — fehlende Komprimierung ist in PageSpeed Insights eines der ersten gemeldeten Probleme. Mehr zur Bedeutung von Ladezeit als Ranking-Faktor erklärt unser ausführlicher Artikel dazu.
Gzip vs. Brotli: Was solltest du nutzen?
Beide sind HTTP-Komprimierungsformate, aber Brotli ist der modernere Standard:
- Gzip: Seit Jahrzehnten Standard, von allen Browsern und Servern unterstützt. Komprimiert HTML/CSS/JS um 60–70 %.
- Brotli (br): Entwickelt von Google, 10–20 % bessere Kompression als Gzip. Unterstützt von allen modernen Browsern (Chrome, Firefox, Edge, Safari). Benötigt HTTPS.
Empfehlung: Aktiviere beide. Browser senden im Request-Header an, welche Formate sie unterstützen (Accept-Encoding: br, gzip, deflate). Der Server wählt dann das beste Format. Ältere Clients erhalten Gzip als Fallback.
Gzip auf Apache aktivieren
Variante 1: .htaccess (empfohlen für Shared Hosting)
Füge folgende Zeilen in die .htaccess-Datei im Wurzelverzeichnis deiner Website ein:
<IfModule mod_deflate.c>
# Komprimierung für Textformate aktivieren
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE image/svg+xml
# Alte Browser die Komprimierung falsch handhaben ausschließen
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Komprimierte Antworten korrekt cachen
Header append Vary User-Agent
</IfModule>
Variante 2: Apache-Konfigurationsdatei (VirtualHost)
Für Server mit direktem Zugriff auf die Apache-Konfiguration (httpd.conf oder apache2.conf):
# Modul laden (falls noch nicht aktiv)
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
<VirtualHost *:80>
# Gzip für alle Textdateien
<Location />
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|webp)$ no-gzip
</Location>
</VirtualHost>
Wichtig: Das Modul mod_deflate muss aktiviert sein. Prüfe mit apache2ctl -M | grep deflate. Aktivieren: a2enmod deflate && systemctl restart apache2
Gzip auf Nginx aktivieren
Nginx unterstützt Gzip nativ ohne zusätzliche Module. Füge diese Konfiguration in den http {}-Block deiner nginx.conf ein:
http {
# Gzip aktivieren
gzip on;
gzip_vary on;
gzip_proxied any;
# Kompressionsrate: 1 (schnell) bis 9 (maximale Kompression, mehr CPU)
# Level 6 ist ein guter Kompromiss
gzip_comp_level 6;
# Dateien unter 1KB nicht komprimieren (kein Vorteil)
gzip_min_length 1024;
# HTTP/1.0 Proxies unterstützen
gzip_http_version 1.0;
# Zu komprimierende MIME-Types
gzip_types
text/html
text/plain
text/css
text/javascript
text/xml
application/javascript
application/x-javascript
application/json
application/xml
application/rss+xml
application/atom+xml
image/svg+xml;
# Bilder NICHT komprimieren (bereits komprimiert, kein Vorteil)
# Ausgenommen: SVG (ist XML, komprimierbar)
}
Nginx neu laden: nginx -t && systemctl reload nginx
Brotli auf Nginx aktivieren (Upgrade)
Brotli benötigt das ngx_brotli-Modul. Bei neueren Ubuntu/Debian-Systemen ist es oft bereits als Paket verfügbar:
# Paket installieren (Ubuntu/Debian)
apt install libnginx-mod-http-brotli-filter libnginx-mod-http-brotli-static
# In nginx.conf im http {} Block:
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types
text/html
text/plain
text/css
text/javascript
application/javascript
application/json
application/xml
image/svg+xml;
Hinweis: Wenn sowohl Gzip als auch Brotli aktiv sind, wählt Nginx automatisch Brotli wenn der Browser es im Accept-Encoding-Header signalisiert. Kein weiterer Konfigurationsaufwand nötig.
Gzip in PHP aktivieren
Falls kein direkter Serverzugriff möglich ist, kann PHP die Ausgabe komprimieren. Füge dies am Anfang deiner PHP-Dateien oder in einer globalen Bootstrap-Datei ein:
<?php
// Output-Buffering mit Gzip-Komprimierung aktivieren
if (extension_loaded('zlib') && !headers_sent()) {
ob_start('ob_gzhandler');
}
// ... restlicher Code
Oder via php.ini:
zlib.output_compression = On
zlib.output_compression_level = 6
Achtung: PHP-Gzip und Server-Gzip gleichzeitig aktivieren führt zu doppelter Komprimierung und kann Fehler verursachen. Nutze nur eine Methode.
Komprimierung über Cloudflare aktivieren
Wenn du Cloudflare als CDN nutzt, aktiviert Cloudflare Gzip automatisch für alle Proxied-Ressourcen. Brotli kannst du aktivieren unter:
- Cloudflare Dashboard → deine Domain → Speed → Optimization
- Abschnitt Protocol Optimization
- Brotli: Schalter auf ON
Cloudflare komprimiert dann Antworten zwischen Cloudflare-Edge und Browser mit Brotli, selbst wenn dein Ursprungsserver nur Gzip oder gar keine Komprimierung liefert.
WordPress: Gzip per Plugin oder .htaccess
WordPress-Nutzer auf Apache können Gzip direkt per .htaccess aktivieren (Methode oben). Zusätzlich bieten Performance-Plugins eine einfachere Oberfläche:
- WP Rocket: Einstellungen → Dateioptimierung → Gzip-Komprimierung aktivieren
- LiteSpeed Cache: Automatisch aktiviert wenn LiteSpeed-Server vorhanden
- W3 Total Cache: Performance → Browser Cache → Enable HTTP (gzip) compression
- Autoptimize: Extra-Einstellungen → Enable Gzip compression
Mehr zu WordPress-Performance-Optimierung erklärt unser WordPress SEO Leitfaden.
Komprimierung testen und verifizieren
Methode 1: Chrome DevTools
- Öffne Chrome und rufe deine Website auf
- Öffne DevTools (F12) → Tab Network
- Lade die Seite neu (Ctrl+Shift+R für Hard Reload)
- Klicke auf die erste HTML-Anfrage
- Unter Response Headers: Prüfe
content-encoding: gzipodercontent-encoding: br
Methode 2: curl im Terminal
# Gzip testen
curl -I -H "Accept-Encoding: gzip" https://example.de
# Brotli testen
curl -I -H "Accept-Encoding: br" https://example.de
# In der Ausgabe suchen nach:
# content-encoding: gzip
# oder
# content-encoding: br
Methode 3: Online-Tool
Nutze unseren Gzip/Brotli-Compression-Checker um die Komprimierungsstatus deiner Website schnell zu prüfen — kein Terminal oder DevTools nötig.
Was Gzip und was nicht komprimieren
| Dateitype | Komprimieren? | Begründung |
|---|---|---|
| HTML, CSS, JS | ✓ Ja | Textformate mit hohem Wiederholungsanteil — 60–80 % Einsparung |
| XML, JSON, SVG | ✓ Ja | Textbasierte Formate, gut komprimierbar |
| Schriften (WOFF2) | ✗ Nein | WOFF2 ist bereits komprimiert — doppelte Komprimierung erhöht Größe |
| JPEG, PNG, WebP | ✗ Nein | Bilder sind bereits komprimiert — kein weiterer Vorteil |
| ZIP, PDF, MP4 | ✗ Nein | Bereits komprimierte Binärdateien — nicht sinnvoll |
Performance-Impact: Reale Zahlen
Zur Illustration: Eine typische WordPress-Seite vor und nach Gzip:
- HTML: 45 KB → 11 KB (75 % kleiner)
- CSS (Bootstrap): 152 KB → 22 KB (85 % kleiner)
- JavaScript: 87 KB → 29 KB (67 % kleiner)
- Gesamt: ~284 KB → ~62 KB — über 78 % Einsparung
Auf einer mobilen 4G-Verbindung (20 Mbit/s) bedeutet das: Statt 0,11 Sekunden nur für den Transfer lädt die Seite in 0,025 Sekunden — eine Verbesserung von 0,085 Sekunden, die direkt im LCP-Wert sichtbar wird. Mehr dazu in unserem Artikel zu Core Web Vitals verbessern.
Häufige Fehler und ihre Lösung
Problem: Gzip aktiv, aber doppelte Komprimierung
Wenn sowohl PHP-Gzip (ob_gzhandler) als auch Server-Gzip aktiv sind, wird die Datei doppelt komprimiert und der Browser kann sie nicht entpacken. Deaktiviere eine der beiden Methoden.
Problem: Nur manche Seiten werden komprimiert
Oft passiert das bei Caching-Plugins, die bereits komprimierte Versionen ausliefern. Prüfe, ob der Cache geleert wird wenn du Gzip aktivierst, und ob das Plugin Gzip-fähige Caches erstellt.
Problem: mod_deflate nicht geladen
Prüfe mit apache2ctl -M | grep deflate. Wenn nicht vorhanden: a2enmod deflate && systemctl restart apache2. Einige Shared-Hosting-Anbieter haben das Modul nicht aktiviert — dann PHP-Gzip nutzen.
Checkliste: Komprimierung richtig einrichten
- 1. Server prüfen: Apache, Nginx oder PHP-basiert?
- 2. Passende Konfiguration aus dieser Anleitung wählen und anwenden
- 3. Nur Textformate einschließen (HTML, CSS, JS, XML, JSON, SVG)
- 4. Bilder und bereits komprimierte Formate ausschließen
- 5. Mit DevTools oder curl verifizieren: content-encoding Header prüfen
- 6. In PageSpeed Insights gegenchecken: "Serve content with efficient encoding"
- 7. Optional: Brotli als Upgrade aktivieren (10–20 % besser als Gzip)
- 8. TTFB und LCP im Blick behalten — sollten sich verbessern
Fazit
Gzip-Komprimierung ist eine der einfachsten Performance-Optimierungen mit dem größten Impact: wenige Zeilen Konfiguration, keine Qualitätseinbußen, bis zu 80 % kleinere Dateiübertragungen. Kombiniert mit Browser-Caching und optimierten Bildern legen diese drei Maßnahmen die Grundlage für gute Core-Web-Vitals-Werte.
Prüfe zuerst mit unserem Gzip/Brotli-Compression-Checker, ob deine Website bereits komprimiert — und nutze dann die passende Anleitung aus diesem Artikel, um den Status bei Bedarf zu korrigieren. Weitere Performance-Maßnahmen erklärt unser TTFB-Leitfaden zur Server-Antwortzeit verbessern.
Performance deiner Website prüfen
shift07.ai analysiert deine Website auf Gzip, Ladezeiten, Core Web Vitals und über 50 weitere SEO-Faktoren — kostenlos und in Sekunden.
Jetzt kostenlos analysieren →