Blog Performance

Gzip-Komprimierung aktivieren: Anleitung für Apache, Nginx & PHP

HTTP-Komprimierung spart 60–80 % Bandbreite und verbessert direkt LCP, TTFB und Core Web Vitals. Diese Anleitung erklärt, wie du Gzip und Brotli auf deinem Server aktivierst.

von Laurenz Thümmler 15. Mai 2026 12 Min. Lesezeit
Gzip Komprimierung Website aktivieren — Ladezeit verbessern und SEO optimieren

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:

  1. Cloudflare Dashboard → deine Domain → SpeedOptimization
  2. Abschnitt Protocol Optimization
  3. 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

  1. Öffne Chrome und rufe deine Website auf
  2. Öffne DevTools (F12) → Tab Network
  3. Lade die Seite neu (Ctrl+Shift+R für Hard Reload)
  4. Klicke auf die erste HTML-Anfrage
  5. Unter Response Headers: Prüfe content-encoding: gzip oder content-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. 1. Server prüfen: Apache, Nginx oder PHP-basiert?
  2. 2. Passende Konfiguration aus dieser Anleitung wählen und anwenden
  3. 3. Nur Textformate einschließen (HTML, CSS, JS, XML, JSON, SVG)
  4. 4. Bilder und bereits komprimierte Formate ausschließen
  5. 5. Mit DevTools oder curl verifizieren: content-encoding Header prüfen
  6. 6. In PageSpeed Insights gegenchecken: "Serve content with efficient encoding"
  7. 7. Optional: Brotli als Upgrade aktivieren (10–20 % besser als Gzip)
  8. 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 →