Blog Beschleunigung durch Google

Verfasst am 9. Mrz 2010

Gerade eben habe ich eine Kleinigkeit im Header meines Blogs geändert, was zur drastischen Beschleunigung des Seitenaufbaus geführt hat. Die Rede ist von jQuery. WordPress liefert jQuery gleich mit und nutzt es lokal auf dem Server (der Zeit jQuery 1.3.2). Ende letzten Monats ist eine um ca. 25% schneller Variante von jQuery erschienen, die man sich ganz einfach einbinden lassen kann.

Um dem noch ein wenig mehr Geschwindigkeit zu verleihen, bedienen wir uns einer externen Ressource. Normalerweise ist es so, dass Skripte und Dateien, die von einer externen Resource nachgeladen werden müssen, deutlich langsamer sind, als lokal gelegene.

Um dies erklären zu können, gehen wir zurück in das Jahr 1996. Das Internet hatte dort seinen Aufschwung erlebt und der erste HTML-Standard wurde offiziell verabschiedet: HTML/1.0. In HTML/1.0 wurde für jede Datei (z.B. jedes Bild auf der Webseite), jedes Mal eine neue Verbindung auf- und wieder abgebaut, da der Standard vorschrieb, dass der Server nach jedem Abruf einer Datei die Verbindung trennen soll. Dieser immer wiederkehrende Auf- und Abbau der Verbindung drosselte (abgesehen von der zu dieser Zeit verfügbaren Bandbreite der Internetleitung) den Aufbau der Webseite ungemein (ganz zu schweigen von der enormen Belastung des Servers), was zur Einführung von HTML/1.1 im Jahre 1999 führte. In diesem neuen (und dem der Zeit aktuellsten) Standard, wurde nur eine einzige Verbindung aufgebaut, um alle lokalen Ressourcen zu laden. Der Verbindungsabbau wurde diesmal durch den Webbrowser initiiert.

Externe Ressourcen mussten logischerweise weiterhin jeweils eine neue Verbindung aufbauen, was schlussfolgern müsste, dass externe Ressourcen langsamer sind, als lokal gelegene.

Kurz und knapp, bei Google ist das nicht so. Es ist nicht bekannt, wo sich die einzelnen Server von Google befinden. Bekannt ist, dass Google mehrere Millionen Server hat und es ist davon auszugehen, dass beim Aufruf von Google immer der am nächsten gelegenen Server genutzt wird. Desto näher die Ressource, desto schneller die Ladegeschwindigkeit (grob gesagt), deshalb ist die Verwendung einer externen Ressource in diesem Fall schneller, als die einer lokalen. Eigentlich gehört noch einige mehr Faktoren dazu, dass die Google-Ressource schneller ist, aber dies würde den Inhalt dieses Beitrags sprengen.

Um zum eigentlichen Inhalt zu kommen, sollte dein Template jQuery benutzen, musst du die folgende Zeile

  1. wp_enqueue_script(‘jquery’);

im Template durch die Nachfolgenden ersetzen

  1. <?php wp_deregister_script(‘jquery’);
  2.         wp_register_script(‘jquery’, ‘http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js’);
  3.         wp_enqueue_script(‘jquery’); ?>

Die Zeilen bewirken, dass der alte Inhalt von jquery entfernt wird und durch den neuen (in Zeile 2) ersetzt wird.

Die in Zeile 2 enthaltene URL ruft voll automatisch von Google die aktuellste jQuery-Version ab, die zur gerade installierten WordPress Version passt.

Anders als hier beschrieben, ist es auch möglich eine eigene Funktion zu schreiben, dazu verweise ich an folgendes Forum.