Von Drupal nach WordPress

Chris Schaer https://www.flickr.com/photos/webtuefu/2915565124/ (CC BY-SA 2.0)

Chris Schaer https://www.flickr.com/photos/webtuefu/2915565124/ (CC BY-SA 2.0)

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

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.

WordPress Import

AlT Import Drupal

Ich installierte AlT Import Drupal und erstellte, wie vom Plugin gewünscht, in Drupal ein Feed mit allen Blog-Einträgen.

AlT Import Drupal

Dieses Feed speicherte ich als Datei lokal ab und lud es in mein neues WordPress. Alle Artikel waren auf Anhieb da.

03-artikel

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.

04-child-theme

Nach einigen Versuchen mit unterschiedlichen CSS Ansätzen sah das Ergebnis dann folgendermassen aus.

05-novatrend-theme

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.

WordPress - iOS
WordPress – iOS

 

Calypso
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:

  1. Was würdet ihr so Plugin-technisch als „Standardausrüstung“ für ein Blog wie dieses noch empfehlen?
  2. Habt ihr auch schon mal Daten aus einem CMS in ein anderes importiert? Was waren eure Erfahrungen?
  3. 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.

Autor: Hagen Graf

consultant, author, trainer, solution finder, web architect, developer, open source lover, visionary, orator, the good old webmaster. Able to simplify!

9 Gedanken zu „Von Drupal nach WordPress“

  1. Hallo,

    ein Nachteil einiger CM-Systeme ist sicherlich, dass bei jeder neuen Major-Version man alles neu aufsetzen oder zumindest mit Upgrade-Skripten und viel Gefummel portieren muss – ein Aufwand, den ich persönlich sehr scheue. WordPress war immer schon abwärtskompatibel, ich habe da nie irgendwelche Schwierigkeiten bei Aktualisierungen auf neue Major-Versionen erlebt.

    Dennoch ist mir nicht so ganz klar geworden, was die entscheidende Motivation war, von Drupal auf WordPress umzusteigen, denn die Umgewöhnung und Einarbeitung ins neue System sind ja nicht ganz ohne. Aber ich vermute mal, der Umstieg von Drupal 7 auf 8 wäre auch keine Kleinigkeit gewesen. Ich habe mir Verison 8 noch nicht angeschaut, aber schon 6 und 7 waren ja völlig unterschiedliche Systeme.

    Andererseits verstehe ich es auch, wenn man mal etwas Neues ausprobieren möchte, denn bei mir ist auch immer viel Neugierde im Spiel. Und so habe ich Textpattern, Serendipity und FlatPress hinter mir und muss sagen, zum reinen Bloggen ist WordPress einfach von der Bedienung und der Funktionsvielfalt her am besten – obwohl Serendipity ganz dicht folgt. Interessant finde ich auch neuere datenbanklose Blogsysteme. Aber wie gesagt, die Umstellung ist ja immer recht aufwändig. Ein ganz neues Blog mit einem anderen System aufzusetzen, könnte ich mir schon eher vorstellen.

    Der Nachteil von WordPress ist ganz sicher, dass die Installationen ständig angegriffen werden. Erstens ist es natürlich ein wahnsinnig stark verbreitetes System und zweitens sind in vielen Plugins Sicherheitslücken. Es gibt meines Wissens keine richtige Kontrolle darüber, wer welche Plugins in welcher Code-Qualität anbietet. Da gibt es sehr gut programmierte, aber leider auch äußerst schlechte

    Insofern kommt man auch absolut nicht ohne Sicherheits-Plugins aus. Was bei mir immer erste Pflicht ist, sind:
    Antispam Bee, AntiVirus, Limit Login Attempts, Wordfence Security und WordPress Firewall. Zusätzlich sichere ich meine Blogs und die von Kunden noch über diverse Angaben in der .htaccess-Datei ab, sodass Angreifer möglichst gar nicht erst bis an WordPress heran kommen – ich werde wohl demnächst mal einen Blogartikel darüber schreiben. Und natürlich sollte man vorsichtshalber regelmäßig Datenbank-Sicherungen machen, auch dafür gibt es natürlich einige taugliche Erweiterungen, zum Beispiel WordPress Database Backup.

    1. Hallo Torsten, die Motivation zum Umstieg war eigentlich eine ganz Einfache. Als wir das Blog starteten, wollten wir „mal sehen“ in welche Richtung sich das entwickelt. Da Drupal nun wirklich superflexibel ist, nahmen wir es als Basis. Mittlerweile ist klar, dass es in Richtung „reines“ Blogging geht und da liegt WordPress auf der Hand, wie du ja auch sagst.

      Die Sicherheitsproblematik ist ein Thema. Ich versuche, nahe am Core zu bleiben und „aufzupassen“.

      Vielen Dank für die Plugin Tips, die werde ich mir gleich mal ansehen und bin schon gespannt auf deinen Blogartikel.

  2. Ich bleibe bei Joomla! wg. der „Nebenher“-Betreuung mehrerer Websites (irgendwann stehen sonst Aufwand und Nutzen in gar keinem Verhältnis mehr), werde aber gespannt den Umzug und die neuen Erfahrungen mitverfolgen.

    1. Hallo Bernd, das kann ich gut verstehen. Ich selbst nutze meistens Drupal, Joomla oder eben WordPress. Ich hatte mit Joomla etwas experimentiert in Richtung Blog, bin dann allerdings doch zu WordPress zurückgekommen, die ganze Inhaltserstellung ist schon echt gut gelöst.

  3. Hallo Hagen,
    toller Artikel und bisher bin ich vor 9 Jahren von Blogger.com zu WordPress selbstgehostet migriert, was soweit klappte. An die Details kann ich mich aber nicht mehr entsinnen. Ich migriere ungerne CMS, von einer Version zu der anderen oder ganze Blogsysteme. Das liegt mir nicht und ich will es so auch nicht handhaben.

    Nach 9 Jahren WordPress kann ich ruhigen Gewissens behaupten, dass es ein sehr gutes OpenSource CMS ist und schon immer war. Auch ist kein Geheimnis, dass ich etliche andere CMS im Einsatz habe. Darunter sind Joomla, Drupal 7 und 8 und auch PHP Fusion oder der Exote Subrion CMS(gibt es nur auf Englisch). Mit all dem bin ich zufrieden und freue mich immer, wenn ich updaten darf und das System dadurch besser machen kann.

    Plugin-technisch kann ich dir CommentLuv empfehlen. Deine Leser dürfen dann den letzten Artikel aus dem eigenen Blog verlinken. Wäre vielleicht so als Dank an die stetige Leserschaft. Zudem kann kann man sich Contact Form 7 für ein Kontaktformular ansehen, falls du es nicht schon hast.

Kommentar verfassen