Früher oder später ist es so weit: Der Kunde wechselt den Hoster und die WordPress-Installation soll vom einen Server zum anderen umziehen. Oder eine neu entwickelte Seite liegt in einer lokalen Umgebung (localhost) und soll auf den Server hochgeladen werden.
Wer nur die Inhalte von Beiträgen und Seiten vom einem ins andere Blog transferieren möchte, kann auch mit der WordPress-internen Import/Export-Funktion sein Glück versuchen. Eine Anleitung dazu findet Ihr hier.
WordPress auf dem neuen Server installieren
Zuerst müsst Ihr Euch die Daten des neuen Servers besorgen, die Ihr für die Installation von WordPress braucht. Das ist der Name der Datenbank, der Datenbank-Nutzer, das Passwort für die Datenbank und die Host-Bezeichnung.
Dann installiert Ihr WordPress auf dem Server, auf den die Seite umziehen soll. Die Installation ist nicht schwer: WordPress in 5 Minuten installieren.
WordPress-Seite samt Datenbank umziehen
Wenn man die Seite mit allen Einstellungen bewegen möchte, reicht der Weg über den XML Export/Import nicht aus. Die Einstellungen von PlugIns oder die Theme-Options würden verloren gehen und auch die Widgets erscheinen nicht im neuen Backend. Das heißt, man muss die komplette Datenbank mit allen Inhalten sichern und in die neue WordPress-Installation wieder einlesen.
Aus dem WordPress-Backend heraus hat man keinen Zugang zur Datenbank. Dazu muss man auf eine andere Oberfläche wechseln. Normalerweise ist die Datenbank über das Kundenmenü Eures Providers erreichbar. Wenn Ihr Euch dort anmeldet, findet Ihr sehr wahrscheinlich ein Tool namens PHPMyAdmin vor. Damit kann man die Datenbanken verwalten und bearbeiten.
In PHPMyAdmin wählt Ihr die Datenbank aus, die Ihr bewegen wollt und klickt auf „exportieren“. Es erscheint meist ein Formular, in dem Ihr noch weitere Einstellungen machen könnt, beispielsweise den Datenbank-Dump komprimieren, z.B. als .zip-Datei. Diese Datei wird anschließend auf Eurem Rechner gespeichert. Nach dem Entpacken solltet Ihr eine Datei mit der Endung .sql haben. Diese Datei könnt Ihr dann in die neue Datenbank importieren. Das funktioniert ebenso über PHPMyAdmin und über den Button „importieren“. So weit die Theorie.
Der Teufel liegt im Detail
Wenn beide Installationen unter demselben Domainnamen laufen und Ihr in beiden Fällen dassselbe Datenbank-Prefix benutzt habt, ist es damit getan. Sind die Namen aber unterschiedlich, weil der erste Server zum Beispiel eine lokale Installation ist (localhost) und der zweite Server einen ganz normalen Domainnamen hat (beispieldomain.de), muss man diese Angaben in der sql-Datei ändern, genauso, wie Ihr das Datenbank-Prefix anpassen müsst.
Ihr könnt das in einem Texteditor machen und die URLs per Suchen & Ersetzen austauschen. Oder Ihr verwendet das Plugin Search and Replace von Frank Bültge. Damit kann man die Änderungen direkt aus dem WordPress Backend machen.
Jetzt könnt Ihr die sql-Datei in die neue Datenbank importieren. Möglicherweise müsst Ihr davor die Datenbank-Tabellen der neuen Installation leeren. Die Daten würden so oder so überschrieben.
In manchen Fällen werden nicht alle Daten transportiert. Dann fehlen beispielsweise die Widgets und ihre Inhalte. Das hat den Grund, dass WordPress diese Daten in einer speziellen Weise abspeichert, das Stichwort heißt „serialized data“. Es wird nicht nur der Inhalt, sondern auch die Länge eines Strings abgespeichert. Hat der neue Domainname eine andere Zeichenanzahl als der alte (aus beispiel.de wird neuesbeispiel.de), kommen die Daten nicht an. Otto (aka Samuel Woods) hat das in einem Thread auf stackexchange erklärt.
Es gibt spezielle PHP-Scripte (zum Beispiel das hier), die dieses Problem beheben. Wie man sie anwendet, ist im oben verlinkten Thread auf Stackexchange erklärt.
Warum kompliziert, wenn es auch einfach geht?
Jetzt mache ich mal ausnahmsweise Werbung für ein PlugIn, das man kaufen muss. Zwar gibt es eine kostenlose Version WP Migrate DB, aber die richtig schicken Funktionen bekommt man erst, wenn man 29$ in die Hand nimmt. Die 29$ ist das PlugIn WP Migrate DB Pro aber allemal wert. Es sorgt für einen reibungslosen Transfer aller Inhalte und Einstellung von einer WordPress-Installation zur anderen.
WP Migrate DB Pro macht einem das Leben denkbar einfach. Mit einem einzigen Klick werden die Daten von einer Installation zu anderen geschickt. Die Übertragung dauert nur wenige Sekunden und es kommt alles, aber auch wirklich alles an. Sogar die Anmeldedaten, also nicht wundern, wenn plötzlich das alte Passwort nicht mehr funktioniert.
Die Entwickler von delicousbrains sind übrigens sehr hilfsbereit und freundlich. Ich habe mir eine Developer-Lizenz geleistet und nutze WP Migrate DB Pro inzwischen bei allen unseren Projekten.
Kommentare
•
Hallo Elisabeth,
danke für die Anleitung. Aber fehlt da nicht ein entscheidener Teil? Ich kann mich ja auch irren, aber irgendwie müssen doch neben der Neuinstallation und dem rückspielen der Datenbank auch die Inhalte via FTP kopiert werden. Ich erinnere mich an zwei Verzeichnisse, die dann nach der Neuinstallation auf dem neuen Server vom alten Server übertragen werden mussten. Bilder, Templates etc. liegen doch nicht in der Datenbank, oder? Oder habe ich das in der Anleitung nur überlesen?
Auch das genannte Plugin, was übrigens jetzt bei 29$ startet, kopiert nur die DB. Würde alles kopiert werden, könnte ich glatt schwach werden :-) Aber 99$ für die Developer, jedes Jahr, dafür habe ich zuwenig WordPress Seiten. Also Handarbeit! :-)
Lieben Gruß
Martin
•
Hallo, Martin,
Du hast natürlich Recht, da fehlt eine Kleinigkeit.
Der Ordner wp-content sollte auch kopiert werden, da sind die Plugins, die Uploads und die Themes drin. Die sind nicht in der Datenbank
Ich werd’s gleich mal ergänzen!
Danke für’s Bescheid sagen.
Schöne Grüße von Kirsten
•
Und was mache ich mit 32mb großen Files, da mecker der WP Importer. Hast Du Rat
•
Ja, mit großen Dateien klappt der Import nicht mehr. Da bleibt nur der Weg über einen Datenbank-Dump. Dazu gibts auch einer Artikel, gleich nach diesem hier.
•
Wir nutzen bei uns auch WP Migrate DB in zahlreichen WordPress-Projekten. Einfach und bequem einen Datenbank-Dump importieren und anschließend das uploads-Verzeichnis runterladen – schon hat man eine nützliche Abbildung der Live-Seite in seiner lokalen Entwicklungsumgebung.
•
Hallo Karl,
wie das uploads Verzeichnis? Ich denke den wp-content Ordner. Ich suche selbst nämlich auch noch eine kostengünstige Software die ein WordPress auf einen anderen Server bringt. Bei Joomla macht dies Akeeba Backup sehr vorbildlich und sogar kostenlos. Auf Wunsch für 40 EUR in der Pro Version. Hier erhält man ein gepacktes File und einen Installer. Dies beides auf den neuen Server spielen, starten, kurz einrichten und fertig ist die Übertragung auf einen neuen Server oder eine neue Domain. So etwas scheint es für WordPress aber nicht richtig zu geben. Das Migrate DB Tool scheint ja nun wirklich nur die DB zu kopieren. Unsere Server haben den PHPMyAdmin in der Verwaltung mit drin, also den reinen Dump zu erstellen und einzuspielen wäre echt das einfachste. Sofern die Domain bleibt, aber das ist hier meist so.
Derzeit nutze ich sogar noch ein Dropbox Backup, aber auch hier wird nur zur Dropbox gespeichert. Alle Daten liegen also sogar dort, inkl. Dump, bleibt also nur noch das hochspielen.
Na vielleicht kommt ja noch einmal ein bequemes Backup/Restore Skript.
Gruß Martin
•
Hallo Elisabeth,
das ist eigentlich eine gute Anleitung. Ich habe schon mehrere Versuche unternommen eine WordPress Seite auf einen neuen Server zu ziehen. Bis jetzt ohne Erfolg. Leider verliere ich alle Plugin-Einstellungen. Z. Bsp. vSlider, price tabel, contactform und mehr! Der Domainname bleibt, es ändert sich nur der Host. Allerdings gibt es eine temporäre URL (http://111.67.5.102/~abacabof/) Woran kann es liegen, dass die Einstellungen der Plugins nicht übernommen werden?
Danke und Grüße, Thomas
•
Hallo Thomas,
danke für Deine Frage. Das Umziehen hat auch immer wieder seine Tücken. ;)
Wie hast Du denn probiert, Deine Seite umzuziehen? Über einen DB-Dump? Wenn Du das noch ein bisschen detaillierter aufschreibst können wir Dir vermutlich einen Tipp geben, warum das nicht klappt.
Beste Grüße,
Elisabeth
•
Hallo Elisabeth,
danke für die schnelle Antwort,
Hier mal in Kurzform, was ich gemacht habe:
1. backup mit wordpress import/export function
2. backup der database via php-myadmin,
3. download des kompletten wp-content ordners
4. auf dem neuen Host WordPress neu installatiert (selbe Version 3.5.1)
5. upload des wp-content folders via ftp auf den neuen host
6. die sql-database via phpMyadmin importiert
7. in der neuen wordpress installation über die import/export funktion die vorher exportierte datei wieder importiert.
Alle Seiten, Bilder, Links usw funktionierten sofort. Die o.g. Settings, Slideshows und Formulare wurden nicht übernommen!
So sollte es aussehen: http://abacaboffice.com/
und so sieht es aus: http://111.67.5.102/~abacabof/
LG
Thomas
•
Ich antworte mal stellvertretend für Elisabeth. Das ist jetzt ein Fall, bei der es schwierig wird mit der Ferndiagnose.
Was mir noch einfällt:
1.Ist das Slider-PluGin für den Slider aktiviert?
2. Kann es sein, dass Du der Startseite noch ein Template (eins, wo der Slider oben drin ist) zuweisen musst?
3. Sind die Inhalte des Sliders (die Slides) beim Umzug mitgekommen? Wenn die fehlen, kann es sein, dass der Slider nicht angezeigt wird.
•
Hallo Kirsten,
ja, der Slider war aktiviert und es sind keine Inhalte mitgekommen. Es sieht im Grunde aus, wie eine Neuinstallation. Alle Seiten haben das richtige Template zugewiesen. Es liegt wahrscheinlich einfach am Plugin… Ich werde wahrscheinlich einfach alles neu anlegen. Den Slider, contact form sowie das tell a friend plugin. Ist zwar nervig und zeitaufwaendig aber geht wahrscheinlich schneller, als den Umzug noch einmal zu versuchen. Obwohl es mich echt aergert ;-)
•
Hallo Elisabeth,
erstmal ein großes Lob für deine klasse Anleitung.
Der Umzug auf den neuen Server hat super geklappt.
Problem ist dass natürlich noch alle Links und Bilder auf den alten Webspace verweisen. Wenn ich mich z.B. in das Backend einloggen will werde ich automatisch auf die Backend-Anmeldeseite von der alten Seite verwiesen. Ich habe also auch nicht die Möglichtkeit eines der von dir oben genannten Plugins zu installieren, Was muss ich machen, damit ich mich in das neue Backend einloggen kann und nicht immer automatisch auf die alte Seite verwiesen werde.
Vielen Dank für deine Hilfe.
Liebe Grüße
Jonas
•
Meine Frage hat sich erledigt.
Ich konnte das Problem lösen indem ich in die wp_config.php folgendes eingetragen habe:
define(‚WP_SITEURL‘, ‚http://www.deine-richtige-adresse.xyz‘);
•
Ich habe eine Superlösung gefunden. Das Plugin XCloner macht (fast) alles allein! Es installiert sogar WordPress auf dem neuen Server. Einfach eine neue Datenbank anlegen und das Plugin erledigt den Rest, übernimmt alle Settings, Linkänderungen usw….
XCloner: http://wordpress.org/plugins/xcloner-backup-and-restore/
Viele Grüße
Thomas