[GREGEL DOT COM]

Bei meinen Tests und Selbstversuchen der verschiedenen Cache-Möglichkeiten für WordPress bin ich des öfteren über das Stichwort CDN gest0ßen. Alle Details zum Content Distribution Network kann man z.B. bei Wikipedia nachlesen – im groben geht es darum, dass man statischen Content (s)einer Website auslagert auf verschiedenste Server, die im Idealfall in der Nähe des jeweiligen Besuchers liegen.

Das ganze bringt zwei Vorteile mit sich:

  • Die Ladezeit der Website reduziert sich aufgrund der geringeren Strecke, die Bits & Bytes zurücklegen müssen
  • Der Browser lädt die komplette Seite schneller, weil der Content von verschiedenen (Sub-) Domains kommt.
    Speziell der letzte Punkt ist interessant, dies schauen wir uns nun mal genauer an.

Ein richtiges CDN bei einem großen Anbieter (wie das Amazon S3 Netzwerk) ist für die meisten Blogs ja ein wenig überdimensioniert. Also scheidet der erste o.g. Punkt am Geldbeutel und somit für den Durchschnittsblogger schonmal aus.
Aber wie sieht es mit der Auslagerung auf eine zweite (und/oder dritte) Domain aus? Bilder, CSS & Javascript ist bei jedem WordPress-Blog reichlich vorhanden, bietet sich also förmlich an.
Werfen wir einen Blick auf AskApache, wo das ganze Verfahren anschaulich dokumentiert ist:

So instead of waiting for 30 items from 1 source, it waits for 30 items from 3 different sources, drastically speeding up the transfer. By using multiple subdomains browsers are further able to maintain persistant connections with all 3 unique servers, making the site load incredibly faster.

Klingt gut.
Ich habe für den Anfang alle Bilder des aktuellen Themes, sowohl die CSS-Datei als solche auf static.gregel.com ausgelagert. Wie immer gilt: Viele Wege führen nach Rom, speziell bei WordPress.

Zum Beipiel bietet das in meiner Cache-Analyse genannte WordPress-Plugin W3 Total Cache von Haus aus die Möglichkeit CDN zu aktivieren (Über W3 Total Cache hat hombertho gebloggt, die entsprechenden Kommentare sind auch lesenswert).
Desweiteren finden sich im WordPress Plugin Directory noch einige andere Plugins speziell für diesen Zweck, z.B. CDN Rewrites oder CDN Tools.

Alle erfüllen sicherlich ihren Zweck – für mich waren sie aber entweder oversized oder suspekt. Letzteres, weil ich auch nach Studium des jeweiligen Codes nicht ganz verstanden habe, wo an welcher Stelle wie engegriffen wird – nichts für mich.

Zudem wollte ich ja klein anfangen – CSS auslagern und damit alle Bilder, die via CSS verknüpft sind. Und dies schafft man mit einfachen WordPress-Bordmitteln und drei Zeilen Code…

So verwendet jedes vernünftige Theme für das Einbinden der CSS im Head-Bereich der Seiten eine Variable:

<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />

Die Variable zielt im Normal auf domain.xy/blogverzeichnis/wp-content/themes/name/styles.css – also biegen wir dieses Ziel doch einfach um auf unsere (Sub-) Domain für statischen Content!

function stylesheet_uri_neu ($stylesheet_uri, $stylesheet) {
$stylesheet_neu_uri = 'http://static.domain.xy/dir/style.css';
return $stylesheet_neu_uri;
}
add_filter('stylesheet_uri' , 'stylesheet_uri_neu', 10, 2);

Die paar Zeilen in eine Datei name.php packen, wie jedes andere Plugin hochladen, aktivieren – fertig. Oder alternativ direkt in die functions.php des jeweiligen Themes.
Ab sofort wird die CSS-Datei und alle darin verknüpften Bilder von der neuen Subdomain geholt und unsere Seite lädt wieder ein wenig schneller.
Mission Accomplished.

Aktuelle Suchbegriffe:
  • wordpress css auslagern /
  • bilder subdomain auslagern /
  • subdoman bilder /
Noch ein Klick: Fan werden auf Facebook und mit Google+ einkreisen! Fan werden!

6 Kommentare zum Artikel

  • Markus

    Markus

    Guter Tipü und immer gut wenn man den umsetzen kann. Hab dies auch schon eine ganze weile für meine bilder (noch nicht alle), js, und css. extra mehrere Domains dafür. Allerdings hab ich es hardcodiert im theme header.

  • hombertho

    hombertho

    Mittlerweile gibt es vom W3 Cache eine neue Version, die noch einmal alles viel schneller und schöner kann :-)
    Ich lagere meine Bilder bereits schon auf Flickr als CDN aus :-)

  • plerzelwupp

    plerzelwupp

    Ich weiß auch nicht – sämtliche Cache-Plugins bzw Tools, die WP beschleunigen sollen, bereiten an anderer Stelle in meinem Blog Probleme. W3 total Cache z.B. im WP-Frontend, wenn ich einen neuen Artikel schreiben will, oder wenn es darum geht, die mobile-Version des Blogs zu betrachten. Zunächst schien es vorzüglich zu funktionieren. der Blog war tatsächlich erheblich schneller. Doch dann zeigten sich nach und nach kleinere Probleme.

    Dein Tipp hier klingt recht spannend. Bin über Juljas Link hierher gestoßen. Jesses – da muss ich mich erst eindenken und schauen, welche Servermöglichkeiten sich da anbieten würden.

  • plerzelwupp

    plerzelwupp

    Also ich bin jetzt mal so vorgegangen und hab das mal mit der Google App Engine ausprobiert. Ich muss sagen, es klappt soweit ganz gut. Vielen Dank für den Tipp :-)

Anderenorts...

Los geht's, jetzt Dein Kommentar...

Hinweis: SEO-Kommentare landen im Spamordner. Bitte beachte die Datenschutzerklärung vor dem Absenden deines Kommentars - denn durch das Senden akzeptierst du sie. Keine Sorge, dort steht nur das, was der Gesetzgeber im 21. Jahrhundert verlangt. Ich bin einer der Guten.