Umzug einer WordPress Installation
Bei der Arbeit mit WordPress – sei es professionell oder privat – kommt es ja durchaus mal vor, dass man mit seiner gesamten WordPress Installation umziehen muss. Wir nehmen einfach mal an, dass wir eine WordPress Installation als Entwicklungsumgebung eingerichtet haben. Um z. B. einem Kunden ebenfalls Zugriff zu gewähren, machen wir das Ganze nicht lokal sondern online.
Wie man WordPress mit der Export-/Importfunktion umzieht, erfährst Du im Artikel
Umzug einer WordPress-Installation in 3 einfachen Schritten
Die WordPress Installation ist nun fertig, vom Kunden abgenickt und soll jetzt in das Root-Verzeichnis auf dem Kundenserver. Im folgenden Beispiel berschreibe ich den Umzung einer WordPress-Installation von http://alte-domain.net/dev nach http://neue-domain.de.
Um eine komplette WordPress Installation umzuziehen, müssen wir sowohl alle Dateien als auch die Datenbank auf den neuen Server kopieren und der Installation dann beibringen, dass sie fortan woanders liegt.
Umzug der WordPress Dateien
In unserem Beispiel laden wir uns alle Dateien aus dem Unterverzeichnis /dev auf von unserem alten Server (http://alte-domain.net) per FTP auf unsere Festplatte herunter.
Ist der Download abgeschlossen, können wir uns mit unserem neuen Server (http://neue-domain.de) per FTP verbinden und die Dateien dort (wie in unserem Beispiel gefordert) in Root-Verzeichnis hochladen.
Anmerkung:
Sollte der Umzug auf demselben Server stattfinden, kann man die Dateien auch per WebFTP (wird von manchen Providern angeboten) von dem Start- in das Zielverzeichnis bewegen oder kopieren. Das geht wesentlich schneller als per FTP-Down- und Upload.
Umzug der WordPress Datenbank
Um unsere WordPress Datenbank übernehmen zu können, müssen wir diese zunächst von dem alten Server exportieren, um eine .sql-Datei (zip-, gzip-, bzip- oder unkomprimiert) auf unserer Festplatte abspeichern zu können.
In den meisten Fällen steht uns zur Administration unserer Datenbanken phpMyAdamin zur Verfügung. Im phpMyAdmin wählen wir die entsprechende Datenbank aus, klicken auf den Exportieren-Tab, machen dort unsere Einstellungen und beginnen mit dem Export (s. a. deutsche WordPress Doku).
Der nächste Schritt ist der Import der Datenbank auf dem neuen Server. Hierfür sollten wir uns bereits eine neue Datenbank auf dem neuen Server eingerichtet haben. Diese wählen wir im phpMyAdmin aus und klicken auf den Importieren-Tab, wählen die .sql-Datei aus und klicken auf OK. Der Import der Datenbank wird nun durchgeführt. Danach sollte die Struktur der Datenbank genauso aussehen wie die alte vom unserem alten Server.
Anpassung der wp-config.php
Der Großteil unseres Umzuges ist nun geschafft. Wir haben die Dateien und die Datenbank. Wir müssen WordPress jetzt noch sagen, dass es die Datenbank des neuen Servers nutzen soll.
Hierfür öffen wir die schon bekannte wp-config.php und machen dort unsere Einstellungen für die Datenbank
// ** MySQL settings ** //
define('DB_NAME', 'putyourdbnamehere'); // The name of the database
define('DB_USER', 'usernamehere'); // Your MySQL username
define('DB_PASSWORD', 'yourpasswordhere'); // ...and password
define('DB_HOST', 'localhost'); // 99% chance you won't need to change this value
Anpassung der WordPress Datenbank
Ein sehr wichtiger Schritt fehlt jetzt noch. Und zwar steht in den WordPress Einstellungen, die wiederum in der Datenbank gespeichert sind, immer noch unsere alte Domain http://alte-domain.net/dev. Außerdem speichert WordPress bei vielen Aktionen eine URL ab (z. B. bei Posts und Uploads). Auch bei dem Einsatz mancher Plugins werden URLs abgespeichert.
An all diesen Stellen haben wir jetzt noch die alte URL des alten Servers (http://alte-domain.net/dev) stehen.
An welchen Stellen genau diese noch vorkommt, finden wir am leichtesten über die Suche heraus. Wir wählen also die Datenbank aus und klicken auf den Suche-Tab. In das Eingabefeld geben wir unsere alte URL http://alte-domain.net/dev ein, wählen alle Tabellen aus und klicken auf OK.
Achtung! Im folgenden nehmen wir Änderungen an der Datenbank vor. Behalte also unbedingt die .sql-Datei als Backup, falls etwas schiefgehen sollte.
Das Suchergebnis zeigt uns, in welchen Tabellen wir die alte URL gegen die neue austauschen müssen. Um nun nicht jeden Datensatz einzeln öffnen zu müssen, machen wir das tabellenweise mit Suchen & Ersetzen mit foldendem SQL-Befehl:
UPDATE tabellenname SET feldname =
replace(feldname, suchstring, ersatzstring);
Tabelle wp_options
Am wichtigsten ist zunächst die Tabelle wp_options. Dort wird WordPress bspw. mitgeteilt, welche die Site-URL ist.
UPDATE wp_options SET option_value =
replace(option_value, 'http://alte-domain.net/dev', 'http://neue-domain.de');
Tabelle wp_posts
Die URL kommt außerdem in der Tabelle wp_posts vor (Spalte post_content und guid)
UPDATE wp_posts SET post_content =
replace(post_content, 'http://alte-domain.net/dev', 'http://neue-domain.de');
UPDATE wp_posts SET guid =
replace(guid, 'http://alte-domain.net/dev', 'http://neue-domain.de');
andere Tabellen
Wie gesagt, kann die URL auch noch in weiteren Tabellen auftauchen. Das sehen wir jeweils an dem o.g. Suchergebnis. Wahrscheinlich ist auch ein Vorkommen in der Tabelle wp_postmeta in der Spalte meta_value und eventuell in den Tabellen von Plugins, die Du verwendest.
Fertig
Wenn wir uns durch alle Tabellen gearbeitet haben, ist die WordPress Installation komplett umgezogen. Wir freuen uns!
Wie man WordPress mit der Export-/Importfunktion umzieht, erfährst Du im Artikel
Umzug einer WordPress-Installation in 3 einfachen Schritten


7 Kommentare
Julia - 9. Dezember 2008
Danke! Das hat geklappt
Webdesign Berlin - 18. April 2009
Dank dieser ausführlichen Anleitung konnte ich mein Weblog bereits mehrfach auf eine andere Domain umziehen.
Gibt es eigentlich noch eine andere Möglichkeit die Datenbank zu sichern, außer über das Tool “phpMyAdmin”?
martin - 21. September 2009
hi.
erstmal thumbs up für den tollen beitrag, der bis zum “Suchen & Ersetzen” verständlich ist.
ab dort hab ich leider keine ahnung was ich mit dem sql-befehl machen soll, oder wie?
Sebastian - 27. Januar 2010
Ersteinmal, eine Super Anleitung hast du da… Respekt.
Ich hab nach dem einspielen der SQL-Daten jetzt ein kleines Problem mit den Umlauten.
Die werden nur als Hyroglyphen angezeigt.
Hast du da Erfahrungen damit?
vshop - 13. Februar 2010
Hat nun geklappt. Danke für die Anleitung.
Ich hatte jedoch noch mit den Permalinks zu kämpfen:
Bei einem Server waren, wie ich annehme, sogenannte “Pretty Permalinks” möglich
und somit konnte diese Permalinkstruktur /%year%/%monthnum%/%day%/%postname%/
gewählt werden.
Bei meinem neuen Server funktioniert dies jedoch nicht mehr und ich erreiche den Post nur über:
/index.php/%year%/%monthnum%/%day%/%postname%/
Dort muss irgendwie das index.php stehen.
Verstehe zwra nicht genau weshalb, bin jedoch froh, dass es geklappt hat.
Nils - 15. März 2010
Hallo
Vielen Dank für die tolle Anleitung.
Hat sehr gut geklappt mit einigen kleineren aber lösbaren Problemchen. Ohne deine Anleitung wäre ich aber niemals zurechtgekommen.
Also …Danke und bis bald
Heiner - 24. August 2010
Super – vielen Dank für die anschauliche Information. Der “Umzug” hat super geklappt!
6 Trackbacks