Umzug einer WordPress Installation

15. September 2008 - Allgemeine Tipps, WordPress - 17 Kommentare

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

Autor

Moin, ich bin Simon und ehemaliger Betreiber dieses Blogs.

RSS abonnieren

und so weiter...

Kommentare

  • Julia - am 9. Dezember 2008 - Antworten

    Danke! Das hat geklappt :-D

  • Webdesign Berlin - am 18. April 2009 - Antworten

    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 - am 21. September 2009 - Antworten

    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 - am 27. Januar 2010 - Antworten

    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 - am 13. Februar 2010 - Antworten

    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 - am 15. März 2010 - Antworten

    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 - am 24. August 2010 - Antworten

    Super – vielen Dank für die anschauliche Information. Der “Umzug” hat super geklappt!

  • RMBurger - am 18. Februar 2011 - Antworten

    Klasse Erklärung. Ich hatte das Problem mit der GUID Spalte.

  • CD Bandorf - am 15. September 2011 - Antworten

    Hallo Simon,

    tausend Dank für diese Anleitung zum wordpress Umzug. Habe heute sieben Stunden damit gekämpft, meine fertige website vom Mac (unter MAMP) auf meine 1&1 Domain hochzuladen und zu Laufen zu kriegen…

    Deine Anleitung hat sich als einzig nachvollziehbare und vollständige unter all den vielen fragmentarisch und lieblos hingerotzten “Tipps” zu diesem Thema im Netz erwiesen ! Dafür ein besonderes Lob von mir als HTML/php/MySQL-Nicht-Profi !

    Eine kleine Ergänzung:

    Den Austausch der URLs in der MySQL Datenbank habe ich nicht mittels SQL-Befehlen gelöst, sondern
    1.) Die Datenbank aus MySQL exportiert.
    2.) Das exportierte .sql file in Taco HTML Edit mittels Search & Replace bearbeitet, wieder abgespeichert und dann auf dem Server importiert.
    Das war (für mich jedenfalls) einfacher…

    Mit besten Grüßen – CD Bandorf

  • Jürgen - am 26. September 2011 - Antworten

    Super suprrrr.. danke. für die tolle Anleitung..

    Grüße aus München

    Jürgen

Trackbacks

Deine Meinung