WordPress-Umzug: Wie das GoLive zu neuer Domain und neuem Server gelingt
Die Entwicklung einer WordPress-Seite findet meist auf einem externen Development-Server statt oder wird direkt lokal entwickelt. Die Schritte sind dabei oft gleich: WordPress wird mit einer dazugehören Datenbank eingerichtet, es werden Themes programmiert oder gekauft, Plugins werden nach Bedarf hinzugefügt und irgendwann steht die fertige Seite. So weit so gut.
Irgendwann sind viele aber an dem Punkt angelangt, dass die Website vom Kunden abgenommen wurde und auf den dazugehören Live-Server – oder auch Production-Server genannt – übertragen werden muss. Bei diesem sogenannten „GoLive“ können Fehler auftreten, die einen viel Zeit und Nerven kosten.
Es gibt insgesamt drei Ankerpunkte, die bei einem GoLive bedacht werden müssen:
- Die .htaccess
- Die wp-config.php
- Die Datenbank.
WordPress-Umzug: Die Vorbereitungen
Das Wichtigste bei einem Umzug ist, den Überblick zu behalten. Dafür bereiten wir jetzt alle wichtigen Schritte vor. Die aktuelle WordPress-Installation von unserem Development-Server kopieren wir in ein lokales Verzeichnis. Denkt daran, dass die .htaccess-Datei auf einem Mac nicht sichtbar ist, da diese mit einem Punkt beginnt. Ihr solltet sie deshalb vorher in _.htaccess umbenennen.
Anschließend loggen wir uns als Admin in die Development-WordPress-Seite ein und installieren das Plugin WP Migrate DB. Nach der Aktivierung dieses Plugins können wir unter Tools > WP Migrate DB einen Datenbank-Export runterladen. Das Besondere dabei: Unter Replace können wir direkt den neuen Server-Pfad und die neue URL angeben.
Natürlich kann ein solches Suchen & Ersetzen auch nachträglich per Hand erfolgen. Nur wer schon mal probiert hat, einen zehn Megabyte großen SQL-Export in einem Editor zu öffnen, stößt schnell an seine Grenzen. Außerdem müssen wir auch an die PHP-Serialization denken. WordPress speichert in der SQL-Table wp_options die Daten als PHP-Serialization. Das heißt, dass hier direkte Objekte als String abgelegt worden sind, die wiederum auch als Angabe die String-Länge beinhalten.
Sollte unsere Domain jetzt länger oder kürzer sein als die, die wir ersetzen, kann es zu Fehlern kommen, da die String-Länge nicht mehr mit dem Inhalt übereinstimmt. Typische Fehler sind fehlende Inhalte von Widget-Bereichen oder Theme-Optionen, die in der SQL-Table wp_options abgespeichert werden. Das Plugin WP Migrate DB aktualisiert automatisch auch die PHP-Serialization.
WordPress-Umzug: Jetzt geht es live
Um jetzt die Webseite auf dem Production-Server bereitzustellen, müssen wir zuerst eine neue Datenbank erstellen. Folgend müssen wir unsere – mit WP Migrate DB runtergeladene – SQL importieren. Sobald der Import abschlossen ist, müssen wir in unserem lokalen Verzeichnis die _.htaccess prüfen.
Hatten wir WordPress auf dem Development-Server in einem Unterverzeichnis installiert, muss in der _.htaccess dieser Pfad angepasst werden. Ein Beispiel für eine saubere .htaccess-Datei sehen wir unter Basic WP.
Direkt auf der gleichen Ebene haben wir auch noch die Datei wp-config.php, in der wir die neue Datenbankverbindung hinterlegen müssen. Geändert werden muss nur der DB_USER, DB_PASSWORD und DB_HOST. Zudem solltet ihr überprüfen, ob noch die alte Site-&-Home-URL hinterlegt ist. Sie kann noch aus der Entwicklungs-Konfiguration stammen und muss auch in die neue Domain abgeändert werden.
Sobald alles in der wp-config.php angepasst ist, können alle Daten auf dem neuen Server bereitgestellt werden. Denkt anschließend daran, die .htaccess wieder umzubenennen.
WordPress-Umzug: Geschafft!
Der WordPress-Umzug ist abgeschlossen und im Idealfall direkt über die neue Domain erreichbar. In dem Ordner auf unserem Schreibtisch können wir noch den Datenbank-Export hinterlegen und als Paket speichern. Weitere Informationen könnt ihr auch im WordPress-Codex erhalten.
Habt ihr noch Fragen oder Probleme?
Mit dem Plugin „Duplicator“ https://wordpress.org/plugins/duplicator/ geht’s noch einfacher.
Das speichert von der WordPress-Installation eine komplette Kopie aller Dateien (inkl. Datenbank) in eine Zip-Datei. Die spielt man auf den Zielserver, führt dort eine mitgelieferte php-Datei aus und gibt da noch die Zugangsdaten der DB an – fertig.
Leider funktioniert dieses Plugin nicht auf allen Hostingpaketen. Ich bin oft an die Grenzen gestoßen, da das Plugin beim Export der Dateien zu viel Arbeitsspeicher verbraucht hat und somit der Export abgebrochen wurde.
Ich kann Otto’s Beitrag nur bestätigen, für mich ist Duplicator bislang das Beste und zuverlässigste Migrationstool für WP Seiten.
Habe ebenfalls schon ein paar Mal Duplicator verwendet. Lief bis jetzt immer reibungslos.
Super! Kannte das Plugin noch gar nicht, habe es auch immer per Hand gemacht, aber so ist ja viel praktischer. Vielen Dank für den Tipp Jonathan! :)
Gerne! :)
Ich muss gerade einige Blogs, die unter Multisite Installation laufen, auf einzelne WP Blogs migrieren. Dafür werde ich dieses Plugin gleich mal testen.
Danke für den Tipp.
„BackWPup“ ist auch ein gutes Tool für so etwas. Mit dem „Duplicator“ hatte ich leider 2x Probleme beim übertragen von 2 verschiedenen WordPress-Seiten.
Hi zusammen, falls jemand von euch Interesse daran haben sollte sein WordPress zu einem anderen Hoster umzuziehen und den Wechsel dorthin kostenlos durchführen lassen zu wollen, haben wir folgendes Angebot für euch: http://bit.ly/1gkYm8z. Schaut vorbei, wir freuen uns auf euch! VG RB-Team
Beim Provider http://www.wp-webhosting.de wird der Umzug von WordPress-Projekten ebenso kostenfrei geregelt. Man muss sich als Kunde um nichts weiter kümmern.
Vielen Dank für diesen Artikel habe den Serverumzug nach mehreren versuchen mit dem Dublicator geschafft…