WordPress Umzug

WordPress-Website auf anderen Server umziehen in 3 Schritten

Ich ziehe häufig WordPress-Websites um, meist von meiner lokalen Entwicklungsumgebung (MAMP) auf eine Staging Site des Kunden und von da wiederum auf die Produktivumgebung des Kunden. Dabei habe ich mir im Laufe der Jahre einen Workflow angeeignet, der für mich gut funktioniert und auf den ich mich verlassen kann. Letztendlich sind es eigentlich nur 3 Arbeitsschritte:

  1. Sicherung auf Quellserver
  2. Wiederherstellung auf Zielserver
  3. Anpassungen

Ich gebe zu, es gibt noch ein paar Teilaufgaben und es sind eher 3 Aufgabenbereiche und nicht 3 Arbeitsschritte. Ich gehe bei folgender Beschreibung davon aus, dass eine lokale Website auf einen entfernten Server umgezogen wird. Und los geht’s.

Voraussetzungen:

  • Alle Zugangsdaten (FTP, MySQL, Verzeichnisschutz etc.) liegen vor
  • Neue Domain und Zielverzeichnis sind eingerichtet
  • MySQLDumper ist auf beiden Servern installiert
  • Es arbeitet niemand mehr am Quellsystem (ggf. Plugin für Wartungsmodus installieren)

Noch ein Wort zum MySQLDumper: ich ziehe diesen dem PHPMyAdmin vor, da er bei der Wiederherstellung großer Datenbanken das PHP-Skript-Limit (max_execution_time, meist 30 Sek.) umgehen kann und in der Handhabung auch etwas übersichtlicher und einfacher ist.

Schritt 1: Sicherung auf Quellserver

  • Die Datenbank auf dem Quellserver wird mit der Backup-Funktion des MySQLDumper gesichert und die Backup-Datei auf dem Desktop abgelegt.
  • Die Dateien müssen beim Umzug von einem lokalen Server nicht gesondert gesichert werden. Sie liegen im Webserver-Verzeichnis /htdocs/meine-website/.
  • Beim Umzug von einem entfernten Server auf einen anderen werden einfach alle Dateien per FTP heruntergeladen.

Schritt 2: Wiederherstellung auf Zielserver

  • Die Datenbank wird im (entfernten) MySQLDumper zunächst über die Seite “Verwaltung” oder über FTP hochgeladen und über die Seite “Wiederherstellung” in die neue, leere Datenbank kopiert. Bitte darauf achten, dass links im Menü unter “Datenbank wählen” die richtige (neue) Datenbank ausgewählt ist.
  • Die Dateien werden via FTP in das Zielverzeichnis des entfernten Servers kopiert.

Schritt 3: Anpassungen

  • In der Datei wp-config.php im Rootverzeichnis der WordPress-Installation werden die neuen Datenbank-Zugangsdaten eingetragen.
  • Base-URLs ändern: mit dem MySQLDumper werden in der neuen Datenbank in der Tabelle wp_options die Optionen “siteurl” und “home” editiert und die neue Domain eingetragen. Aus http://localhost:8888/meine-website/ wird also beispielsweise http://meine-website.de/.
  • Jetzt kann man sich bereits unter http://meine-website.de/wp-login.php einloggen und schon mal schauen, ob alles läuft.
  • Da WordPress an einigen anderen Stellen in der Datenbank weitere absolute URLs speichert, ist es notwendig, auch diese zu aktualisieren. Es reicht allerdings nicht aus, einfach nur via Search and Replace die alte Domain mit der neuen zu ersetzen, da WordPress viele Daten serialisiert in der Datenbank ablegt. Ein zuverlässiges Tool zur Anpassung der URLs ist das WORDPRESS (AND OTHERS) SEARCH AND REPLACE TOOL, welches die Serialisierung berücksichtigt. Theoretisch könnte man die vorherige manuelle Änderung der Base-URLs auch überspringen aber ich habe mir diese Arbeitsweise angewöhnt um bereits vor der umfangreichen Datenbankanpassung zu sehen, ob es eventuell Fehlfunktionen gibt, die aus einer fehlerhaften Datenübertragung resultieren.
  • Aufräumen: das Search & Replace Tool muss unbedingt wieder gelöscht werden. Wenn man den MySQLDumper nicht mehr benötigt (z.B. für Backups oder sonstige DB-Arbeiten) kann man auch diesen wieder löschen.

Das war’s!

