Performance Optimierung für Profis
Durch eine Performance Optimierung konnte ich die Sichtbarkeit meines Blogs etwas erhöhen, denn für Google ist die Ladezeit einer Seite sehr wichtig. Je länger der Benutzer warten muss, desto ungeduldiger wird er und desto höher sind Abbrüche. Google honoriert deshalb Seiten die sehr schnell laden. Ich zeige euch wie ihr über die .htaccess Datei recht einfach zu einer schnelleren Ladezeit kommt.
Performance Optimierung für Profis
Mit dem Google Pagespeed Tool kann man seine eigenen Webseiten testen und Engpässe beziehungsweise Probleme auf der eigenen Seite schnell feststellen. Ein schlechter Wert soll euch nicht entmutigen, oft kann man mit recht wenig Aufwand schon viel bewirken und deutliche Verbesserungen in der Bewertung bekommen.
Mein Blog kommt aktuell bei der Startseite eine Bewertung von Mobil 85/100 beziehungsweise Desktop 95/100. Das ist sehr gut, mehr als viele vergleichbare Seiten haben. Der Aufwand meinerseits war mit einigen Stunden überschaubar wenig. Das hängt auch vor allem damit zusammen, dass mein WordPress Theme bereits sehr gut optimiert war.
2 Details der Performance Optimierung kann man über die .htaccess Datei regeln:
- Caching
beim Browser Caching definiert man in der .htaccess Datei am Server wie lange der Client die Dateien zwischenspeichern (cachen) soll. Beim Benutzer zwischengespeicherte Dateien brauchen nicht erneut heruntergeladen werden und man spart enorm viel Zeit. - Kompression
Sofern der Server Kompression unterstützt lässt sich durch diese Option die Dateigröße drastisch reduzieren. Dadurch, dass weniger übertragen werden muss wird die Ladezeit ebenfalls kleiner.
Caching
Beim Browser Caching muss man etwas mit den Werten spielen. Nicht jede Einstellung ist für jede Webseite sinnvoll. Für meinen Blog, der vor allem viel Text enthält ist, ist die nachstehende Einstellung optimal. Seiten mit vielen Bildern die sehr dynamisch sind können ganz andere Einstellungen verwenden, für statische Seiten ohne Änderungen ganz andere. Meine Einstellung sieht wie folgt aus:
#Browser Caching <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month" ExpiresByType text/javascript "access plus 3 month" ExpiresByType image/png "access plus 3 month" ExpiresByType image/gif "access plus 3 month" ExpiresByType image/ico "access plus 3 month" ExpiresByType image/jpeg "access plus 3 month" ExpiresByType image/jpg "access plus 3 month" ExpiresByType image/svg "access plus 3 month" ExpiresDefault "access plus 1 week" </IfModule>
Technisch gesehen verwendet man das Apache2 Expires Modul. Dieses setzt basierend auf den Einstellungen von Apache bzw. der .htaccess Datei die max-age Direktiven des HTTP Headers. Diese werden dann vom Browser beim Client interpretiert.
Kompression
Moderne Browser können alle mit komprimierten Dateien umgehen. Kompression ist ein wichtiger Bestandteil der Performance Optimierung. Der Benutzer merkt beim Surfen gar nicht, dass er sich auf einer Seite dessen Dateien gepackt geladen werden. Der Browser entpackt diese Dateien in Echtzeit und stellt die Seite danach dar. Diese Option hat den Vorteil, dass weniger Bandbreite benötigt wird. Der Nachteil ist, dass es sowohl am Server als auch am Client zu einer geringfügig höheren Prozessorauslastung kommt, da die Dateien gepackt beziehungsweise entpackt werden müssen.
Als Zip Software wird auf Linux Servern übrigens das freie gzip verwendet, welches sehr gut komprimiert.
#Compression <IfModule mod_deflate.c> AddType image/svg+xml .svg AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript image/svg+xml BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </IfModule>
Technisch gesehen wird das Deflate Modul von Apache verwendet. Bei der Konfiguration muss man etwas aufpassen, da nicht aller Browser dieses für alle Dateitypen unterstützen. Das betrifft beispielsweise sehr alte Mozilla, Netscape Navigator und Microsoft Internet Explorer Versionen. Generell gilt jedoch: jeder halbwegs aktuelle Browser funktioniert damit. Der Verlust an Leuten die die Webseite nicht korrekt dargestellt bekommen ist sehr gering. Bei den alten Browsern sind meist zahlreiche andere Probleme gravierender.
Fazit
Man kann mit ein paar Zeilen Code sehr gute Ergebnisse erzielen. Diese Performance Optimierung ist relativ einfach. Die genannten Optimierungen funktionieren aber nicht bei jedem Hoster. Die Voraussetzung ist ein Apache Webserver, bei dem zudem die beiden verwendeten Modul installiert sind. Falls diese bei euch nicht funktionieren, dann solltet ihr beim Support anfragen. Manchmal sind die Administratoren gerne bereit diese nachträglich zu installieren. Im schlimmsten Fall sollte man den Hoster wechseln, da eine schnelle Website heute Pflicht ist.
Welche Konfigurationen könnt ihr empfehlen? Welche zusätzlichen Maßnahmen lassen sich über die .htaccess Datei noch realisieren?