Schon länger spiele ich mit dem Gedanken, meine Webseite von Drupal auf WordPress umzustellen. Für die wenigen Funktionen der bisherigen Webseite ist Drupal einfach zu umfangreich und damit auch langsamer als eine schlanke WordPress-Installation (ganz abgesehen davon, dass Google langsamere Webseiten schlechter bewertet als schnelle). Nach kurzem Einlesen war festzustellen, dass mit ein paar zusätzlichen WordPress-Plugins alle Funktionen der bisherigen Drupal-Webseite abzubilden sind.
Laut der Installationsanleitung von WordPress sind nur wenige Schritte nötig, um eine lauffähige Basisversion installiert zu bekommen. Ebenfalls ist eine Variante mit bereits eingebauter deutschen Übersetzung verfügbar. Das klang alles sehr gut. Gesagt, getan, ran an die Installation.
1. Tag
Für einen ersten Test habe ich das WordPress-Archiv in ein Unterverzeichnis der bestehenden Webseite extrahiert, eine neue MySQL-Datenbank und einen neuen MySQL-User eingerichtet und die WordPress-Installationsseite aufgerufen. Alles lief vorbildlich. Vorübergehend noch den Schreibzugriff auf das WordPress-Root-Verzeichnis erteilt (zum Schreiben der wp-config.php) und fertig war die Installation.
Ein Feature musste ich sofort ausprobieren (wohl aus dem Grund, da das in Drupal nur nach mehrtägiger Installation und vielen vielen Fehlermeldungen nur leidlich funktionierte): das Einbinden von mehreren Bildern in einen Artikel. Beim ersten Upload eines Bildes erschien noch ein Hinweis auf die korrekt zu setzenden Berechtigungen für das Upload-Verzeichnis. Anschließend funktionierte das Einbetten aber sofort wunderbar. Ich war begeistert.
Sofort musste ich natürlich auch das Installieren der von mir benötigten Plugins ausprobieren. Dabei erfuhr ich, dass erst einmal ein FTP-User nötig ist, um Plugins und Themes hochzuladen. Die Konfiguration von vsftpd mit FTPS war schnell erledigt. Dann den FTP-User und Passwort in das Formular beim Installieren eines Plugins eingetragen... und... Fehlermeldung: Das Verzeichnis "wp-content" konnte nicht gefunden werden.
Gut. Erst mal schnell Google befragt, welche Einstellung ich da in WordPress wohl noch umstellen müsste. Leider fand ich keine Einstellung, die ich vergessen haben könnte. Ein paar Problemlösungen von offensichtlich WordPress-Erfahrenen wurden angeboten, allerdings meldeten nicht alle Kommentare zu diesen Problemlösungen einen Erfolg. Vielmehr kam es mir bei den Kommentaren der Geplagen eher so vor, als resignierten sie mit zunehmener Thread-Länge. Eine Möglichkeit schien immer zu funktionieren: der manuelle Upload von Plugins und Themes in die richtigen WordPress-Verzeichnisse. Von einem modernen CMS hatte ich mir da allerdings mehr erwartet (Drupal kann das ohne Probleme) und außerdem wollte ich keinen technologischen Rückschritt machen.
Nach dem Ausprobieren verschiedener Lösungsmöglichkeiten wollte sich das Problem bei mir aber so ganz und gar nicht beheben lassen. Ein auch vorgeschlagenes chmod -R 0777 auf die WordPress-Installation schied kategorisch aus! Mit jeder weiteren an diesem Fehler zugebrachten Minute fühlte ich mich immer mehr wie die resignierenden Poster aus den vielen anderen Threads, die ich bisher zu diesem Fehler gelesen hatte. Ergebnis: nach zwei Stunden ohne erfolgreiche Problemlösung habe ich WordPress wieder gelöscht. Unglaublich, dass ein CMS mit so einem Fehler ausgeliefert wird!
2. Tag
Irgendwie war ich nicht zufrieden mit der Situation. Es gibt tausende von WordPress-Installationen. Was war den an meinem Minimalserver so anders? Erster Verdacht: ich hatte WordPress in einem Unterverzeichnis des www-Roots installiert. Vielleicht war das ja schon der Fehler. Also, schnell einen virtuellen Server in Apache eingerichtet und WordPress direkt ins www-Root extrahiert. Bei der Plugin-Installation: Das Verzeichnis "wp-content" konnte nicht gefunden werden. Das gibts doch nicht!
Nach langem Suchen bin ich dann auf eine Lösung gestossen, die ganz am Ende der wp-config.php einzufügen ist und anscheinend eine Funktion in WordPress überschreibt bzw. erweitert:
if(is_admin()) { add_filter('filesystem_method', create_function('$a', 'return "direct";' )); define( 'FS_CHMOD_DIR', 0751 ); }
Der Codeschnipsel sah nicht gefährlich aus und die Installation war eh noch in der Testphase in einem abgeschotteten Verzeichnis. Und welch Wunder: dieser Patch funktionierte bei mir hervorragend!
Jetzt konnte das Testen richtig losgehen, Plugins installieren, konfigurieren, wieder verwerfen. Das Gleiche auch nochmal mit Themes.
3. Tag
Nach dem Einrichten eines ansprechenden Themes und ein paar Anpassungen in demselben ging es daran, Artikel von der "alten" Webseite in WordPress zu übernehmen. Ein direkter Import von Drupal nach WordPress ist noch nicht implementiert. Eine Möglichkeit schien der Import des RSS-Feeds von Drupal zu sein. Allerdings erscheinen in diesem nur wenige Artikel (ich wollte in Drupal nicht mehr suchen, wo das dort einzustellen ist) und außerdem wurde nur Text importiert. Keine Bilder.
Den halben dritten Tag habe ich dann damit verbracht, Perl-Skripte zu schreiben, die die Artikelinhalte von Drupal nach WordPress direkt von Datenbank zu Datenbank übernehmen. Die Bilder habe ich manuell übernommen und dann in den entsprechenden Artikeln angepasst.
Fazit
Wäre der oben beschiebene, extrem frustlastige Fehler nicht gewesen, wäre eine Umstellung in einem Tag machbar.
Klingt für mich nicht wirklich nach einer verallgermeinerbaren Lösung (Perl Scripte schreiben, Bilder manuell einfügen...).
Ich verstehe auch nicht, wieso man vom besten CMS (Drupal!) zu einer viel eingeschränkteren Variante wie WP wechseln will?
Eigentlich ist eher WP langsam, Tendenz steigend je mehr Plugins installiert werden und ob z.B. ein eigener Server existiert oder nur Webspace gemietet wurde. Das bestätigen sogar WP-Experten, wie ich aus persönlichen Gesprächen weiss.
Drupal umgekehrt ist per se modular aufgebaut und überhaupt nicht langsam, selbst mit 30 oder mehr installierten Modulen.
Von den schier uferlosen Möglichkeiten die dieses System bietet, will ich gar nicht erst anfangen.
Überdies besteht ja auch noch die Möglichkeit einen Cache Server einzubinden (z.B. Varnish), man kann APC und Memcache nutzen und, wie Du a.a.St. schon dargelegt hast, von Apache auf Nginx umstellen.
Spätestens hiernach sollte Deine Webseite rennen.. ;-)
Ich wollte beileibe auch keine Diskussion ob Drupal nun besser als WordPress oder umgekehrt ist vom Zaun brechen. Jeder hat so seine Vorlieben und Anforderungen. Ich expermentiere ja selbst seit Kurzem wieder mit Drupal ;)
Der Artikel ist auch schon knapp drei Jahre alt. In Drupal hat sich in der Zwischenzeit sicher viel getan. Mit den entsprechenden Caches und Webservern bekommt man bestimmt fast jedes CMS zum Rennen.
Was mich jedoch immer an Drupal gestört hat, wurde bis jetzt anscheinend immer noch nicht behoben: das Einfügen von mehreren Bildern in einen Artikel ist ein Graus. In WP ist diese Funktion im Kern enthalten und funktioniert intuitiv. Auch Galerien sind im Handumdrehen erstellt. Entweder habe ich da etwas vollkommen übersehen oder das geht in Drupal nur mit mehreren Plugins.