In dem Artikel Grenzerfahrungen: WP Cacheplugins, Apacheoptimierung oder doch neue Hardware? hatte ich grob nach Möglichkeiten gefragt diesen oder allgemein Blogs zu optimieren. Eine Sache, die ich relativ schnell umsetzen konnte, habe ich dabei schon realisiert. Mein Dank geht an allen Kommentatoren dieses Artikels, die so unterschiedliche Lösungsvorschläge präsentiert hatten, dass ich noch mehrere Wochen daran arbeiten kann.

Bild 666.jpg

Was mir bis dato neu war, war die Firefox Extension YSlow, welches sich in die Extension Firebug integriert und genau für den Einsatz, der Analyse eine Webseite einen hervorragenden Dienst erledigt. Mit Firebug selber kann man schon sehr gut die Ladeperformance, der einzelnen Elemente einer Webseite analysieren und sich in einer schönen Zeitleistengrafik ansehen. YSlow bietet darüberhinaus noch viele weitere Tipps und Vorschläge. Unter anderen wurde mir auch der Einsatz von Gzip vorgeschlagen.

Bild 667.jpg

Einsatz von gzip als Apache2 Modul

Zur Verdeutlichung, was gzip auf meine Index-Seite bewirkt:

Ohne gzip:

Bild 663.jpg

mit gzip:

Bild 665.jpg

Das sind also gut 2MB Reduktion nur auf der Index Seite, was schon recht beachtlich ist, finde ich, wenn man sich dazu auch noch die Ladezeiten ansieht. Zu mindestens bei mir haben sie sich von weit über 10 Sekunden auf rund 3 Sekunden reduziert. Das nenne ich schon mal Fortschritt. Ob man das dann auch schon gefühlt merkt, weiß ich nicht. Könnt ja mal kurz Bescheid geben.

Ich habe dazu das Apache2 Modul mod_deflate benutzt. Auf einem Debian/Ubuntu-Rechner aktiviert man es wie folgt:

a2enmod deflate

Dazu noch folgende Erweiterungen in die httpd.conf bzw. in die zugehörige Site-Konfiguration des virtuellen Apache-Host:

# Deflate
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript image/jpeg image/gif image/png   
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
DeflateCompressionLevel 9
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

und abschliessend ein Neuladen der Konfiguration des Webservers mit:

/etc/init.d/apache2 force-reload

Neuere Browser beherrschen den Umgang mit komprimierten Inhalten, mit BrowserMatch schliesst man problematische Browser aus. Mit DeflateCompressionLevel kann man den Kompressionslevel regulieren. Mit dem Schlüsselwort AddOutputFilterByType legt man fest, welche Inhaltstypen komprimiert werden. Den grössten Effekt hat man wohl bei Textdateien, wie css, js oder html. Aber auch meine Bilddateien lassen sich noch gut komprimieren. Eventuell sollte ich aber lieber darauf achten, dass ich meine Bilder besser schon beim Publizieren kleiner rechne.

Das ist natürlich nur ein Anfang. Als Nächstes teste ich den Einsatz eines Cache Plugin für WordPress und eventuell möchte ich gerne ein paar CSS und Javascript Dateien zusammenfassen, was mich aber vor weiteren Problemen stellt, da die meisten dieser Dateien von irgendwelchen Plugins stammen.

Links
Grenzerfahrungen: WP Cacheplugins, Apacheoptimierung oder doch neue Hardware?
https://addons.mozilla.org/de/firefox/addon/5369
https://addons.mozilla.org/de/firefox/addon/1843g