Archiv

Artikel Tagged ‘Wordpress’

Wordpress beschleunigen mit CDN?

24. Februar 2010 Stephan A. 12 Kommentare

Als ich meinen letzten Tapetenwechsel vollzogen hatte, gings auch um den Einsatz eines neuen Cache-Plugins sowie die Auslagerung von Inhalten auf ein CDN. Ich hatte damals versprochen, nach einer gewissen zeit ein Fazit zu ziehen…. nun, hier kommt die Abrechnung:

Die Ordner “wp-content” und “wp-includes” wurden also nach Amazon S3 ausgelagert. Hier gleich ein kleiner Hinweis: wer dort neue Buckets (so heissen die Verzeichnisse bei S3) anlegt, sollte darauf achten, dass die in der Region EU-Ireland zu liegen kommen. Mit dem Firefox-Addon S3Fox geht das zum Bleistift.

Kosten:
Die Preise von S3 schaut man sich am besten hier an – auch dort wieder auf die Region EU-Ireland achten. Mein kleines Blog hat in vier Wochen (inklusive initiales Hochladen der Inhalte) unter 1 US-Dollar (94 Cent) an Kosten verursacht. Also wirklich nicht viel… ist die Frage, ob sich ein Geschwindigkeitszuwachs bemerkbar macht und ob der sich auch lohnt.

Geschwindigkeit:
Mit den Pingdom-Tools habe ich die Hauptseite meines Blog in veschiedenen Zuständen gemessen. Ich denke, dass die Hauptseite eine gute Mischung aus Text und Grafik (ausgelagert) bietet und in etwa repräsentativ für andere Seiten ist. Das sind die aktuellen Messungen:

  • Hauptseite, mit CDN, Cache leer – 2,9 Sekunden
  • Hauptseite, mit CDN, cached – 1,9 Sekunden
  • Hauptseite ohne CDN, Cache leer – 4,4 Sekunden
  • Hauptseite ohne CDN, cached – 2,7 Sekunden

Man sieht einen Geschwindigkeitszuwachs von 25 – 30 %. Naja, das ist jetzt der Wert, nachdem ich ganz heftig Plugins ausgemistet und ausgetauscht habe – davor lagen die Ladezeiten bei 7 – 8 Sekunden, aber im gleichen Verhältnis wie jetzt.

Fazit:
Plugins ausmisten und gegen performantere austauschen bringt (kostenfrei) Performance. Ob einem dann noch ein paar wenige Sekunden Ladezeitverringerung das (zugegeben geringe) Entgelt wert sind, muss jeder selber wissen. Ich schalte mein CDN jedenfalls erstmal nicht ab, sondern suche andere brauchbare Anwendungen für S3. Datensicherung vielleicht? We´ll see…

Achso: die (gfühlt) grössten Performancefresser waren die Plugins

Vermutlich gibts da noch viel mehr Optimierungsmöglichkeiten, aber man will ja in Zukunft auch noch was zu tun haben…

KategorienPosts Tags: , , , ,

AntiSpam Bee als Aksimet-Ersatz?

22. Februar 2010 Stephan A. 17 Kommentare

Hier werkelten bis eben zur Spamabwehr Akismet und NoSpamNX nebeneinander her.

In letzter Zeit habe ich öfter mal gelesen, dass Akismet eine neben der Spamabwehr eher performancebremsende Wirkung hat.  Auch konnte man öfter lesen, dass Antispam Bee von Sergej Müller ein prima Ersatz sein sooll.

Der Test am lebenden Blog ist hiermit eröffnet ;-)

KategorienPosts Tags: ,

Wordpress: Feeds externer Webseiten mit SimplePie einbinden

10. Februar 2010 Stephan A. Keine Kommentare

Letztens fragte frug hat mich ein Kollege gefragt, wie man denn am geschicktesten ein Posterous-Blog in ein Wordpress-Blog einbinden könnte. Dass er grade mich frug gefragt hat, zeigt schon, dass er noch viel weniger von Wordpress versteht als ich. Und das will schon was heissen ;-)

Klar, das normale RSS-Widget hatte ich da schon am Start, das ist auch jetzt unten rechts aktiv. Posterous selber hatte seinerzeit noch die Widgetbox promoted. Das aber war sehr javascriptlastig und werbeverseucht. Vorteil beider Varianten: immer aktuell weil auf RSS bzw. dynamische Abfragen basierend.

Das geht auf jeden Fall besser und zwar mit gleich drei Plugins für Wordpress: SimplePie Core, SimplePie for Wordpress und Exec PHP.

SimplePie Core hat man vielleicht schon installiert, wenn man andere RSS-basierte Plugins verwendet (wie in meinem Fall Postalicious). Auch wenn die SimplePie-Bibliotheken seit Version  2.8 in Wordpress integriert sind (Magpie RSS überigens auch), sollte man sich die Core-Bibliotheken per Plugin installieren.