Bonus: Wenn man auf Quell- und Zielserver SSH-Zugriff hat, kann man die WordPress-Dateien auch via SSH packen, die Datei per FTP übertragen und auf dem Zielserver über SSH wieder entpacken. Geht wesentlich schneller und ist weniger fehleranfällig.

Und wie macht ihr das?

Tipp: Du möchtest deine WordPress-Website umziehen und bist noch auf der Suche nach einem passenden Webhosting-Paket? Dann empfehle ich dir meinen Beitrag Webhosting für WordPress, in dem ich erkläre, was man bei der Auswahl eines Webhosting-Paketes beachten soll. Angebot: Ich habe schon viele WordPress-Websites inkl. Domains umgezogen und kann gern behilflich sein. Informationen zu meinen Leistungen gibt es auf der Seite Leistungen im Überblick.

Quelle Icon

44 Kommentare zu “WordPress-Website auf anderen Server umziehen in 3 Schritten

  1. Michael

    Wieder mal eine interessante Seite gefunden hier, gute Arbeit Matthias. Super Anleitung wenn man händisch umziehen möchte. Ansonsten habe ich auch schon per Plugin migriert. “BackupBuddy” wer es kostenpflichtig mag. Oder “Duplicator” wer auf kostenlose Plugins steht. Wären auf jedenfall zwei Alternativen für Menschen die nicht ganz so technik-affin sind :-)

    Antworten
    1. Matthias Beitragsautor

      Danke! Ja, da gibt es auch einige Plugins bzw. Dienste, die bei der Migration helfen können. Mit ManageWP würde es auch gehen. Aber ich hab mir halt diese manuelle Arbeitsweise angewöhnt.

      Antworten
    1. Matthias Beitragsautor

      Hallo Sascha, Danke! Deine Vorgehensweise ist ja fast identisch. Guter Workflow halt. ;) Nur dass bei dir die Anpassung der absoluten URLs (z.B. bei Bildern im Content) nicht erwähnt ist.

      Antworten
  2. Horst Gräbner

    Hallo Matthias!

    Also ich kann das Plugin Duplicator wirklich sehr empfehlen. Habe gerade eben wieder eine XAMPP Installation geklont und dann auf einen 1+1 Server hochgeladen. Einfach phantastisch. Ein Problem könnte es geben, wenn die Größe des gezippten Klons einen gewissen Wert übersteigt und das laufende Script bei 1+1 einfach abgebrochen wird, ich glaube nach max. 60 Sekunden, aber die “Wiederbelebung des Klons noch nicht abgeschlossen ist.

    Internette Grüße aus Köln
    Horst

    Antworten
    1. Matthias Beitragsautor

      Hallo Horst! Da gibt es sicher von Provider zu Provider große Unterschiede. Wäre interessant zu wissen, wie groß die ZIP-Datei beim jeweiligen Provider sein darf. Bei größeren Webprojekten mit vielen Inhalten stößt man da sicher schnell an Grenzen. Da hilft dann mein FTP/MySQLDumper-Workflow wie oben beschrieben.

      Antworten
  3. Paul Engst

    Ich gehe (im Moment) meistens den anderen Weg. Das Backup meines Produktivsystems spiele ich in einem VmWare-Image ein.
    Die Sache mit dem Anpassen der URLs löse ich anders. Nämlich über die “hosts”-Datei von Windows und einem kleinen PowerShell-Script. In der hosts trage ich für die echte URL die IP des VmWare Images ein. Somit kann ich über den normalen Domain-Namen mit dem Testsystem arbeiten und muss nichts in der DB umstellen. Um auf Nummer sicher zu gehen das ich nicht versehentlich auf dem falschen System arbeite habe ich in Chrome eine kleine Extension die mir die IP der aktuellen Domain anzeigt.
    Mit dem Powershell-Script tausche ich modifizierte hosts automatisch aus.

    Antworten
  4. Pascale Beier

    Wenn schon auf beiden Servern SSH da ist, können die Daten ganz schnell über rsync übertragen werden.

    Einfach rsync auf beiden Servern installieren und man erspart sich den FTP-Upload.

    Gruß,
    Pascale

    Antworten
    1. Matthias Beitragsautor

      Das ginge dann aber nur auf Root-Servern und sowas haben vermutlich die wenigsten. Auf Virtual oder Dedicated Servern ist rsync aus Sicherheitsgründen meist nicht installiert und selbst installieren kann man da nichts.

      Antworten
  5. Henning Uhle

    So, da gebe ich nun auch meinen Senf dazu.

    Im Prinzip bin ich genau so vorgegangen, wie du es beschrieben hast. Ich habe das alles mal in zwei Artikeln dokumentiert:

    - vor dem Umzug: http://www.henning-uhle.eu/in-eigener-sache/in-eigener-sache-webseite-zieht-um-und-koennte-kurz-nicht-verfuegbar-sein
    - nach dem Umzug: http://www.henning-uhle.eu/in-eigener-sache/in-eigener-sache-webseitenumzug-abgeschlossen

    Bislang funktioniert alles soweit. Also hatte ich Glück. :-D

    Antworten
  6. Pingback: WordPress-Website auf anderen Server umziehen in 3 Schritten | PabstWP | Blog bullebu

  7. Hans

    Ich nutze schon lange das Plugin “Duplicator” für Umzüge von lokalen Installationen und oft auch im Internet.
    Dazu gibt es von mir eine ausführliche Anleitung zum Umzug von einem lokalen System, welche sinngemäß auch für Serverumzüge gilt:
    http://www.web266.de/tutorials/wordpress/webmaster-tools/wordpress-umziehen/lokal-ins-internet/umzug-mit-plugin-duplicator.html

    Es ist sinnvoll, vorher einen Testumzug auf eine Subdomain vorzunehmen.
    Die (vorherige) Erstellung einer lokalen Kopie ist hier beschrieben:
    http://www.web266.de/tutorials/wordpress/webmaster-tools/wordpress-umziehen/lokale-kopie-erstellen.html

    Damit kann man nun gefahrlos Umzüge testen, z. B. auf Subdomains.

    Antworten
  8. Pingback: Move | Pearltrees

  9. monogo

    Hallo,

    vielen Dank für die übersichtliche Anleitung in wenigen Schritten.
    Bei mir steht demnächst ein Umzug an, werde mich an Deine Anleitung halten.

    Grüße
    Joachim

    Antworten
  10. Walter

    Hi Matthias,
    danke für Dein kurzes und klares Tutorial. Das mit der Serialisation war mir bisher nicht bekannt. Ich arbeite immer mit phpMyAdmin. Dort suche ich die alten Einträge und tausche sie mittels SQL-Befehlen (UPDATE) aus. Ich habe mir ein kleines Skript geschrieben, so dass es Ratz Fatz geht. Bisher habe ich keine Probleme gehabt. Im Gegenteil. In welchen Bereichen der Datenbank wird von WP serialisiert?

    Grüße
    Walter

    Antworten
    1. Matthias Beitragsautor

      Z.B. in der Tabelle wp_options. Such da mal nach deiner Domain und du wirst viele Einträge finden, die so aussehen: {s:18:"http://pabstwp.de/";}. Die Zahl 18 gibt hier die Länge (Index) des Strings an und diese stimmt beim Umzug auf eine andere Domain dann u.U. nicht mehr, wenn man nur die Domain sucht und ersetzt. Dabei können z.B. Widgets verloren gehen.

      Antworten
  11. Juri

    super info! Danke!

    für ftp übertragungen nutze ich filezilla, und stelle dort immer sofort nach der installation den simultanuous transfers runter auf 1. mag evtl. ein paar millisecs länger dauern, aber ich hatte immer mal probleme mit “bereits vorhandenen Dateien” während eines uploads… nur mal so als hinweis

    Antworten
  12. Chri

    Hallo Matthias,
    mir ist noch nicht klar, ob mir der Beitrag hier hilft. Meine Situation ist folgende: Ich habe einen kostenlosen Blog bei WordPress (noch im Aufbau) und habe mir jetzt eine .de-Domain für wenige Euro bei United-Domains gesichert (aus SEO-Gründen, damit Keywords auch in URL vorkommen). Mein Ziel ist, eine kleine Website mit einigen Unterseiten aufzubauen, um für Nischen-Keywords zu ranken (in meinem Fall: um mein Angebot für Gitarrenunterricht populärer zu machen). Da ich mit WordPress vertraut bin und mir die Möglichkeiten dort reichen, könnte ich mir vorstellen, dass mit WordPress zu machen.
    Ich frage mich jetzt aber: Soll ich von meiner Domain auf WordPress umleiten oder umgekehrt von den einzelnen WordPresseiten auf die Domain aus SEO-Zwecken? Bringt mir die Domain überhaupt was, wenn die Website inkl. Unterseiten alle mit WordPress gemacht sind?
    Oder anders gesagt: Wie schaffe ich es, dass Google a) den Inhalt meines WordPressblogs mit b) der .de-Domain zusammen indexiert?
    Danke falls du Rat weißt! Christoph :)

    Antworten
      1. Chri

        Hallo Matthias,
        danke für den Tipp. Ich werde das dann wohl so machen müssen, auch wenn ich dachte, die paar Euro für die Domainregistrierung würde die einzige Investition bleiben. Was wird denn mit meinen Unterseiten des Blogs passieren? Müsste ich dafür extra was einrichten oder werden die automatisch angepasst oder alle nur an die Hauptdomain geleitet?
        VG Chris

        Antworten
  13. Hajo

    Hallo Matthias,
    super Anleitung, insbesondere, wenn man mit der 2 MB-Upload-Beschränkung von Strato kämpft. Habe die mit MySQLDumper gesicherte Datenbank (5 MB) per FTP auf die neue Domain übertragen und von dort wiederum mit MySQLDumper zurück gesichert. WP ebenfalls per FTP übertragen, Search und Replace durchgeführt und es funzt.
    Herzlichen Dank
    Hajo

    Antworten
  14. Sascha Peters

    Wer nicht manuell in der Hosts arbeiten will, und auch Zugriffe auf weitere Links und Google Analytics sehen will, der könnte sich einfach mit Fiddler helfen. Diesen trägt man als Proxy ein, sieht dann welche Domain aufgerufen wird und man kann direkt in Fiddler auch die Hosts (nur in/über Fiddler) ändern. So kann man eventuell auch Zugriffe auf andere Domäne finden, 404er sehen und andere Performance dinge abschätzen.

    Fiddler ist da echt nett… Eine Kombination aus allem ist je nach Fall sicher nett. :-)

    Antworten
  15. Thomas

    Hallo Matthias,
    bin froh, dass ich diesen sehr interessanten Beitrag gefunden habe – doch finden und verstehen (bzw. sich trauen) ist nicht das gleiche …
    Ich habe bei HE zum einen ein WebPack mit vier verschiedenen WordPress Seiten und einen WebServer Basic.
    Will nun mit diesen Seiten auf den WebServer “umziehen” – die Domain´s der Seiten bleiben also gleich. Habe aber Angst, dass ich beim Umzug Fehler mache und dann z.B. die bisherigen URL nicht mehr stimmen ??

    Antworten
    1. Matthias Beitragsautor

      Wenn die Domains gleich bleiben und du nur die Daten und die Datenbanken unverändert umziehst, solltest du eigentlich keine Probleme mit den URLs bekommen. Du kannst dann den Punkt mit den Search & Replace Tool unter Schritt 3 weglassen.
      Wenn du den Umzug nicht selbst durchführen möchtest, schreib mir doch mal eine Mail über das Kontaktformular.

      Antworten
  16. Michael

    Moin,
    ich finde dieses Plugin wirklich klasse nur hab ich zurzeit arge Probleme mit Duplicator,wenn ich ein neues Archiv erstellt hab und diese einspielen möchte lade ich ja erstmal die beiden Datein(20140320_MEINNAME_532bd805cfa321899140321061117_archive.zip +installer.php) auf meinen Server und rufe nun die installer.php auf(meine-domain.de/installer.php) komischerweise klappt dies in letzter Zeit nicht mehr es kommt eine weiße Seite mit eine ganze Menge wirren Zeichen.Kann mir vlt ein Tipp geben woran das liegen könnte?

    Antworten
  17. Michael

    Hallo Hans,
    Das werde ich gleich mal probieren wenn ich von der Arbeit komme. Vielen Dank für den Tipp. Das komische es hatte ja gut funktioniert aber nun nur noch Probleme. Ich check das später mal ab.

    Antworten
  18. Michael

    So ich denke ich hab den Fehler gefunden, es lag wahrscheinlich an die zu aktuelle Php Version 5.5.9 alle erstellten Backups mit duplicator unter der Php version gingen nicht nun mit der Php version 5.4 läuft es wieder ohne Probleme.

    Antworten
  19. Jan

    Hallo zusammen. Ihr habt mir bisher bei meinem Serverumzug sehr geholfen.

    Seit dem Serverumzug versendet WordPress nun aber keine eMails mehr. Kann mir da jemand sagen woran das liegen könnte ?

    Antworten

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *