WordPress vom lokalen Server auf eine Domain übertragen

In den meisten Fällen ist es sehr prak­tisch, eine neue WordPress-Webseite zuerst auf einem lokalen Server anzu­legen. So kannst du auch off­line an deinem Projekt arbeiten und Ände­rungen schnell im Browser testen. Wenn du auf deiner lokalen Version nicht nur das WordPress-Theme erstellen möch­test, son­dern auch Seiten ein­rich­test, Texte ein­fügst, Plugins instal­lierst und Einstellungen in WordPress vor­nimmst ist es wichtig, dass du all diese Einträge später auch auf deine rich­tige Domain umziehen kannst.

Für den Umzug musst du neben den Daten der WordPress-Installation und des Themes auch alle Datenbank-Einträge über­tragen. Da man diesen Exportieren/Importieren-Prozess ja nicht so oft durch­führt, habe ich eine kleine Anleitung ver­fasst, in der ich Schritt für Schritt beschreibe, was für die WordPress-Übertragung von einem lokalen Server auf die Live-Domain nötig ist.

1. Alle Daten via FTP hochladen

Als erstes musst du mit Hilfe eines FTP-Programms (z.B. dem kos­ten­losen Filezilla) alle Daten der lokalen WordPress-Installation auf deinen Online-Server hoch­laden. Dabei ist es wichtig, dass du den rich­tigen, für deine Domain ange­legten Pfad nutzt.

2. Die wp-config.php bearbeiten

Jetzt kannst du dir die wp-config.php (diese befindet sich im Hauptverzeichnis der WordPress-Dateien) auf deinem Computer kopieren. Hier musst du die Angaben deiner Domain und deiner Datenbank aktualisieren.

Die Einträge Datenbankname (define DB_NAME in Zeile 18), Datenbank-Benutzername (define DB_USER), Datenbank-Passwort (define DB_PASSWORD) und in man­chen Fällen auch die MySQL-Serveradresse (define DB_HOST) müssen geän­dert werden.

WordPress exportieren

Die Ände­rungen in der wp-config.php Datei.

Es ist also wichtig, dass du dir für deine Online-WordPress Installation bereits eine neue Datenbank mit Passwort ange­legt hast. Hast du alle Einträge aktua­li­siert, kannst du die wp-config.php Datei über FTP neu hochladen.

3. Die Datenbank exportieren

Nachdem deine WordPress-Daten online sind, musst du im nächsten Schritt die Einträge der Datenbank expor­tieren. Ist die Datenbank nicht unge­wöhn­lich groß, kannst du das Programm PHPMyAdmin für den Export/Import nutzen. Dazu öffnest du über das Menü deines lokalen Servers, das Programm PHPMyAdmin.

WordPress exportieren

So kannst du PHPMyAdmin mit dem Programm XAMPP öffnen.

PHPMyAdmin öffnet sich in deinem Standard-Browser und du kannst die Datenbank der lokalen WordPress-Installation aus­wählen. Hast du die Datenbank ange­wählt, klickst du in der oberen Optionsleiste auf den Button »Exportieren«.

WordPress exportieren

Wichtig ist, dass du alle Tabellen deine Datenbank beim Exportieren mit über­trägst. Deshalb musst du darauf achten, dass du unter »Exportieren«, »Alle Auswählen« anklickst und soalle Tabellen grau mar­kierst.

WordPress exportieren

Dann machst du beim Punkt »Struktur« noch ein Häkchen bei »Füge DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT hinzu«.

Jetzt machst du noch ein Häkchen bei »Speichern«. Dann kannst du den Button OK kli­cken, um die Datenbank zu expor­tieren. Wenn du möch­test, kannst du auch eine kom­pri­mierte Version (z.B. zip oder G-ZIP) zum Export wählen.

WordPress exportieren

Deine Datenbank ist jetzt im Format datenbankname.sql auf deinem Computer gespeichert.

4. Die Datenbank-Datei anpassen

Jetzt musst du deine Datenbank noch anpassen, damit auch deine rich­tige URL ein­ge­tragen ist. Um alle Einträge mit der URL des lokalen Servers (z.B. http://localhost/blog/) mit der URL deiner Domain zu ersetzen, nutzt du am besten einen Texteditor (z.B. den kos­ten­losen Notepad++) und die Suchen/Ersetzen-Funktion.

Wenn du deine .sql Datei im Texteditor geöffnet hast, wählst du also die Suchen/Ersetzen-Funktion und trägst hier die URL des lokalen Servers unter »Suchen nach« und die URL deiner rich­tigen Domain unter »Erstetzen durch« ein.

WordPress exportieren

Die Suchen und Ersetzen-Funktion im Notepad-Texteditor.

Diese aktua­li­sierte Datenbank-Datei kannst du jetzt im nächsten Schritt in deine neu ange­legte Datenbank importieren.

5. Die Datenbank importieren

Hierfür öffnest du wieder das PHPMyAdmin-Programm, diesmal aller­dings über den Zugang deines Online-Servers. Meist fin­dest du den Zugang über das Kunden-Menü deines Hostinganbieters. Wähle deine bereits ange­legte, neue Datenbank aus und klicke auf den Importieren-Button.

WordPress exportieren

Jetzt wählst du die eben bear­bei­tete .sql Datenbank-Datei aus. Nachdem Datenbank-Import sollte jetzt genau die gleiche Anzahl an Tabellen in deiner Datenbank sein, wie zuvor in der Datenbank der lokalen Server-Installation.

Vorausgesetzt alle Über­tra­gungen haben kor­rekt geklappt, kannst du jetzt bereits deine WordPress-Seite online auf deiner Domain auf­rufen. Außerdem kannst du dich wie gewohnt mit dem glei­chen Benutzernamen und Passwort wie auf der lokalen WordPress-Installation über deinedomain.de/wp-login.php in deinem WP-Adminbereich anmelden.

Wichtig ist, dass du in deinem WordPress-Theme Dateien keine direkte URLs ein­ge­tragen hast, son­dern immer die WordPress-Funktion:

<?php bloginfo('url'); ?>

(Mehr Infos zur Funktion blo­g­info im WordPress-Codex).

So ist dein Theme fle­xibel und kann für die unter­schied­lichsten WordPress-Webseiten genutzt werden, ohne dass eine Ände­rung im Code nötig wird.

Ich hoffe, dass diese kleine Anleitung eine hilf­reiche Unterstützung für die WordPress-Übertragung von einem lokalen Server auf die Live-Domain ist. Falls du Fragen, wei­tere Tipps oder Anmerkungen zum Tutorial hast, freue ich mich sehr auf deine Nachricht!

36 Kommentare

    • Ellen

      Hallo Robert,

      vielen Dank für deinen Kommentar und den Hinweis. Ja, den kor­rekten Pfad auch in der Datenbank zu über­nehmen ist auch alle Fälle super wichtig. Sonst klappt die Über­tra­gung der Datenbank natür­lich nicht :-)

      Viele Grüße,
      Ellen

    • Ellen

      Hallo Benedikt,

      wie Tom ja schon in seiner Antwort geschrieben hast, soll­test du das Exportieren/Importieren der Datenbank noch einmal durch­führen und dabei auf die UTF-8 Kodierung achten. Dann sollten die Umlaute eigent­lich ange­zeigt werden können :-)

      Viele Grüße,
      Ellen

  1. Jörg

    Hallo Ellen,

    ich gehe eigent­lich genau so vor, wie Du Eingangs beschrieben hast. Das auch aus dem Grund, dass ich Anpassungen oder neue Plugins immer erst an meiner lokalen Installation aus­pro­bieren kann, ohne mir meine pro­duk­tive Installation zu zerschießen.

    Bis jetzt war ich aber, aus wel­chen Gründen auch immer, zu bequem, mir Gedanken über den Transfer meiner lokalen Installation auf den Server zu machen. Insofern danke ich Dir viel­mals für Deine aus­führ­liche und tolle Beschreibung.

    Spannend wäre es jetzt, dass Ganze »rück­wärts« zu exer­zieren. Das heisst das ich auf diesem Weg doch eigent­lich meine pro­duk­tive Umgebung auch in meine lokale Umgebung beamen könnte … Werde ich auf jeden Fall mal ausprobieren.

    Liebe Grüße
    Jörg

    • Ellen

      Hallo Jörg,

      danke für dein Feedback. Ja, umge­kehrt funk­tio­niert es eigent­lich genauso. Das könnte nütz­lich sein, wenn du eine beste­hende Seite erst einmal lokal über­ar­beiten möchtest.

      Viele Grüße,
      Ellen

  2. Peter

    Hallo Ellen,

    als Erweiterung könn­test Du den Upload/Deploy mit­tels eines Versionierungssystems (GIT oder SVN etc.) noch erklären ;)

    Ich finde man sollte gene­rell Versionierungssystemen nutzen, um effektiv arbeiten zu können. Auch ist das Hochschieben der Dateien um einiges ange­nehmer finde ich.

    Liebe Grüße,

    Peter

  3. Edi

    Vielen Dank für das tolle Tutorial, kam genau zur rich­tigen Minute und konnte es gleich umsetzen. Allerdings habe ich fol­gendes Problem, dass ich bei einem neuen wp-Blog auch sta­ti­sche Seiten ein­ge­fügt habe und diese nach dem Umzug nicht gefunden werden. Habe mehr­mals ver­sucht, die Datenbank rüber­zu­spielen, hat im Grunde alles super funk­tio­niert nach der Anleitung, nur die sta­ti­schen Seiten lassen sich über das Menü nicht anwählen. Könnt Ihr mir viel­leicht weiterhelfen?

    Übri­gens finde ich euren Blog super­klasse. Ich ver­folge seit ein paar Monaten, seit dem ich mich mit WP beschäf­tige eure Site und bin total begeistert.

    Liebe Grüsse
    Edi

  4. Edi

    Habe vorhin einen Kommentar geschrieben, weil die sta­ti­schen Seiten nach dem Umzug auf die Domain nicht funk­tio­nierten. Nach einiger Recherche im Internet habe ich den Tipp gefunden, im Backend bei den »Einstellungen« alle Punkte durch­zu­gehen und überall auf »Ände­rungen spei­chern« zu kli­cken. Das habe ich getan und jetzt funk­tio­niert alles. Nochmals vielen Dank für das tolle Tutorial.

    • Ellen

      Hallo Edi,

      vielen Dank für deine Kommentar, super, dass du es doch noch hin­be­kommen hast und auch gleich deine Lösung hier beschrieben hast. So kann deine Antwort bestimmt auch anderen weiterhelfen :-)

      Viele Grüße,
      Ellen

  5. Dominik

    @Peter

    Versionierung hast du auf Shared Hosting Paketen in der Regel nicht. Mit einem eigenen Server sieht das natür­lich anders aus, aber SVN oder Git auf dem Server laufen haben eben auch nur die tech­nisch etwas ver­sierten und die kriegen das wie­derum eigent­lich auch ohne Anleitung hin :)

  6. Stefan

    Hallo Ellen,

    vielen Dank für den Artikel. Schön dass du hier Licht ins Dunkel bringst. Wie ist das denn mit der Rechtevergabe für dir Dateien? Muss man da etwas berück­sich­tigen? Und gibt es in Bezug auf .htac­cess Besonderheiten? Mir fehlten näm­lich mal die Rechte um Plugins zu installieren.

    Viele Grüße,

    Stefan

    • Ellen

      Hallo Stefan,

      vielen Dank für dein Feedback, es freut mich, dass du die Anleitung hilf­reich fin­dest :-) Eigentlich musst du bei den Dateirechten nichts an der Standard-Einstellung vom WordPress-Download ändern. Wenn es doch einmal Probleme mit den Rechten geben sollte, schau doch einmal den WordPress-Codex Eintrag zum Thema »Changing File Permissions« an. Dieser hilft meist ganz gut weiter :-)

      Viele Grüße,
      Ellen

  7. Peter Klein

    @Dominik:
    Viele Hoster bieten mitt­ler­weile auch Features wie Versionierung an. Und auch vServer werden irgendwie immer beliebter, weil immer bil­liger und mehr Leistung.

    Und es gibt sicher­lich viele, die sich gerne noch das eine oder andere aneignen möchten ;)

    des­wegen meine Idee ;)

  8. Tom

    @Benedikt: Die fal­schen Umlauten kommen sicher von einem Mix aus UTF-8 und ISO beim Ex- und Importieren und Editieren der Datenbank. Da hatte ich auch schon meine Freude mit. Am besten ist, wenn von Anfang an alles auf UTF-8 läuft. Auch die neu zu erstel­lende Datenbank auf dem Server.

    • Ellen

      Hallo Tom,

      vielen Dank für deine Antwort. Du hast Recht, es kann leicht pas­sieren, dass man mit der Kodierung durch­ein­ander gerät und so schnell Fehler auf­treten können. Ich werde den Artikel noch einmal updaten, und einen extra Hinweis zur Kodierung einfügen :-)

      Vielen Dank für deine Antwort und viele Grüße,
      Ellen

  9. Ellen

    @Peter Klein, @Dominik,

    vielen Dank für eure Kommentare zum Artikel. Ja, es könnte sein, dass die Beschreibung mit Hilfe eines Visionierungssystems ein wenig advanced ist. Generell freue ich mich aber natür­lich sehr über alle Tipps und Vorschläge und ich werde mal schauen, ob ich die Idee nicht doch einmal in einem Folge-Tutorial beschreiben kann. Man könnte ja dann beide Anleitungen ver­linken und so findet jeder die pas­sende Beschreibung :-)

    Vielen Dank für eure Vorschläge und viele Grüße,
    Ellen

  10. Peter Klein

    Hey Ellen,

    hast Du selber Erfahrung bei der Arbeit mit Versionierungstools, auch in Verbindung mit WordPress?

    Falls Du Fragen dazu hast, mail mcih ein­fach an ;)

    Liebe Grüße

  11. Mandy

    Danke für die tolle Anleitung. Funktioniert soweit alles wun­derbar, nur habe ich in meiner PHPMyAdmin Version nicht die Option »Zeichencodierung der Datei« wie im Bild oben zu sehen.
    Und beim Download sehe ich nun, dass die Sonderzeichen nicht richtig dar­ge­stellt werden. Gibt’s eine andere Möglichkeit, UTF8 irgendwo zu defi­nieren vor dem Export?

    Danke!

  12. Stephan

    Hallo Ellen,

    habe deine infor­ma­tiven Artikel gerade erst ent­deckt. :)
    Mal eine Frage:
    Wie gehe ich denn sinn­vol­ler­weise vor, wenn ich eine schon exis­tie­rende »nor­male« Website auf WordPress umwan­deln will, WP auch schon par­allel auf dem Server instal­liert habe, aber jetzt doch eher lokal bas­teln möchte (es ist für mich doch kom­pli­zierter als ich dachte :/)?

    Falls die Frage zu sehr ins Detail geht kannst du auch gerne per email antworten.

    Gruß,
    Stephan

  13. Matthias

    Wirklich nette Anleitung, wenn man das bisher noch nicht gemacht hat.
    Kleine Anmerkung: Für WordPress reicht dass natür­lich in dieser Form. Versucht man aller­dings mal mit grö­ßeren Datenbanken umzu­ziehen (Drupal, etc.) rate ich beim Im- und Exportieren per PhpMyAdmin ab und würde dabei eher Tools wie mys­qldumper (mysqldumper.de) nutzen.

  14. Igor

    Hi Ellen,

    vielen Dank für den tollen Beitrag - sehr nütz­lich !
    Ich habe leider _immer_ das Problem das meine Themeeinstellungen nach dem Servertransfer »ver­schwinden«. Diese darf ich dann manuell anpassen …
    Was kann ich da falsch gemacht haben?
    LG, Igor

  15. Peter Klein

    Hallo Ellen,

    oben schreibst Du im Abschnitt, wie man die URL ändert: »Jetzt musst du deine Datenbank noch anpassen, damit auch deine rich­tige URL ein­ge­tragen ist …«

    Jenachdem wie groß eine SQL-Datei ist, kann das schon ganz schön lange dauern im Editor, bis diese geladen ist. u.U. kann dieser auch seinen Dienst ver­wei­gern ( alles schon vorgekommen ).

    Man kann die URL auch recht ein­fach mit­tels eines MySQL Statements ändern, wel­ches so aussieht:

    UPDATE wp_posts SET post_content = REPLACE(post_content, ›alter Wert‹, ›neuer Wert);

    Natürlich sollte man auf den Präfix achten, den man in der wp-config.php ange­geben hat.
    Dieses Statement läuft sehr schnell durch und hilft natür­lich, sofern man ein wenig Ahnung von MySQL hat.

    Sonnige Grüße aus Berlin,

    Peter

  16. Sylvia

    Hallo,
    ich hab das Tutotial abge­ar­beitet, doch PHPmyadmin öffnet sich nicht,
    Fehlermeldung: Error 404
    local­host
    Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1

    local­host ist in der config.inc. als Server angegeben.

    Habe auch keinen Zugriff mehr auf meine wp-Dateien. Ich nehme an, das irgend­eine Konfiguration falsch ist, finde aber den Fehler nicht (habe schon im PHPmyadmin tuto­rial vom webmaster-portal.de und bei den PHPmyadmin Forum geschaut ‚des­wegen - sorry - poste ich jetzt noch mal hier).
    Sylvia

  17. Tom

    404 bedeutet ja, dass die Seite nicht gefunden wird.
    Vielleicht PMA noch mal hoch­laden oder die .htac­cess auf »fal­sche« Umleitungen überprüfen?

  18. Günter Schmitt

    Hallo Ellen,

    zunächst vielen Dank für die exakte Anleitung, die ich prä­zise umge­setzt habe.

    Trotzdem ist der volle Erfolg (noch) aus­ge­blieben. Erreicht ist ledig­lich, dass die Live-Webseite zwar lädt a b e r die Verlinkung noch voll auf den Localhost erfolgt und somit mit einem Fehlerhinweis endet.

    Meine Situation stellt sich im Prinzip wie folgt dar:

    1. wenn ich den localen Datenbankdump mit dem Notepad nach­be­ar­beite und http://localhost/wordpress/ durch meine Life-Url ersetze http://wasserblog.gesundheit-ist-lebensfreude.de dann werden im online--Betrieb uner­war­te­ter­weise sämt­liche Links egal ob Blogartikel oder Impressum auf den Localhost geleitet. Das ist mir auf­grund des Suchen/Ersetzen Vorgangs ziem­lich unver­ständ­lich. Außerdem wird kein Header-Bild mehr angezeigt.

    2. des­halb ( weil selbst das Header-Bild ent­fallen ist ) habe ich den lokalen Datenbankdump mit den Localen-Adressverweisen belassen und in die Live Datenbank impor­tiert.
    Ergebnis: Der Blog wird ein­wand­frei, incl. Headerbild ange­zeigt ABER nach wie vor gehen alle Links auf den Localhost

    3. der dritte Versuch bestand darin in der config.php die MySql-Serveradresse, die immer noch auf local­host stand ( nach­drück­liche Auskunft vom Provider !!) doch abzu­än­dern und zwar auf 2 unter­schied­liche Arten

    Nr. 1= define(›DB_HOST‹, ›http://wasserblog.gesundheit-ist-lebensfreude.de‹);
    Nr. 2 = define(›DB_HOST‹, ’82.96.81.15′);
    In beiden Fällen kommt noch ein schlech­teres Ergebnis zustande, näm­lich, dass der Blog über­haupt nicht mehr auf­ge­rufen kann. Der Fehlerhinweis lautet auf:

    Error esta­blis­hing a data­base connection

    JETZT ist mein Latein am Ende und könnte Hilfe gut gebrau­chen. Mit dem Provider hapert es zumindest.

    Kannst Du mir helfen ?

    Dafür wäre ich Dir sehr dankbar, nachdem ich min­des­tens einen Arbeitstag damit ver­bracht habe, den­noch die Kurve zu kriegen.

    Viele Grüße
    Günter

  19. Igor

    @Günter Schmitt, bei mir hat Deine Seite keine Verweise auf den »local­host« - Dein Cache geleert? VG, Igor

    • Günter Schmitt

      Guten Abend Igor,

      danke für das feed­back. Aber BEI MIR hat sich über­haupt nichts geän­dert.
      Bei jedem Link an irgend­einer Stelle im blog kommt nach wie vor:

      Fehler: Verbindung fehl­ge­schlagen
      Firefox kann keine Verbindung zu dem Server unter local­host aufbauen.

      Die Tatsache, dass Du die Links anstandslos aus­führen kannst erstaunt mich
      sehr.….

      Gruss
      Guenter

  20. Oli

    Vielen Dank für den aus­führ­li­chen und sehr gut beschrie­benen Artikel. Dieser hat mir sicher­lich eine Menge Zeit und Ärger erspart.

    Grüße
    Oli

  21. Frank

    Danke für den klasse Artikel, die Über­tra­gung hat fast ohne Probleme funk­tio­niert. Ich nutze das Nilmini Theme, hatte nur ein paar kleine Probleme mit den Theme Options, welche nicht richtig über­nommen wurden. Zum Bsp. das Hintergrundbild konnte nicht gesetzt werden, weil das Uploadverzeichnis auf chmod 755 gesetzt war. Auf jeden Fall hat auch mir Dein Artikel eine ganze Menge Zeit erspart!

  22. Maik

    Hallo Ellen,

    vielen Dank für diesen tollen Bericht! =) Ich habe ihn soeben aus­ge­testet aber genau andersrum. Sprich meine aktu­elle Webseite auf meinem local­host gespie­gelt. Soweit hat alles geklappt aber jetzt noch folgendes:

    Ich sehe meine Startseite. Gehe ich aber auf irgend einen sta­ti­schen Link, werde ich immer direkt zur Xampp Oberfläche weitergeleitet… =(

    MfG

  23. Guido

    Hallo Ellen,
    vielen Dank für deine Anleitung! Der Umzug hat soweit geklappt. Leider kann ich mich nicht ins backend ein­loggen, nach Eingabe von User und Passwort erscheint nur ein weißer Screen, ohne Fehlermeldung. Auch in der Fehlerkonsole wird nichts ange­zeigt. Ich lese seit 6 (!) Stunden Foreneinträge, das Problem des weißen Screens ist ja ziem­lich ver­breitet. Mit keinem der Lösungsansätze konnte ich das Problem beheben.
    Hast du viel­leicht eine Idee?
    Lg, Guido

  24. sejmalan

    Eine Info von einem Newb an Newbs.
    1. expor­tiert die sql-datei und benennt diese so um, wie diese auf der Domain heißt.
    2. Die SQL Datei ver­än­dern:
    http://localhost/blog/ --> http://deinedomain/
    und
    local­host --> Datenbankname der domain

    Berichtigt mich, ruhig, aber nur so hat es bei mir funk­tio­niert. Vielleicht meint Ihr das mit der Pfadveränderung

  25. Annette

    Hallo Ellen,
    ich hab WordPress lokal mit xampp instal­liert, bei meinem hoster war es schon vor­in­stal­liert. Die WP Version ist die­selbe, das Theme ist das­selbe (twenty eleven), die wid­gets sind die­selben, trotzdem ist die Darstellung meiner Homepage lokal anders, als beim Hoster. Über Xampp ist die Side wesent­lich breiter dar­ge­stellt, was mir auch deu­lich besser gefällt, als beim Hoster.
    Woran kann das liegen? Was kann ich als Newb ohne große Programmierkenntnisse tun, damit auch die öffentl. Version breiter dar­ge­stellt wird?
    LG
    Annette

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.

*


Top