Was ist SimplePie? Der Quasi-Standard unter den RSS-Parsern. Aha. Ein RSS-Parser ist ein Stück Software, das einen RSS-Feed ausliest, aufbereitet und dann in verschiedenen Formen darstellen kann. Aha!

Gleich drei wichtige Hinweise: RSS-Feed (Posterous) auslesen, aufbereiten damit es nicht nur einfache Listen sind und darstellen.

Die Darstellungsart stellt man nach Installation und Aktivierung der Plugins in den Einstellungen ein oder man übergibt sie später per Aufrufparameter. Ich hab mich für die einfache Variante entschieden und erstmal die generellen Einstellungen angepasst:

Die Option “Blog-Style with Enclosures” im Layout-Template ist entscheidend, denn so wird der externe Feed in voller Pracht eingebunden.

Jetzt braucht man noch das Plugin Exec-PHP, damit wir SimplePie per PHP-Aufruf in eine Seite einbinden können. Wichtig: eine neue Seite oder einen neuen Beitrag unbedingt im HTML-Modus bearbeiten und speichern!

Der Aufruf sieht dann im Falle meines Posterous-Blogs so aus:

<?php echo SimplePieWP(‘http://posterous.aufsfeld.de’); ?>

Das Ergebnis kann unter der Seite WWWahnsinn begutachtet werden.

Und Viktor, zufrieden? ;-)

KategorienPosts Tags: , ,

Mal wieder: Tapetenwechsel

14. Januar 2010 Stephan A. 6 Kommentare

Ein paar Tage krank daheim und schon fängt furzen einem in lichten Momenten komische Ideen durch den Kopf: Tapetenwechsel!

Hier hatte ich ja schon beschrieben, dass sich die Optik im Blog etwas verändert hat. Ich war allerdings nicht wirklich zufrieden mit dem neuen Theme “Mandigo“. Es kam mir dann doch etwas zu überladen und träge daher.

Also musste was neues her: iNove von NeoEase. Schlank und straight.Ein wenig musste ich noch anpassen, aber im grossen und ganzen ist das Theme unverändert.

Das Headerbild sollte mal was ganz anderes sein und ist ein Auschnitt aus einem verunglückten Foto einer Draisinenfahrt geworden. Das Original sieht in Gänze so aus:

Hübsch psychedelisch, gell?

Zu allem Übel habe ich dann auch noch die Ordner wp-content und wp-includes nach Amazon S3 als CDN ausgelagert, wobei die Funktionen des hier beschriebenen Plugins W3 Total Cache genutzt werden.
Das Blog sollte also jetzt rennen wie Hulle – kommt mir auch so vor ;-)

Die Kostenentwicklung bei S3 werde ich im Auge behalten und berichten.

KategorienPosts Tags: , ,

Wordpress: W3 Total Cache

8. Januar 2010 Stephan A. 3 Kommentare

Wordpress -Installationen leben ja auch davon, dass man mit den vielen hübschen Plugins und aufwendigen Themes die Funktionaltät (vermeintlich) ganz toll pimpen kann. Leider leidet darunter auch oft die gefühlte oder tatsächliche Performance.

Tips, um Wordpress zu beschleunigen gibts viele. Der einfachste lautet “Standardtemplate verwenden und alle Plugins abschalten“.

Intelligentere Tips empfehlen das Caching, JS-Scripts und CSS-Statements zusammenzufassen und GZIP-Komprimierung einzuschalten. Noch weiter gehen Vorschläge, seine Bilder usw. auf ein CDN auszulagern. Wenn das alles mal so einfach wäre. Für das alles gibt es verschiedene Plugins, die sich garantiert ins Gehege kommen…

Wer sein Blog etwas individualisieren möchte ohne sich in den Tiefen der Installation mit Hacks von irgendwelchen Scripts und Funktionen herumzuschlagen der wird einfach nur ein Cache-Plugin verwenden.

Ich hatte bisher immer WP-Super-Cache im Einsatz- ein reines Caching-Plugin, das auch GZIP-Komprimierung kann. Jetzt habe ich aber W3 Total-Cache entdeckt, das alle oben genannten Funktionen beinhaltet: es chached Seiten, es “minified” JS und CSS indem es die Anweisungen zusammenfasst und es puffert Datenbankzugriffe. Wer auf ein CDN setzt, der findet darin auch Unterstützung.

Die Performance? Gefühlt besser… ich muss mir mal bei Gelegenheit die Zeit nehmen und die Performance durchtesten. Tools gibts ja genug, z.B. Google Page Speed oder Yahoo! YSlow, die beide auf Firebug aufsetzen.

Screenshots von W3 Total Cache:

Bildquelle: Flickr

KategorienPosts Tags: ,

Ich kam, sah und linkte: 14.11. – 2.12.

3. Dezember 2009 Stephan A. Keine Kommentare

Meine Linksammlung bei del.icio.us: delicious42px.gif

