Komprimierung meint in der SEO die HTTP-Komprimierung: Der Server verpackt Textdateien wie HTML, CSS und JavaScript vor der Übertragung, der Browser entpackt sie wieder. Die Dateien werden dadurch kleiner und laden schneller. Die gängigen Verfahren heißen Gzip und Brotli.
Wie funktioniert die Aushandlung?
Der Browser nennt im Request-Header Accept-Encoding, welche Verfahren er entpacken kann. Der Server wählt eines davon, komprimiert die Antwort und kennzeichnet sie mit Content-Encoding. Der Header Vary: Accept-Encoding sagt Caches, dass es mehrere Varianten derselben URL gibt.
GET /styles.css HTTP/1.1
Accept-Encoding: br, gzip
HTTP/1.1 200 OK
Content-Encoding: br
Vary: Accept-Encoding
Verfahren im Überblick
- gzip: laut MDN das gängigste Verfahren, in RFC 9110 als Content Coding definiert
- br (Brotli): neueres Verfahren, laut MDN mit besserem Kompressionsverhältnis als gzip, aber langsamer beim Komprimieren
- zstd (Zstandard): neueres Verfahren, von MDN als Wert für
Content-Encodingaufgeführt - deflate: älteres Verfahren, in RFC 9110 aufgeführt
Crawler und Komprimierung
Nach Google unterstützen die Crawler und Fetcher gzip, deflate und Brotli. Sie melden das selbst im Accept-Encoding-Header, etwa als gzip, deflate, br. Eine Komprimierung auf dem Server bleibt für Googlebot damit lesbar.
Was sich nicht lohnt
Bereits komprimierte Formate wie JPEG, PNG, WebP, Audio und Video sollten nicht noch einmal komprimiert werden. MDN weist darauf hin, dass der Aufwand dann größer ist als der Gewinn. Komprimiert wird sinnvoll alles, was aus Text besteht: HTML, CSS, JavaScript, JSON, SVG.
Prüfen
In den Entwicklertools des Browsers zeigt der Reiter Netzwerk bei jeder Datei den Response-Header Content-Encoding. Fehlt er bei einer größeren Textdatei, ist die Komprimierung für diesen Dateityp nicht aktiv. Eingerichtet wird sie in der Serverkonfiguration (bei Apache etwa über mod_deflate, bei Nginx über ngx_http_gzip_module) oder beim Hoster.
Häufige Fehler
- Kein
Vary: Accept-Encoding. MDN schreibt, dass der Server bei ausgehandelter Komprimierung mindestensAccept-EncodingimVary-Header senden muss, damit Caches die Varianten getrennt speichern. - Bereits komprimierte Dateien erneut komprimieren. Bei JPEG, PNG, WebP, Audio und Video ist der Aufwand laut MDN oft größer als der Gewinn, die Datei kann sogar wachsen.
- Textdateien bleiben unkomprimiert. MDN empfiehlt, Komprimierung für alle Dateien außer bereits komprimierten zu aktivieren. Ein fehlendes
Content-Encodingbei HTML, CSS oder JavaScript weist auf eine Lücke hin.
Häufige Fragen
Was macht Gzip? Es verkleinert Dateien verlustfrei, bevor sie über das Netz gehen.
Was ist besser, Gzip oder Brotli? Brotli erreicht laut MDN bessere Kompressionsverhältnisse, komprimiert aber langsamer als gzip. Gzip ist das gängigste Verfahren.
Quellen
- HTTP-Komprimierung – MDN Web Docsdeveloper.mozilla.org
- HTTP Semantics (RFC 9110), Content Codings – IETFrfc-editor.org
- Brotli compression – MDN Web Docs Glossarydeveloper.mozilla.org
- Overview of Google crawlers and fetchers – Google Search Centraldevelopers.google.com
Stand: