Arne Gockeln
Experte für Web & Softwareentwicklung, Linux und macOS

WordPress zu einer neuen Domain umziehen

Als WordPress Entwickler steht man des öfteren vor dem Problem dass man eine WordPress Installation auf einen neuen Server umziehen muss. Oft ist es dann so, dass der neue Server andere Einstellungen hat, als der auf dem das WordPress initial eingerichtet/betrieben wurde. In meinem Fall entwickle ich Plugins/WordPress Seiten auf einem Entwicklungsserver und von da aus bewege ich dann das gesamte WordPress Projekt auf den Webserver des Kunden. Im Falle von WordPress (ohne Plugins, wie zum Beispiel den Revolution Slider, zu berücksichtigen) reicht es dabei wie folgt vorzugehen:

DEV Server

LIVE Server

# Neue Domain fuer Home und Siteurl
UPDATE wp_options SET option_value = REPLACE(option_value, 'subdomain.webchef.de', 'www.neuedomain.de');

# Update Admin E-Mail
UPDATE wp_options SET option_value = 'neuerAdmin@domain.de' WHERE option_name = 'admin_email';

# Core Update E-Mail Adresse ersetzen
UPDATE wp_options SET option_value = REPLACE(option_value, 'alt@domain.de', 'neu@domain.de') WHERE option_name = 'auto_core_update_notified';

# Domain in Meta Daten ersetzen
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'subdomain.webchef.de', 'www.neuedomain.de');

# Domain im Content ersetzen
UPDATE wp_posts SET post_content = REPLACE(post_content, 'subdomain.webchef.de', 'www.neuedomain.de') WHERE post_type = 'post';

# Domain in den Dateianhaengen und Post Types ersetzen
UPDATE wp_posts SET guid = REPLACE(guid, 'subdomain.webchef.de', 'www.neuedomain.de');

Fertig.

Dann bist du auf jeden Fall schon mal safe, was den Umzug von WordPress angeht.

Kleiner Tip falls du Umlaute in Dateianhängen, in der Datenbank ersetzen willst, dann kannst du mit folgender SQL die Einträge identifizieren:

SELECT * FROM wp_postmeta WHERE meta_key = '_wp_attached_file' AND meta_value LIKE ('%ä%' COLLATE utf8_bin);

Voraussetzung ist dass bei der Datenbank der Zeichensatz UTF-8 Unicode bzw. utf8mb4 gesetzt ist! Wenn du die Dateinamen der Anhänge in der Datenbank änderst, musst du die entsprechenden Dateinamen natürlich auch im wp-content/uploads/ Ordner anpassen! Sonst findet WordPress die Dateien nicht mehr!

Plugins

Jetzt ist das Problem dass eigentlich so ziemlich kein WordPress ohne Plugins auskommt. Und manche komplexeren Plugins, wie zum Beispiel der RevolutionSlider, legen eigene Tabellen in der Datenbank an. In diesen Tabellen werden auch Datensätze angelegt in denen eure Domain ersetzt werden müssen!

Ich gehe dann so vor:

comments powered by Disqus