Ich kam, sah und linkte: 20.07. – 28.07.

Wordpress und die FTP-Daten

10. Juli 2009 Stephan A. 4 Kommentare

Aus gegebenem Anlass (gestern kam die Version 2.8.1) heraus:

Seit Version 2.5 kann Wordpress Plugins automatisch aktualisieren. Später kam dann noch die Funktion hinzu, dass Wordpress sich selbst automatich updaten konnte.

Voraussetzung hier wie dort ist aber immer, dass die Plugin- oder Programmpakete heruntergeladen werden. Das macht Wordpress mit FTP und hat die Konsequenz, dass Wordpress in Unkenntnis von Benutzername und Passwort diese Daten abfragt.

Das tut es bei jedem Download und das ist lästig.  Lassen wir mal Sicherheitsaspekte beiseite und machen wir es uns bequem. Frank hat hier wunderbar beschrieben, wie man die Credentials in die Datei wp-config.php einträgt:

define(‘FTP_HOST’, ‘ftp://example.de/’);
define(‘FTP_USER’, ‘example_username’);
define(‘FTP_PASS’, ‘example_passwort’);
define(‘FTP_SSL’, false); //TRUE fuer SLL-Verbindung

Perfekt!

Bildquelle: Flickr

KategorienPosts Tags:

Webspace sichern, heute: Datenbanken

1. Juli 2009 Stephan A. 1 Kommentar

db-dump

Ein recht häufig gelesener Artikel hier (nicht zuletzt dank Caschy) ist eine Anleitung, wie man seinen Webspace per FTP automatisiert herunterlädt und in ein Zip-Archiv schiebt.

Tom hat seine Domain umgezogen und dabei stellte sich folgende Frage:

Was passiert mit den Datenbanken?

Klar, für Wordpress gibts z.B. den WP-DBManager, die meisten Provider bringen PHPmyAdmin mit, mit dem man Datenbanken dumpen kann oder man nimmt den MySQLDumper, der das gleiche komfortabler kann.

Aber wenn man mehrere Datenbanken hat (z.B. in meinem Fall für Sitebar, Fever und eine Foto-Galerie, ggfs. noch einen Webmailer und ein Zweitblog), dann stossen PHPmyAdmin und MySQLDumper schnell an ihre Grenzen, weil man dort immer nur eine Datenbank verarbeiten kann.

Freundlicherweise bietet der Support bei meinem Provider all-inkl für fast alles eine Lösung: auf den Supportseiten findet sich folgendes nette PHP-Script:

<?php

######## einstellungen #############################################

$db_name = “LOGINNAME”;
$db_passwd = “PASSWORT”;

$sql_file = “dump_” . $db_name . “_” . date(‘Ymd_Hi’) . “.sql”;

####################################################################

exec(“mysqldump -u $db_name -p’$db_passwd’ –allow-keywords –add-drop-table –complete-insert –quote-names $db_name > $sql_file”);
exec(“gzip $sql_file”);

$datei = $sql_file . “.gz”;
$link = ‘http://’.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$link = str_replace(basename(__FILE__),$datei,$link);
echo “Downloadlink: <a href=’” . $link . “‘>” . $datei . “</a>”;

?>

Das Ding habe ich mir locker flockig sechs mal nacheinander in eine Datei kopiert und die Zugangsdaten jeder von mir verwendeten Datenbank dort eingetragen. Vor den Dateinamen habe ich ein “dumps” gesetzt” und das entsprechende Verzeichnis per FTP angelegt. So läuft das Skript einfach als bessere Batch-Datei (ja, ich hab keinen blassen Schimmer von PHP!). Bei neuen Datenbanken muss man das natürlich anpassen.

Das PHP-Skript selbst habe ich als “backup.phpx” gespeichert und lasse es über einen Cron-Job von all-inkl einmal die Woche laufen (meine WP-Datenbank sichere ich natürlich intern täglich). Wer noch mehr Cron-Jobs benötigt: http://www.cron-job.org

Natürlich würde jetzt irgendwann der Webspace vollaufen, weil ja die Dumps mit jedem Lauf einen anderen Dateinamen (das Datum, “. date(‘Ymd_Hi’) .”) bekommen.

Da ich wöchentlich mit meinem FTP-Backup den Server abziehe, kann ich hervorragend damit leben, wenn einmal im Monat alle Dumps rausgeworfen werden. Ich habe ja noch die Historie auf meinen lokalen Platten. Das Löschen habe ich mit folgenden PHP-Skrip erledigt:

<?php

foreach (glob(“dumps/*.*”) as $filename) {
echo “$filename size ” . filesize($filename) . “\n”;
unlink($filename);
}

?>

Auch das abgespeichert (del.phpx), als Cron-Job eingetragen und man muss sich keine Sorgen mehr machen ;-)

Ich kam, sah und linkte: 4.06. – 14.06.

Meine Linksammlung bei del.icio.us: delicious42px.gif