Webseiten beschleunigen
Friday, April 9th, 2010Was schon seit Monaten die Runde macht, wurde jetzt von Google bestätigt. Die Ladegeschwindigkeit einer Webseite kann ihr Ranking beeinflussen.
In den Google Webmaster Tools gibt es schon seit längerem unter dem Punkt “Labs”->”Site Performance” Details zu der Pagespeed, wie Google (oder besser: der Googlebot) sie sieht. Interessant ist dabei besonders der Graph, der die durchschnittliche Geschwindigkeit der jeweiligen Seite im Vergleich mit anderen Webseiten anzeigt. Der Grüne Streifen zeigt die 20% der schnellsten Webseiten an. Generell sollte man versuchen den Graph der eigenen Webseite möglichst weit in Richtung dieses Bereichs zu bekommen.

Auf dieser Seite in den Webmastertools gibt Google zum Glück gleich auch Tipps, wie man die Ladegeschwindigkeit seiner Seiten beschleunigen kann. Zu ausgewählten Seiten lassen sich Details dazu anzeigen, was Google an ihnen nicht schmeckt.
Prio 1: Apache konfigurieren
Die Zugriffszeit auf eine Webseite lässt sich vor allem durch das aktivieren der Gzip-Kompression und das Setzen eines Expiration-Dates auf Server-Ebene drastisch beschleunigen. Sind diese beiden Techniken auf Eurem Server nicht aktiviert, machen die Google Webmaster Tools darauf aufmerksam.
Für den Apache 2 Webserver, der wahrscheinlich recht flächendeckend im Einsatz ist, solltet Ihr das mod_expires und mod_deflate aktivieren.
Mit dem Expires Modul lassen sich Server-Header senden, die dem Browser sagen, wie lange er bestimmte Seiten cachen soll. Hier muss man natürlich ein bisschen vorsichtig vorgehen, schliesslich will normaler Weise nicht, dass dynamische Seiten gecached werden. Meist bietet es sich an, die Anweisung zum cachen in .htaccess Dateien zu schreiben, die in den Verzeichnissen mit den statischen Inhalten sitzen:
ExpiresActive On
ExpiresDefault "access plus 1 month"
Diese Anweisung teilt dem Browser mit, dass alle Dateien in diesem Verzeichnis und seinen Unterverzeichnissen 1 Monat lang gecached werden sollen. Sind statische und dynamische Dateien gemischt, lassen sich auch nur einzelne Dateitypen cachen:
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
Wichtig kann dabei die ExpiresActive On Direktive sein. Ich selbst setze die Anweisungen in .htaccess Dateien. Das ganze ist natürlich auch übergeordnet serverweit möglich.
Alleine durch die Kompression des HTML-Codes durch mod_deflate lässt sich die Ladegeschwindigkeit drastisch erhöhen. Bei dieser Seite wurde das Modul Ende Januar aktiviert.

Was geht noch?
Diese beiden Maßnahmen sollten schon mal einen deutlichen Geschwindigkeitsschub geben. Ansonsten lassen sich noch mehrere CSS oder JS Dateien zusammenfassen, um die Anzahl der Zugriffe pro Seite niedrig zu halten oder statische Grafiken auf eigene Hosteinträge (z.B. img.onlinenerd24.de) auslagern, da die Browser diese Grafiken dann parallel laden können.
Spezialisten könnten ausserdem anfangen die Anzahl ihrer Apache-Threads zu optimieren. Bei Seiten mit größeren Datenbanken solltet Ihr ausserdem prüfen, ob diese vernünftig indexiert sind, oder ob evtl. ein Bottleneck bei den Datenbankzugriffen vorliegt. Auch das kann die Auslieferung einer Webseite drastisch verlangsamen. Un zwar richtig drastisch
Sehr hilfreich bei der Analyse der Seitengeschwindigkeit sind diverse Browserplugins. Hier sei vor allem Googles eigene Page Speed Plugin für Firefox und Yslow von (richtig geraten!) Yahoo! genannt. Auch diese Tools geben ganz konkrete Tipps, um individuelle Seiten zu beschleunigen.
Wer eigene Server betreibt, dem kann ich schwerstens das Programm “Munin” ans Herz legen, um die Vital-Statistiken seiner Maschine im Überblick zu behalten.
Was bringts?
Ich denke von dem Geschwindigkeitsgewinn sollte man sich in der Regel keinen wahnsinnigen Ranking-Boost versprechen, vermutlich ist es eher so, dass besonders langsame Seiten abgewertet werden. Aber mit der Beschleunigung eurer Seite tut ihr zumindest etwas für eure Besucher. Denn wer wartet schon klänger als ein paar Sekunden, bis sich eine Seite vollständig aufgebaut hat…
Update
Dies ist der Verlauf des Graphen für die Downloadzeit einer recht Bilder-intensiven Webseite, nachdem ich lediglich mod_expires eingeschaltet habe. Sie ist drastisch gefallen. mod_deflate lief schon länger, hat bei bereits komprimierten Bildern aber eh keien Auswirkung.
Google ist sich also sehr wohl der Unterstützung des Browser-Cachings bewusst. Ich glaube nicht so wirklich daran, dass Seiten mit großen Bildern lediglich aufgrund des naturgemäss längeren ersten Downloads schlechter bewertet werden.
Mir fällt gerade ein: Eine thematisch gleich gelagerte Seite, ebenfalls Image heavy rankt in der Bildersuche deutlich schnlechter als die aus dem obigen Beispiel. IMHO ein weiterer Hinweis, dass der Bilderdownload das Ranking nicht stark beeinflusst.

