von Movable Type zu WordPress wechseln und was es zu beachten gilt

Hier stapeln sich mittlerweile die imaginären Blätter mit Notizen für noch zu schreibende Einträge. Ich fange mal mit den nervigen Details an. Wer von MT möchte, hat umso mehr zu tun, je stärker MT verändert und je besser die Seite bei Suchmaschinen wie Google indiziert ist. Sofern man nicht völlig auf Page-Ranks und Co. verzichten möchte, empfiehlt sich eine sorgfältige Planung. Die mögliche Änderung der URLs ist von zwei Seiten lösbar. Entweder ahmt man die alten URLs im neuen System nach, oder man arbeitet mit dem Rewrite-Modul vom Server, fängt somit Anfragen auf alte URLs ab, um sie anschließend auf die neuen Adressen umzuleiten.

Für mein Beispiel hatte ich es sehr einfach. Ich habe schon einmal intern mit Movable Type meine URLs geändert. Weg von unlogischen URLs im Stil von „/03285503eintrags_titel.html“ zu lesbaren und logischen „/archiv/jahr/monat/eintrags-titel.php“. Um diese Struktur in MT zu erhalten, brauchte es mehrere Plugins und zusätzlich eine .htaccess-Anweisung. Diese Struktur mit WordPress zu übernehmen, ist ein Leichtes, bis auf eine winzige Kleinigkeit.

Mein Movable Type verwaltete Bindestriche im Titel anders, als jetzt WordPress. Einer der wenigen ersten Google-Links zur Seite, findet, wer bei Google nach „paladin makros“ sucht. Die angebotene URL lautet wie folgt. Exakt meine alte von Google so indizierte und von Movable Type geschriebene URL.

…/patch-20-der-tag-danach-und-paladinmakros.php

Der exakte Titel lautet „Patch 2.0 – der Tag danach und Paladin-Makros“. Aus diesem Titel macht WordPress:

…/patch-20-der-tag-danach-und-paladin-makros.php

Mein träges Auge, sah den kleinen Fehler, den MT produzierte erst jetzt. Im Gegensatz zu MT, interpretiert WordPress den Bindestrich im Titel korrekt, MT jedoch kann damit wenig anfangen und wirft das Zeichen beim Erstellen der URL weg. Folglich haben sich alle URLs mit einem Bindestrich im Titel verändert und müssen manuell in WordPress korrigiert werden. Kein Drama, aber aufwändig.

Feeds und 404s

Die URLs einer Feeds haben sich auch geändert. Da die Masse der Leser nur über die Feeds informiert wird, ist es wichtig, hier einen nahtlosen Übergang zu den neuen URLs zu schaffen. Wie immer führen viele Wege nach Rom und viele Wege sollten man auch nutzen.

Als erstes habe ich vorm Wechsel ein letztes Feed-Update geschrieben, dass über die neuen URLs informieren sollte. Mit etwas Glück, aktualisieren dann schon viele Leser ihren RSS-Reader. Da dies aber keine 100% sichere Lösung ist, habe ich zusätzlich die alten Feed-URLs mit einem .htaccess-Redirect, zu den neuen Adressen leiten lassen. Theoretisch sollten somit auch die alten URLs weiter aktuelle Daten bekommen. Mein erster Eindruck sagt mir, das klappt ganz gut.

Einfach wäre hier natürlich ein Wechsel zu einem Service wie Feedburner oder auf die RSS-Funktion von WordPress zu pfeifen und wieder selbst eine statisches File von WordPress mit der alten URL schreiben zu lassen.

Erstellen eines WordPress Themes

Das modulare System für Templates, hatte ich auch in Movable Type schon, denn dank PHP ließen sich auch dort Teile des Quellcodes global verwalten. Neu dagegen war WordPress‘ nicht ganz so tolle Vermischung von Form und Inhalt.

