20. Januar 2012 / WordPress
In WordPress hochgeladene Bilder vom CDN ausliefern lassen
Mit CorelCDN und einem Eintrag in die htaccess-Datei lassen sich Bilder, Videos etc. eines WordPress-Blogs vom CDN ausliefern.
Statische Elemente einer Webseite sollten bestenfalls von einem Content Delivery Network (kurz CDN) ausgeliefert werden – die geografisch vorteilhafte Positionierung der Knotenpunkte sorgt dabei für spürbare Performance. In einem der Artikel wurde Google App Angine als möglicher CDN-Kandidat vorgestellt, in WordPress würden für diesen Zweck programmierte Plugins die Übertragung der Medien auf den Google-Server übernehmen: Der Upload geschieht selbsttätig im Hintergrund, der Blogger kümmert sich um keine Details. Soll die Herrschaft über die eigenen Daten jedoch nicht verloren gehen, so gibt es mit CoralCDN dennoch eine elegante Alternative, CDN auf schlaue Art (also ohne direkte Uploads auf “Fremdserver”) zu nutzen.
Datenabgleich zwischen Blog und CDN
CorelCDN gehört zu den ältesten Netzwerken mit kontinental verstreuten Rechnern. Im Grunde genommen ist CorelCDN nichts anderes als ein Webproxy, welcher die Anfragen entgegen nimmt, zwischen speichert und bei Anforderungen aus dem Cache des Netzwerkes ausliefert. Es reicht aus, eine beliebige Datei im Web mit der Internet-Adresse von CorelCDN zu verknüpfen. Bei erstem Aufruf der – einem Muster entsprechenden – URL holt sich der Dienst automatisiert die angeforderte Datei auf eigene Server und bewahrt diese zwecks Verteilung für einen bestimmten Zeitraum auf. Wiederholte Requests auf die gespeicherte Datei würden ab dem Punkt nicht mehr vom eigenen Webspace, sondern aus dem Cache des CDN kommen.
Das Prinzip überzeugt: Beim Hochladen in WordPress müssen die Daten nicht auch noch manuell auf weitere entfernte Server übertragen werden, um Teil eines CDN zu werden (und dabei im Blog verbleiben). Auch können Bilder, Videos und andere Medien auf eigenem Webspace jederzeit verwaltet, ersetzt oder gelöscht werden, ohne eine entsprechende Kopie bei CorelCDN pflegen zu müssen. Erstaufruf z.B. eines Bildes sorgt beim Dienstleister für eine vollautomatische Synchronisierung des Inhalts – entsprechend lang dauert auch die allererste Darstellung des Bildes, weil das Element erst in den Cache befördert werden muss (Initialaufruf).
Unkomplizierte Umleitung auf CDN
Um CorelCDN im WordPress Blog verwenden zu können, reicht eine an die eigenen Pfade angepasste .htaccess Datei im uploads Verzeichnis. Vorgehensweise: Datei anlegen, den Schnipsel von unten einfügen, den Pfad zu uploads editieren, per (S)FTP hochladen. Weitere Schritte sind nicht notwendig. Ab dem Zeitpunkt kümmert sich der CDN-Hoster um die Abbildung der Bilder.

.htaccess Datei im uploads Ordner der WordPress Instanz
Quelltext der Datei .htaccess
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !^CoralWebPrx
RewriteCond %{QUERY_STRING} !(^|&)coral-no-serve$
RewriteRule ^(.*)$ http://%{HTTP_HOST}.nyud.net/wp-content/uploads/$1 [R,L]
Fazit
Blogger, die auf der Suche nach einer Cookie-losen Domain für statische Elemente (CSS, JS, Images etc.) sind und nebenbei Traffic einsparen wollen, für sie ist CorelCDN eine Überlegung wert. Professionelle Webautoren mit überdurchschnittlich vielen Besuchern sollten allerdings auf den kostenlosen CDN verzichten – Beschränkungen wie maximal 50 MB große Dateien (Stichwort Videos), mehrere Hundert GB am Tag und eine Cache-Dauer von nur 5 Minuten machen den Dienst für anspruchsvolle Projekte weniger attraktiv.
Sergej Müller ist enthusiastischer Software Engineer mit Schwerpunkten Webentwicklung, Apps und WordPress. Seit 2007 programmiert und vertreibt er wpSEO, das zugkräftige SEO-Plugin für WordPress-Blogs.