Google Analytics für WordPress-Blogs

Den Grundsatz-Entscheid, ob man die Zugriffsdaten seines Blogs anderen Leuten anvertrauen mag oder ob man sie lieber auf dem eigenen Server speichert, muss jeder für sich selbst fällen. Ersteres hat Vorteile bezüglich Datenschutz, letzteres spart Speicherplatz sowie Performance auf dem eigenen Server und ist bequemer. Spricht nichts gegen eine externe Datenspeicherung so ist der Schritt zu Google Analytics meist nicht mehr weit. Es ist kostenlos und bietet so ziemlich alles, was das Herz eines Web-Analytikers begehrt.

Den Google Tracking-Code in ein WordPress-Blog zu integrieren ist eigentlich eine simple Sache: Gemäss Empfehlung von Google werden die paar Zeilen JavaScript im Footer untergebracht, und dieser ist bei einem WordPress-Template in der Datei footer.php zu finden. Wer allerdings nicht Hand an sein Template legen will, findet diverse WordPress-Plug-ins, welche diese Aufgabe übernehmen. Hier eine Auswahl:

image

Google Analytics for WordPress von Joost de Valk ist bereits seit einiger Zeit auf Open Mind im Einsatz. Das Standard-Interface (vgl. Screenshot) ist absolut selbsterklärend – in den Advanced Settings gibt es jedoch einige hübsche Konfigurationsmöglichkeiten für Google-Analytics-Spezialisten.

image 

WP Google Analytics von Aaron D. Campbell ist innert Minuten installiert und verstanden. Die Optionen erlauben es, angemeldete Benutzer wahlweise nicht zu tracken, dafür können 404er-Fehler und Suchanfragen bei Bedarf zusätzlich geloggt werden. Von den drei hier vorgestellten Plug-ins ist es insgesamt das einfachste.

 image 

Der Google Analyticator von Spiral Web Consulting bietet wieder etwas mehr Konfigurationsmöglichkeiten. Auch hier kann der Umgang mit eingeloggten Backend-Usern gezielt gesteuert werden. Einige andere Optionen sind wieder eher für Spezialisten gedacht.

Contact Form 7: Formular-Plugin für WordPress

image

Noch immer bietet WordPress standardmässig kein Kontaktformular, über das man die Blog-Autoren kontaktieren könnte. Abhilfe schafft beispielsweise das Plug-in Contact Form 7. Damit lassen sich beliebige Formulare erstellen, deren Inhalt dann an eine definierbare E-Mail-Adresse verschickt wird. Sogar Attachments sind möglich. In Verbindung mit den beiden Plug-ins Akismet (im Lieferumfang von WordPress) und Really Simple CAPTCHA ist auch für ausreichend Schutz gegen Spam gesorgt.

Wie obiger Screenshot zeigt werden die einzelnen Formularelemente über einen Assistenten (rechts) generiert. Das fertige Formular präsentiert sich dann als HTML-Code mit Platzhaltern für die Felder (links). Das wirkt auf den ersten Blick etwas rudimentär und technisch, erlaubt es aber, sehr direkt auf die Gestaltung des Formulars Einfluss zu nehmen. Auch mit rudimentären HTML-Kenntnissen kommt man so zu Ziel. Das Konzept hat zudem den Vorteil, dass man diesen Code leicht kopieren und in einem anderen WordPress-Blog wiederverwenden kann.

Fazit: Contact Form wirkt auf den ersten Blick simpel, kann aber alles, was es braucht. Dass man letztlich Code schreibt, empfinde ich nicht als Nachteil, weil man so sehr genau kontrollieren kann, wie das Formular gerendert wird. Und dass Contact Form 7 auf wordpress.org schon fast 300’000 Downloads verzeichnet, spricht für sich.

Google Blog Converters: Blogs auf eine andere Plattform migrieren

image

Dass man eine einmal gewählte Blog-Plattform nur ungern wieder verlässt hat auch damit zu tun, dass es je nach dem schwierig bis unmöglich sein kann, die Artikel und Kommentare seines Blogs zu migrieren. Google stellt nun unter der Bezeichnung Blog Converters eine Anzahl von Konvertern für populäre Blog-Systeme zur Verfügung (vgl. Tabelle). Diese Konverter sind Python-Skripts, welche entweder über die Command Line, über einen Windows-Batch-Job oder gehostet auf der Google App Engine ausgeführt werden – ein GUI gibt es dafür leider nicht. Die Google Blog Converters unterliegen der Apache-Lizenz.

image

Wie heise.de meldet soll in Zukunft unter anderem auch das offene XML-Blog-Format blogML unterstützt werden. Dieses ist ein interessantes Konzept, wurde allerdings – bedingt durch den Militärdienst des Hauptentwickler Keyvan Nayyeri – in letzter Zeit kaum mehr weiterentwickelt. Das Format benutzt eine BSD-Lizenz.

Broken Link Checker: Tote Links in WordPress-Blogs aufspüren

image

URLs haben die unangenehme Eigenschaft, gelegentlich zu ändern. Dies führt dazu, dass Links auf diese URLs ins Leere laufen, d.h. mit einer "Page Not Found"- oder gar einer "Server Not Found"-Meldung quittiert werden. Das kann man zwar nicht ganz verhindern, aber indem man die Links auf seiner Website regelmässig überprüft, kann man zumindest die Fehlerquote niedrig halten. Nur: Selbst bei einer kleinen Website ist das eine zeitraubende und mühsame Aufgabe, und bei einer grossen Website ist eine manuelle Überprüfung schlicht unrealistisch.

Für WordPress gibt es mit dem Broken Link Checker ein Plugin, das diese Überprüfung automatisch macht und alle toten Links im Backend auflistet. Dort kann man dann sehr bequem die URLs korrigieren oder die Links entfernen. Ein einfaches und höchst effizientes Konzept.

In der Praxis hat dieses wunderschöne Plugin allerdings einige Mängel. Einerseits werden gewisse Links als fehlerhaft gemeldet, obwohl sie funktionieren – schuld daran sind möglicherweise Sonderzeichen in der URL. Anderseits funktioniert das direkte Aktualisieren der Links in der oben gezeigten Liste nicht, man muss also in den normalen Artikel-Editor wechseln. Fairerweise muss man allerdings hinzufügen, dass das Plugin offiziell nur für WordPress 2.0.2 bis 2.6.3 freigegeben ist, während ich selbst WordPress 2.7 nutze.

Fazit: Die oben erwähnten Bugs sind zwar massiv, aber man kann sie umgehen. Insofern würde ich sagen: Externe Links mit dem Broken Link Checker zu prüfen ist besser als nichts, und man unterschätzt, wieviele tote Links sich im Verlaufe der Zeit ansammeln.

WordPress 2.7: Neuerungen im Backend

Das nächste WordPress-Release 2.7 steht unmittelbar bevor. Wie obiges Video zeigt, wurde insbesondere das Backend der Blog-Software stark überarbeitet. Es ist dadurch wesentlich übersichtlicher, flexibler und attraktiver geworden. Ich arbeite nun seit genau 4 Jahren mit WordPress, und jedes neue Release hat meinen Eindruck bestätigt, dass diese Software sehr stetig und mit einem guten Blick für das Wesentliche weiterentwickelt wird. Die Ästhetik des Backends und die Übersichtlichkeit der Dokumentation auf www.wordpress.org sind weitere Gründe, weshalb ich meine Wahl nie bereut habe. Das Update 2.7 verspricht hier ein weiterer positiver Schritt zu werden.

Scriblio: (Bücher-)Katalog mit Faceted Search auf WordPress-Basis

image

Je mehr Informationen verfügbar sind, desto schwieriger wird es, die wirklich relevanten Informationen zu finden. Dies gilt umso mehr, wenn man nicht genau weiss, nach welchem Begriff man eigentlich suchen soll, oder wenn dieser Begriff zu unscharf ist und deshalb zu viele Treffer ergibt. Unter diesen Umständen kommt man mit einer klassischen Stichwortsuche, wie man sie von Google kennt, nicht weit.

Ein Konzept, welches dieses Problem lösen soll, ist Faceted Search (auch Guided Navigation, Guided Search oder Search and Navigation genannt), eine ebenso einfache wie wirkungsvolle Filtermethode. Dabei stehen nach der ersten Stichwortsuche geeignete Kategorien zur Verfügung, über welche die Treffermenge per Mausklick eingeschränkt werden kann. Idealerweise gibt das System sogar pro Kategorie an, wieviele Treffer zu erwarten sind – Kategorien ohne Treffer werden gar nicht angeboten. Die Kategorien können unterschiedlichen Gruppen angehören, und man kann auch mehrere Kategorien in Kombination auswählen.

Nehmen wir einen Bibliothekskatalog als Beispiel: Gibt man als Stichwort «Wirtschaft» ein, so erhält man in der Regel eine riesige Treffermenge mit oft wenig spezifischen Treffern. Wenn man dann allerdings die Kategorien «Börse», «Krise» und «20. Jahrhundert» als ergänzende Filterkriterien auswählt, ergibt sich rasch eine überschaubare Liste mit Literatur zur Weltwirtschaftskrise der 1930er Jahre.

Ein System mit einer Faceted Search zu bauen ist nicht ganz trivial. Umso spannender erscheint mir Scriblio, ein auf der Blog-Software WordPress aufbauendes System für Online-Bibliothekskataloge (OPAC) mit Faceted Search. Die Installation ist vergleichsweise einfach und besteht darin, dass man WordPress mit zwei Plugins und einem Theme erweitert. Scriblio wirklich zu verstehen ist dann allerdings eine andere Sache, denn die Datenstruktur eines Buchtitels ist für Nicht-Bibliothekare nicht ganz trivial, zumal die Dokumentation nicht allzu umfangreich ist.

Wer einerseits das Prinzip der Faceted Search besser verstehen und andererseits Scriblio testen will schaut sich am besten den Katalog der Cook Memorial Library oder die Fotosammlung der Brown Company an.

WordPress nachträglich auf UTF-8 umstellen

image

Wie viele andere Web-Applikationen auch hat WordPress das Problem, dass die frühen Versionen noch nicht konsequent internationalisiert waren, sprich die Daten wurden nicht von Anfang als Unicode in die Datenbank geschrieben. Inzwischen ist UTF-8 auch bei WordPress Standard, und wer heute ein neues Blog aufsetzt, braucht sich keine Gedanken zu machen. Wer hingegen ein älteres Blog auf die neuste WordPress-Version aktualisiert, könnte die unangenehme Erfahrung machen, dass Umlaute und andere Nicht-ASCII-Zeichen nicht korrekt dargestellt werden.

Ein Blick in die Datenbank (z.B. mit phpMySQL) offenbart das Problem: Die Kollation der Tabellen steht noch auf «latin1_swedish_ci», während WordPress davon ausgeht, dass die Daten als «utf8_general_ci» in der Datenbank vorliegen. Einfach die Kollation der fraglichen Tabellen umschalten (was man mit einem Tool wie phpMySQL grundsätzlich kann) ist keine Lösung, weil dadurch die bereits bestehenden Daten nicht konvertiert werden.

Ein Blick in die WordPress-Dokumentation zeigt, dass man mit diesem Problem nicht allein ist. Der dort empfohlene Prozess zur Umwandlung von Latin1 nach UTF-8 ist allerdings für technisch weniger versierte Anwender wenig einladend. Einfacher geht es mit dem UTF-8 Database Converter, der ganz einfach als WordPress-Plug-in installiert wird und auf Knopfdruck den gesamten Konversionsprozess abarbeitet.

Wichtig zu wissen:

  • Machen Sie unbedingt zuerst ein Backup Ihrer WordPress-Datenbank.
  • Offiziell unterstützt das Plug-in nur die WordPress-Versionen 2.1.x und 2.2.x (weil zwischen diesen beiden Versionen der Wechsel auf UTF-8 stattgefunden hat). Bei mir hat die Konversion aber auch unter WordPress 2.6.1 problemlos funktioniert.
  • Das Plug-in konvertiert sämtliche Tabellen der WordPress-Datenbank, also auch diejenigen, die von allfälligen Plug-ins angelegt wurden. In meinem Fall blieb dies ohne negative Folgen, aber ich kann nicht beurteilen, ob gewisse Plug-ins damit Schwierigkeiten haben könnten.
  • Je nach Grösse Ihrer Datenbank kann die Konversion einige Minuten dauern. Werden Sie nicht ungeduldig, wenn längere Zeit scheinbar nichts passiert und drücken Sie nicht die Reload-Taste.

WordPress 2.6 verfügbar

Die Entwickler von WordPress arbeiten kontinuierlich an Verbesserungen für das wahrscheinlich populärste Blog-System der Welt. Die neue Version 2.6 bietet unter anderem die Möglichkeit, ähnlich wie bei einem Wiki oder CMS frühere Versionen eines Posts zu betrachten, die Unterschiede anzuzeigen und bei Bedarf einen Rollback durchzuführen. Weitere Neuerungen zeigt das obige Video (englisch, aber mit einem absolut liebenswerten Akzept).

SIMILE Timeline: Visualisierung von Geschichte auf der Zeitachse

image

Als Historiker habe ich mich seit jeher dafür interessiert, wie man eine Abfolge von Ereignissen und Perioden visuell darstellen kann. Und als Informatiker habe ich stets nach Desktop- und Web-Applikationen gesucht, welche diese Ideen auch umsetzen können – bisher mit mässigem Erfolg: WikiTimeLine beispielsweise ist zwar ein interessanter Ansatz, kann aber weder visuell noch in der Bedienung wirklich überzeugen. Und Web-2.0-Produkte wie z.B. CircaVie oder Timeline kommen zwar optisch attraktiv daher, konzentrieren sich aber mehr auf Community-Funktionalität und Gimmicks als auf eine wirklich übersichtliche und interaktive Visualisierung.

SIMILE Timeline dagegen kommt meiner Vorstellung von einer perfekten Lösung schon sehr nahe. Zunächst ist die doppelte Zeitachse mit den unterschiedlichen Zoom-Stufen eine wirklich schöne Idee. Leider nicht selbstverständlich ist auch die Möglichkeit, sowohl punktuelle Ereignisse als auch Perioden zu visualisieren. Sehr hilfreich ist ferner die Möglichkeit (auf obigem Screenshot nicht sichtbar), die Einträge auf der Zeitachse per Volltextsuche zu filtern oder farbig zu markieren. Ein empfehlenswerter Showcase ist die Religion Timeline über jüdische und christliche Geschichte.

Das schönste aber ist: SIMILE ist nicht nur Open Source (BSD-Lizenz), sondern kann auch sehr einfach in die eigene Website eingebunden werden: Alles was es braucht, ist HTML, JavaScript sowie eine XML-Datei mit den darzustellenden Ereignissen bzw. Perioden. Wer schon einmal ein Google Maps Mashup erstellt hat, wird das Konzept von Timeline rasch begreifen.

SIMILE steht übrigens für Semantic Interoperability of Metadata and Information in unLike Environments und ist ein Projekt der University of California in Berkeley.

P.S. Es gibt auch ein SIMILE Timeline Plug-In für WordPress, das es erlaubt, Blog-Artikel anhand ihres Publikationsdatums auf einer Zeitachse zu platzieren. Aus meiner Sicht ist das nicht unbedingt die sinnvollste Anwendung für Timeline – aber eine hübsche Alternative für ein chronologisch sortiertes Blog-Archiv ist es allemal, wie dieses Beispiel zeigt.

runPHP: PHP-Code in einem WordPress-Artikel ausführen

image

WordPress bietet bereits in der Standard-Installation eine reiche Ausstattung, und zusammen mit den unzähligen Plug-Ins bleiben fast keine Wünsche offen. Fast. Denn hie und da bräuchte man eine ganz bestimmte Funktionalität, die aber so speziell ist, dass man dafür nie und nimmer ein Plug-In finden wird. Was tun?

Natürlich könnte man sich hinsetzen und selbst ein Plug-In schreiben. Dies verlangt aber nicht nur PHP-Kenntnisse, sondern auch ein Verständnis der Plug-In-Architektur von WordPress. Das kann man bestimmt lernen, aber der Aufwand dürfte sich in vielen Fällen schlicht nicht lohnen.

image Sofern man zumindest über elementare PHP-Kenntnisse verfügt, gibt es eine Alternative in Form des Plug-Ins runPHP. Dieses erlaubt es, in einem normalen WordPress-Artikel PHP-Code zu schreiben und diesen bei der Ausgabe im Frontend ausführen zu lassen. Eine simple Checkbox entscheidet darüber, ob der PHP-Code nur angezeigt oder interpretiert wird. Mit anderen Worten: Falls die Option «PHP Code ausführen?» aktiviert ist, würde das obige Beispiel im Frontend die folgende Ausgabe erzeugen:

Hello World!

Wäre sie dagegen deaktiviert, so würde WordPress den Code 1:1 darstellen:

<?php echo «Hello World!»; ?>

Dank runPHP kann man sehr einfach kleine Web-Applikationen schreiben und diese direkt in sein Blog einbetten.

P.S. Um Probleme im Zusammenhang mit ausführbarem PHP-Code zu vermeiden sollten Sie unbedingt den WYSIWYG-Editor im WordPress-Backend ausschalten!