WordPress umziehen: WordPress auf eine neue Domain übertragen

WordPress auf eine neue Domain übertragen

Eine neue Domain, ein besserer Webspace-Provider oder ein eigener Server: Es gibt viele Gründe für den Umzug einer WordPress-Installation. Bei der Migration gibt es jedoch einige Fallstricke zu beachten. In dieser Schritt-für-Schritt-Anleitung wird gezeigt, wie der Umzug so bewerkstelligt werden kann, dass danach alles genauso funktioniert wie vorher.

Warum WordPress nicht einfach so umgezogen werden kann

Eine WordPress-Migration erfordert etwas mehr als die reine Übertragung der Daten. Es ist nicht möglich – wie bei anderen CMS wie etwa Joomla oder Drupal üblich – einfach die Dateien und die Datenbank ohne Änderungen in die neue Installation zu übernehmen.

Das liegt daran, dass WordPress sowohl die Domain als auch den Pfad der Installation auf dem Server nicht nur in den Konfigurationsdateien, sondern auch in der Datenbank speichert. Dies kann nicht einfach in den WordPress-Einstellungen überschrieben werden, sondern die Datenbank selbst muss geändert werden, bevor sie in die neue Installation übernommen wird.

In einigen Anleitungen für den WordPress-Umzug wird empfohlen, die Datenbank als Textdatei im SQL-Format herunterzuladen und in einem Texteditor über die Suchen-und-Ersetzen-Funktion Domain und Installationspfad zu ändern. Dies führt aber oft zu Problemen. Besonders in größeren Installationen funktionieren bestimmte Plugins oft nicht mehr oder die Theme-Einstellungen werden zurückgesetzt.

Der Grund: Domain-Name und Serverpfad werden serialisiert in der Datenbank gespeichert. Das heißt, die Länge von Pfad und Domain wird ebenfalls gesichert. Versucht man also, einfach die Domain oder den Serverpfad anzupassen, dann stimmt nachher die Anzahl der Zeichen nicht mehr. Ein Beispiel: http://meinblog.de/ hat 19 Zeichen. Nach einer Änderung auf http://mein-neues-blog.de/ sind es 26. Zu allem Übel werden in der Datenbank auch Varianten der Domain wie beispielsweise http://meinblog.de/feed gespeichert, die wiederum eine andere Länge besitzen.

s:5:"titel";b:0;s:3:"url";s:21:"http://meinblog/feed/";s:4:"link";s:19
:"http://meinblog.de/";
s:5:"titel";b:0;s:3:"url";s:28:"http://mein-neues-blog/feed/";s:4:"link";s:26
:"http://mein-neues-blog.de/";

Alle diese Angaben können in einer großen Installation zehntausendfach in der Datenbank vorkommen. Da die erforderlichen Änderungen manuell äußerst aufwändig wären und fehleranfällig sind, ist es am besten, eine automatisierte Lösung zu finden. Glücklicherweise gibt es ein – in der Basisversion kostenloses – WordPress-Plugin, das die Aufgabe ohne großen Aufwand löst.

Der Umzug Schritt für Schritt

Schritt 1: Dateien migrieren

Als erstes steht die Migration der WordPress-Installation an. Die Dateien werden zunächst lokal auf dem eigenen PC gespeichert und dann auf den neuen Server hochgeladen. Dies erfolgt am besten mit einem FTP-Programm. Eine kostenlose Software, welche diese Aufgabe hervorragend erledigt, ist FileZilla.

FileZilla Oberflaeche

Das FileZilla-Hauptfenster hat zwei Spalten: In der linken ist ein frei wählbarer Ordner auf dem lokalen PC zu sehen, in der rechten die Installation auf dem Webserver. Um die WordPress-Installation herunterzuladen, wird einfach das Server-Verzeichnis, in dem WordPress installiert wurde, mit der Maus von der rechten in die linke Spalte in den gewünschten Ordner gezogen. Wichtig: Die alte Installation noch nicht löschen, sie wird in den nächsten Schritten benötigt.

Der Upload auf den neuen Server geschieht genauso, nur natürlich von der linken aus in die rechte Spalte. Das Verzeichnis auf dem Server, in das die Installation hochgeladen werden muss, unterscheidet sich von Provider zu Provider, heißt aber meist public_htmlhtml oder www.

Der Umzug kann einige Zeit in Anspruch nehmen. Gerade bei großen WordPress-Installationen fallen oft mehrere Gigabyte Daten an. Natürlich kann für die Migration auch ein anderes FTP-Programm oder bei entsprechenden Kenntnissen die Kommandozeile verwendet werden.

Schritt 2: WP Migrate DB installieren

WP Migrate DB ist ein WordPress-Plugin, das in der Datenbank die oben genannten Domain- und Serverpfad-Angaben auf die neuen Werte umstellt. Es passt dabei automatisch die Zahl der Zeichen an. Das Ergebnis wird in einer SQL-Datei gespeichert, die auf den PC heruntergeladen und dann einfach auf den neuen Server importiert werden kann.

WP Migrate DB kann über die Plugin-Suche von WordPress installiert oder von der offiziellen WordPress-Webpräsenz wordpress.org heruntergeladen werden. Die Basisversion ist kostenlos und reicht für einfache Umzüge aus. Das Plugin ist nach der Installation im Dashboard-Menü unter Werkzeuge – Migrate DB auffindbar.

Schritt 3: Datenbank anpassen und herunterladen

Nachdem WP Migrate DB aufgerufen wurde, wird eine Plugin-Seite mit drei Reitern oder Tabs angezeigt: MigrateSettings und Help. Unter dem Reiter Migrate werden die für den Umzug erforderlichen Daten eingegeben.

wordpress-umzug-migrate-db-migrate-reiter

Auf der Migrate-Seite sind zwei Spalten – Find und Replace – mit jeweils zwei Formularfeldern zu sehen. Links stehen Domain und Serverpfad der alten Installation, rechts müssen die Daten der neuen angegeben werden. Bleibt die Domain gleich und nur die Installation wird auf einen neuen Server umgezogen, den Domainnamen einfach übernehmen.

Gibt der Provider den kompletten Serverpfad nicht auf seiner Oberfläche an, so kann dieser über eine sogenannte PHPInfo-Datei herausgefunden werden. Dazu eine kleine Textdatei mit dem Namen phpinfo.php erzeugen. In diese über einen Editor den kurzen Code-Schnipsel

<?php phpinfo(); ?>

eintragen und sie über das FTP-Programm in das Verzeichnis der neuen WordPress-Installation hochladen.

Die PHPInfo-Datei kann danach sofort über den Browser unter der Adresse http://meine-neue-domain.de/phpinfo.php aufgerufen werden. Es erscheint eine Reihe von Angaben. Der gesuchte Pfad ist der Wert der Variable „_SERVER[„DOCUMENT_ROOT]“. Dieser muss in Migrate DB unter Replace eingegeben werden.

wordpress-umzug-wp-migrate-db-advanced-options

Nun können eine Reihe zusätzlicher Optionen angegeben werden. Dazu den Punkt Advanced Options anklicken und aufklappen. Beispielsweise können temporäre Daten und als Spam markierte Kommentare entfernt werden; dadurch wird die Datenbank-Datei kleiner.

Wichtig sind noch die Punkte Save as file to your computer und Compress file with gzip ganz oben. Der erste Punkt sollte auf jeden Fall per Haken angewählt werden. Bei der Komprimierung kommt es darauf an, wie groß die Installation ist. Bei einem kleinen bis mittleren Blog ist es besser, den Haken zu entfernen und damit eine unkomprimierte Datenbank-Datei zu erhalten. Das vermeidet mögliche Kompatibilitätsprobleme beim Upload. Bei einer großen Website kann es vorteilhaft sein, die Datei zu komprimieren.

Nachdem alles fertig ist, auf den Button Migrate klicken und damit den Exportvorgang starten. Am Ende des Vorgangs kann die Datenbank-Datei auf den lokalen PC heruntergeladen werden.

Schritt 4: Datenbank-Datei in neue Installation importieren

Für den Import der Datenbank in die neue Installation empfiehlt sich das Tool phpMyAdmin. Es wird von den meisten Webspace-Providern bereits gestellt. Auf einem eigenen Server oder vServer kann es kostenlos installiert werden.

wordpress-umziehen-phpmyadmin

Unter dem Reiter Importieren kann die Datenbankdatei hochgeladen werden. Dazu unter Zu importierende Datei auf Datei auswählen klicken und die Datei angeben. Wurde diese komprimiert und phpMyAdmin akzeptiert das gzip-Format nicht – dies ist von Provider zu Provider unterschiedlich – muss die Datei erst auf dem lokalen PC entpackt werden.

Bei großen Datenbankdateien ist es möglich, dass der Importprozess während des Uploads abbricht. Hier gibt es zwei Möglichkeiten:

  • Bietet der Provider einen SSH-Zugang mit Linux-Kommandozeile an, so ist es möglich, die Datenbankdatei darüber zu importieren. Dazu zuerst die Datenbankdatei per FTP auf den neuen Server hochladen. Dann per SSH in das Verzeichnis mit der Datenbankdatei gehen und folgenden Befehl eingeben:mysql -u MySQL-Benutzername -p Datenbankname < Dateiname
  • Ist kein SSH-Zugang vorhanden, bietet das kleine Programm MySQLDumper Abhilfe. Dieses wird auf dem Webspace per FTP installiert und dann über den Browser aufgerufen.

Schritt 5: Konfigurationsdatei anpassen

WordPress benötigt nun die neuen Zugangsdaten für die Datenbank. Dazu im Basisverzeichnis der WordPress-Installation die Datei wp-config.php mit einem Texteditor aufrufen. Dies funktioniert entweder über die Provider-Oberfläche oder über ein FTP-Programm wie FileZilla.

// ** MySQL Einstellungen - Diese Zugangsdaten bekommst du von deinem Webhoster. 
** //
/** Ersetze datenbankname_hier_einfuegen mit dem Namen
mit dem Namen der Datenbank, die du verwenden moechtest.
 */
define( 'DB_NAME', 'dein_datenbank_name');
/** Ersetze benutzername_hier_einfuegen 
mit deinem MySQL-Datenbank-Benutzernamen.
*/
define( 'DB_USER', 'dein_datenbank_benutzer');
/** Ersetze passwort_hier_einfuegen 
mit deinem MySQL-Passwort.
 */
define( 'DB_PASSWORD', 'dein_passwort' );
/** Ersetze localhost mit der MySQL-Serveradresse.
*/
define( 'DB_HOST', 'localhost' );

Konkret müssen der Datenbankname unter DB_NAME, der Datenbankbenutzer unter DB_USER und das Passwort unter DB_PASSWORD eingetragen werden. Diese Daten sind meistens über die Benutzeroberfläche des Providers abrufbar, etwa bei cPanel und ähnlichen Lösungen. Ansonsten sind sie auch in phpMyAdmin zu finden.

Schritt 6: Domain umziehen (optional)

Dieser letzte Schritt ist notwendig, wenn die Domain beibehalten wird und nur die Installation auf einen anderen Server oder Webspace verschoben wurde. Er wird über die Website des Domain-Providers vorgenommen.

Die Vorgehensweise ist hier bei jedem Domain-Provider unterschiedlich und sollte dort in den Hilfe-Seiten beschrieben sein. Grundsätzlich muss dabei die IP-Adresse des neuen Servers angegeben werden. Diese sollte vom Webspace-Provider auf der grafischen Oberfläche bereitgestellt werden.

Fazit

Der Umzug einer WordPress-Installation ist zwar etwas komplizierter als bei einigen anderen CMS, aber mit etwas Planung kein Problem. Eigentlich gilt es nur die Hürde der Pfade in der Datenbank zu umschiffen. Wenn die hier gezeigten Schritte ausgeführt wurden, sollte alles wieder genauso funktionieren wie in der alten Installation.