Mit MT’s Tag-System lassen sich auch wirklich nur die reinen Daten abfragen, dies machte MT so einsteigerfreundlich. WordPress dagegen mischt teilweise Quellcode in die Datenbankabfragen mit hinein. Mein Paradabeispiel dafür ist mein aktuelles Archiv, noch eher spartanisch, aber es erfüllt seinen Zweck. Diese Listen brauchten eine ganz spezielle Code-Struktur. In MT sah der Code vereinfach so aus:


<MTCategories>
<$Kategorie-Titel$><$Anzahl der Einträge$>
</MTCategories>


the loop

Einfach aber effektiv. Jedes Content-Tag MT’s, gibt nur wirklich seinen Inhalt aus, ohne großes Drumherum. Den gleichen Aufbau in WordPress zu reproduzieren war schwieriger. WP arbeitet in seinem Tag-System anders. Oft zitiert „the loop“, ein Begriff der umschreibt, wie man mit WP Contenabfragen an die Datenbank formulieren muss.

Man stelle sich eine große Bibliothek vor. Zwei Leser wollen ähnliche Bücher ausleihen, beide suchen ein Kochbuch um ein asiatisches Gericht zu kochen. Unser erster Leser ist Movable Type. Er kennt den Titel des Buches und weiß genau, was er möchte, er schreitet durch die Bibliothek, auf der Suche nach seinem Buch.

Der zweite Leser ist WordPress. Er ist ungeduldiger hat weniger Zeit und greift so alle Bücher ab, die irgendwie sein gewünschtes Thema betreffen. Statt wie Movable Type das richtige Buch zu suchen, nimmt er alle Bücher mit, die irgendwas mit Kochen zu tun zu haben, um eventuell später das richtige dabei zu haben. Er findet auch das passende Buch, er ist auch wieder schneller aus der Bibliothek heraus als MT, aber er muss viel mehr Bücher mit nach Hause schleppen.

Statt wie oben beschrieben, lautet der Code für WordPress:


<?php wp_list_categories(); ?>


Was so viel einfacher aussieht hat einen Haken. WordPress-Tags leben von den Variablen den man ihnen mit gibt. Der zweite Haken, man hat über den Code der Ausgabe in den eigentlichen Templates absolut keine Kontrolle und wird gezwungen tiefer in die Ordnerebene von WordPress vorzudringen. Wer mit der Standardausgabe von WP unzufrieden ist bekommt doppelte Arbeit.

Am Ende hat man schon wie bei MT auch absolute Kontrolle über die Form der Ausgabe, aber man bearbeitet mehr einzelne Text-Files, als bei MT, was bei einem größeren Update der Plattform zu neuen Problemen führen dürfte.

Noch fehlen mir die wirklichen Ideen, wo „the loop“ seine Vorteile ausspielen kann. Ich bin mittlerweile dabei wieder alle Artikel mit Tags zu versehen. Ich hab da eine Idee, bei der „the loop“ sich beweisen muss.

der erste Eindruck

Der Gesamteindruck bleibt jedoch positiv. Der Wechsel vollzog sich schließlich weniger mühevoll, als ich erwartet habe. Die wenigen Kleinigkeiten werden auch noch ausgemerzt. Schon jetzt ist WP bei der Performance MT überlegen. Die große Nutzerzahl von WP garantiert einen schier unerschöpflichen Strom an mal mehr, mal weniger sinnvollen Plugins.

Für mich war primär wichtig, bei der Gestaltung mehr Spielraum zu bekommen und insgesamt mal eine neue Plattform nutzen zu müssen. Man lernt ja nie aus und MT war von mir ziemlich ausgeschöpft. Auch die ersten Schritte mit MT verliefen eher nach dem Trial&Error Prinzip. Ich bin noch lange nicht fertig, was hier jetzt zu sehen ist, ist das Ergebnis der ebenfalls ersten Schritte mit WordPress. Auch die WordPress-Version meiner Seite, wird sich kontinuierlich verändern.

Diesem Eintrag werden dann reine gestalterische Artikel folgen. Geplant sind bisher 3 Themen. Ein Abriss zum neuen Raster, einer separater zur Typografie und ein abschließender zum Thema Code-Struktur/Barrierefreiheit.