Letzte Woche waren wir bei den World Hosting Days und haben viele interessante Gespräche geführt und Vorträge gehört. Es ging um Services, Plattformen, Infrastrukturen, Verschlüsselung, die Zukunft, das letzte Jahr und all die doch eher abstrakten Themen, die in der Hosting Welt täglich eine Rolle spielen. Ich hatte einen Tag Gelegenheit auf dem Stand des CMS Gardens die Projekte Joomla und Drupal zu repräsentieren. Dabei ergaben sich auch viele Gespräche über Vor- und Nachteile verschiedener Systeme.
Eine gute Gelegenheit, über eigene Erfahrungen und Strategien nachzudenken. Seit Oktober 2014 führen wir das NOVATREND Blog und haben jede Woche einen Artikel veröffentlicht, insgesamt 81. Das Blog ist auf einem „normalen“ Webhosting Paket bei NOVATREND installiert und wir nutzen Drupal 7. Anfang des Jahres 2016 erschien Drupal 8 und auch wir stellten uns die Frage, ob wir updaten oder ob wir mal etwas Anderes ausprobieren. Robert Windisch machte mich dann neugierig mit seinen Erzählungen aus seinem WordPress Alltag (Das macht er schon seit 2012, aber wir sehen uns nicht oft).
Wie du schon vermutest, hat die Neugier gewonnen und ab diesem Artikel läuft das NOVATREND Blog nicht mehr mit Drupal, sondern mit WordPress.
Da du und/oder deine Kunden vermutlich auch oft vor solchen Entscheidungen stehen, möchte ich in diesem Artikel beschreiben, wie ich die „alte Seite“ auf WordPress migriert habe. An dieser Stelle ist noch wichtig zu erwähnen, dass das Drupal Blog gut funktioniert hat. Die Inhalte wurden bei Google gut gerankt und die Bedienung war sehr einfach.
Aber vielleicht kann man das ja noch besser machen 🙂
Von Drupal 7 nach WordPress
Zunächst mal stellte sich die Frage, wie WordPress intern organisiert ist. In Drupal gibt es Inhaltstypen, Felder, Module und viele andere Dinge, die doch recht spezifisch sind. Der Blogpost A Guide for Drupal Developers Migrating to WordPress gibt da eine gute Übersicht.
Für die Datenübernahme habe ich zwei WordPress Plugins
und diese Übersicht gefunden
Die Beschreibung des CMS2CMS Plugins klang erstmal gut. Die Daten der Seite sollten mehr oder weniger komplett übernommen werden. Die Demoversion war auch ganz vielversprechend, aber so richtig klappte die Übernahme dann doch nicht. Vielleicht hätte sich das mit Hilfe des Supports und ein paar beherzten Datenbankbasteleien lösen lassen, aber ich wollte zunächst auch das andere Plugin ausprobieren.
AlT Import Drupal funktioniert sehr einfach. Es liest das RSS Feed des Drupal Blogs ein und erzeugt daraus Artikel in WordPress. Leider werden keine Bilder, keine Kategorien und natürlich auch keine Pfade übernommen.
Wenn ich Dinge das erste Mal mache, tendiere ich dazu, technisch einfache Lösungen, die auf einer sicheren Basis eventuell mehr Handarbeit benötigen, gegenüber technisch komplizierten Lösungen, die zwar Zeit sparen (wenn sie funktionieren) oder extrem viel Zeit kosten (wenn sie nicht funktionieren), zu bevorzugen und so probierte ich mein Glück mit AlT Import Drupal.
Installation WordPress
Ich installierte lokal auf meinem Rechner ein WordPress von de.wordpress.org und löschte die Beispieldaten per Hand.
WordPress Import
In WordPress gibt es bereits standardmässig eine Möglichkeit des Imports aus externen Quellen Werkzeuge -> Daten Importieren. Drupal ist allerdings nicht dabei.
AlT Import Drupal
Ich installierte AlT Import Drupal und erstellte, wie vom Plugin gewünscht, in Drupal ein Feed mit allen Blog-Einträgen.
Dieses Feed speicherte ich als Datei lokal ab und lud es in mein neues WordPress. Alle Artikel waren auf Anhieb da.
Design
Bevor ich mit den Anpassungsarbeiten bei den Inhalten begann, beschloss ich das Theme anzupassen. WordPress kommt jedes Kalenderjahr mit einem neuen Theme, der Name der 2016er Kollektion ist … na … genau … TwentySixteen. Aus anderen Projekten habe ich gelernt, das es durchaus eine gute Idee ist, das jeweilige Core Theme zu nutzen und behutsam anzupassen, weil diese Themes immer dem aktuellen Stand der Technik entsprechen und auf allen Screens angemessen dargestellt werden.
Child Theme
Damit meine Änderungen nicht beim nächsten Update überschrieben werden, erstelle ich ein Child-Theme. Das geht ganz einfach. Im /wp-content/themes/ ein Unterverzeichnis twentysixteenchild anlegen und mindestens eine style.css erzeugen. Ich habe noch eine function.php, eine header.php und das Logo von NOVATREND drin.
Nach einigen Versuchen mit unterschiedlichen CSS Ansätzen sah das Ergebnis dann folgendermassen aus.
Es ist eine Mischung aus Anpassungen in der header.php und der style.css, sowie dem Setzen von Farben in den normalen Anpassungen des Themes.
Redirects
Da sich alle Pfade ändern werden, musste ich mir Gedanken über Weiterleitungen machen. In Drupal hätte ich das in der .htaccess Datei erledigt, aber jetzt habe ich ja WordPress, also gibt es bestimmt ein Plugin für diese Aufgabe.
Quick Page/Post Redirect Plugin
Das Quick Page/Post Redirect Plugin macht genau das, was ich brauche. Wenn jemand auf https://blog.novatrend.ch/node/1 zugreift, wird er auf https://blog.novatrend.ch/ueber-uns weitergeleitet In Joomla ist so eine Funktion übrigens im Core verfügbar, in WordPress ist die Bedienung allerdings einfacher.
Inhalte anpassen
So … nun mal „Butter bei die Fische“.
Ich habe 82 Artikel mit zahlreichen Screenshots (um die 500) und Kategorien (etwa 150). Das ist eine schlechte Zahl. Zu wenig, um etwas zu automatisieren und zuviel um es per Hand einzutippen. Ich muss jeden Inhalt aufrufen, anpassen. Grösster anzunehmender Unfall wären 82 mal 10 Minuten (knapp 14 Stunden Arbeit). Wenn es fix geht, klappt es vielleicht in durchschnittlich 2 Minuten. Das wären knapp drei Stunden Arbeit. Wenn ich jetzt noch eine Stunde darüber nachdenke, sind es mindestens vier, also los, die Seite soll Montag, 21.3.2016 um 9:00 Uhr mit diesem Artikel online sein 🙂
...
#Tastaturgeklapper am Sonntag während es draussen regnet
...
ich beginne an meiner Entscheidung zu zweifeln, lerne aber viel über die Bedienung von WordPress. Die ersten Inhalte habe ich beispielsweise lokal angepasst mit dem Ergebnis, dass ich jetzt beim jedem Bild den Pfad http://localhost stehen haben. Das merkte ich so nach dem 20ten Artikel 🙂
mehr #Tastaturgeklapper
Es ist acht Stunden später, die Site ist nach einigem Erlebnissen mit unterschiedlichen PHP-Versionen und „MySQL-Collation-Holpereien“ online unter blog.novatrend.ch zu erreichen. Fast unnötig zu erwähnen, das natürlich noch nicht alle Artikel „schön“ sind, aber das wird noch. Das ist besonders ärgerlich, weil JetPack ähnliche Artikel vorschlägt und garantiert immer ein noch nicht überarbeiteter Artikel dabei ist.
JetPack/AMP Plugin
Ich habe noch das JetPack und AMP installiert und diverse Einstellungen vorgenommen (siehe zu diesem Thema auch den Artikel: Ein schnelles Web mit Instant Articles, der News App und Accelerated Mobile Pages). Ausserdem erscheint das Blog auch auf dem Telefon in der WordPress App und in Calypso.
Bisher bin ich sehr zufrieden!
Feedback
Nun habe ich das Licht gesehen (siehe Sonnenaufgang oben) und frage euch, die ihr sicher seit gefühlten 750 Jahren ein oder mehrere WordPress Blogs betreibt:
- Was würdet ihr so Plugin-technisch als „Standardausrüstung“ für ein Blog wie dieses noch empfehlen?
- Habt ihr auch schon mal Daten aus einem CMS in ein anderes importiert? Was waren eure Erfahrungen?
- Wollt ihr auch weiterhin lesen, wie die Blog-Entwicklung weitergeht?
tl;dr: Unser Blog wird von Drupal auf WordPress umgestellt und die Daten werden wurden übernommen.
Schreibe einen Kommentar