03.04.2014 | Top-Thema Page Speed richtig optimieren

Gzip Komprimierung aktivieren

Kapitel
Mit Gzp-Komprimierung die Ladezeiten verringern!
Bild: Haufe Online Redaktion

Gzip (GNU zip) ist ein Kompressions-Dienstprogramm, das fast alle Dateien auf dem Webhost komprimiert und dann an den Browser sendet. Die „abgespeckten“ Dateien werden vom Browser des Nutzers entpackt und wieder mit vollem Inhalt wiedergegeben. Weil kleinere Pakete versendet werden und der Endnutzer vom blitzschnellen entpacken nichts merkt, kann die Seite schneller aufgebaut werden.

Und so geht’s: Gzip packt alle Dateien einzeln, meist mittels tar (ein ZIP-ähnliches Archivierungsprogramm), in einen Tarball. Diese Sammlung bekommt die Endung tar.gz (bei älteren Versionen) oder einfach nur .tgz. Die Dateien, die einzeln komprimiert bleiben, bekommen die Endung .gz. Die Vorteile einer einzelnen größeren Datei lernen wir im Kapitel „Parallele Downloads“ kennen.

„Gzip“ gibt es eigentlich schon seit mehr als 50 Jahren. Dieses Modul ist normal auf jedem Apache (der meistbenutzte HTTP-Webserver im Internet) hinterlegt, nur leider nicht von jedem Hostserver von Anfang an freigegeben. Das Komprimieren erhöht die Belastung des Prozessors vom Webserver um circa zehn Prozent. Wenn alle Clients das Modul auch benutzen, kann der Host nur 90 Prozent der vorgesehenen Menge an Kunden beherbergen. Daher sollte man zuerst überprüfen, ob Gzip auf dem Webhost verfügbar ist.

Standardmäßig ist Gzip bei den meisten Hostern aktiviert, sicherheitshalber kann auch beim Provider nachgefragt werden. Die Abfrage kann auch manuell getätigt werden. Das geht ganz einfach durch eine phpinfo()-Ausgabe. Dort muss man bei "HTTP_ACCEPT_ENCODING" nach gzip oder deflate Ausschau halten.

Wenn Gzip verfügbar ist, gibt es einige Wege zur Implementierung: Entweder mit Hilfe von PlugIns, direkt mittels PHP oder mein Favorit, über die Konfigurationsdatei .htaccess.

Gzip Komprimierung mittels der Konfigurationsdatei .htaccess installieren

Die .htaccess ist die Konfigurationsdatei, in der verzeichnisspezifische Einstellungen auf NCSA-kompatiblen Webservern (wie Apache) vorgenommen werden können. Diese Datei wird bei jeder Anfrage an den Webserver ausgelesen. Das heißt alle spezifischen Änderungen, wie Umleitungen oder in diese Fall Aktivierungen, treten sofort in Kraft. Die .htaccess findet man in den meisten Fällen im Root-Verzeichnis in dem auch die index.html oder index.php liegt. Bei manchen Webhostern liegt die .htaccess zum Teil in einem anderen Ordner, ist versteckt oder der Kunde hat einfach keinen Zugriff darauf. In diesem Fall sollte der Webhoster kontaktiert werden. Um die Komprimierung zu aktivieren, fügt man (natürlich nach einem Backup!) folgenden Code mit ein.

 

<IfModule mod_deflate.c>                                        # wenn Modul deflate aktiv ist, dann
<FilesMatch “\\.(js|css|html|xml)$”>                           # Filter auf: für alle Dateien mit der Endung .js...
SetOutputFilter DEFLATE                                          # sollen komprimiert werden
</FilesMatch>                                                            # Filter zu       
</IfModule>                                                               # wenn Modul vorhanden war, dann zu

 

Soll der Filter auch andere Endungen mitnehmen, können diese einfach eingefügt werden. Aufpassen sollte man aber, dass nach dem letzten Attribut keine Pipe mehr kommt. Man kann auch Grafiken komprimieren, aber da diese (PNG, JPG,...) bereits komprimiert sind, wird man außer Leistungsverlusten kaum etwas davon haben.

Gzip Komprimierung mittels der Skriptsprache PHP

Mit PHP ist es ebenfalls durch ein paar Zeilen Code möglich, eine Gzip Komprimierung durchführen. Die Einrichtung ist so leicht, dass eine Fehlerbildung fast ausgeschlossen ist. Dazu sollte in jeder einzelnen PHP Datei (auch die .HTM oder .HTML Dateien und Endungen, die auf .PHP umgeschrieben werden) der folgende Code in die ersten Zeilen geschrieben werden:

 

<?php
ob_start(“ob_gzhandler”);
?>

 


Ohne weitere Einrichtungsschritte werden jetzt bereits alle PHP-Dokumente, inklusive externen CSS, bei Aufruf durch den Besucher komprimiert. Der Nachteil ist einfach die viele Arbeit. Diese kann durch die .htaccess abgenommen werden. Da der erste Weg, direkt über die .htaccess, um einiges eleganter ist und er auch weniger serverlastig ist, werde ich nicht weiter auf die PHP-Methode eingehen.

Gzip Komprimierung mittels Plugins

Es gibt für fast alle CMS Systeme (WordPress, Joomla, ...) einige Plugins, die diese Aufgabe übernehmen. Meistens basieren diese auf PHP und fügen, wie oben beschrieben, die PHP Zeilen ein. Beispiele dafür bilden für WordPress Gzip Ninja Speed Compression oder der wpCompressor.

 

Gzip Komprimierung testen

Es gibt einige Seiten, auf denen man die Komprimierung testen kann. Es sollten immer mehrere Unterseiten getestet werden, da hin und wieder eine fehlerhafte Antwort kommen kann.

Google Page Speed

Gidnetwork Gzip Test

Whatsmyip Compression Test

Schlagworte zum Thema:  SEO, Suchmaschinenoptimierung, Website-Optimierung, Optimierung, Homepage, Web

Aktuell

Meistgelesen