So funktioniert der Domain-Umzug mit WordPress

|
WordPress Logos

Internetseiten werden oftmals in einem separaten Hosting-Account mit eigener Domain entwickelt. Diese temporäre Entwicklungsdomain muss vor Live-Gang der Seite natürlich wieder auf die Hauptdomain geändert werden. Wie das funktioniert und welche Hürden sich bei einigen Plugins ergeben, erfahrt ihr in diesem Artikel.

Vorab: Konfiguration nach Umzug anpassen

Meistens ändert man die Domain ja wegen einem Umzug in einen anderen Hosting-Account. Dann ändern sich wahrscheinlich auch die Zugänge zur Datenbank. Die müssen natürlich vorher angepasst werden. Ich gehe in diesem Artikel daher davon aus, dass ihr die ganze Installation, also Domain und Datenbank, schon auf dem neuen Server habt und die Konfiguration bereits angepasst wurde. Wie das klappt, erklären wir euch im Beitrag „WordPress umziehen – Gewusst wie“.

Wenn sich wirklich nur die Domain ändert, ist das natürlich nicht notwendig. Dann solltet ihr euch aber Gedanken über eine Redirect-Regel von der alten auf die neue Domain machen.

Domain ändern

Nachdem wir jetzt alle den gleichen Stand haben, geht’s los mit der eigentlichen Änderung der Domain-Einstellungen. Grundsätzlich müssen zwei Schritte erledigt werden:

  1. Einstellung für WordPress URLs anpassen
  2. Alte URLs in bestehenden Inhalten ersetzen

Dafür gibt es mehrere Wege, die ich hier vorstellen möchte.

Hinweis: Die URLs sollten das Protokoll (https://) enthalten und keinen / am Ende tragen. Für mittwald.de also https://www.mittwald.de oder https://mittwald.de, je nachdem ob man die www-Variante verwenden möchte oder nicht.

 

In den Dateien der WordPress Installation sollte die Domain eigentlich nicht vorkommen. Eine kurze Suche in den Theme-Dateien lohnt sich aber manchmal trotzdem, da manche unbedarften User dort Links platzieren. Ich würde diese dann unbedingt durch einen Aufruf der Funktion site_url() ersetzen.

Über das WP-CLI

Für mich ist seit einiger Zeit der einfachste Weg, die Domain über das WP-CLI anzupassen. Habt ihr euer WordPress bei Mittwald über den Softwaremanager eingerichtet, ist das WP-CLI automatisch auch installiert. Ansonsten könnt ihr das Tool über den Softwaremanager auch jederzeit nachinstallieren.

 

Mit drei Befehlen ist alles getan:

wp option set siteurl https://www.new-domain.de
wp option set home https://www.new-domain.de
wp search-replace 'https://www.old-domain.test' 'https://www.new-domain.de'

Durch die ersten beiden Befehle werden die Einstellungen angepasst, die ihr auch unter den Einstellungen im Dashboard finden könnt. Der dritte Befehl ersetzt in der gesamten Datenbank die Links zu Bildern oder anderen Seiten. Der Vorteil davon ist, dass der Replace-Befehl der CLI eine gewisse Intelligenz an den Tag legt. Warum das wichtig ist, erkläre ich im nächsten Abschnitt.

Melde dich zum Newsletter an!

Kommende Releases, neue Features und Tipps rund um dein Hosting − wir bringen dir das Wichtigste in dein Postfach. Abonniere unseren Newsletter und bleib auf dem Laufenden.

Wir würden dich gerne persönlich ansprechen:

Domain direkt in Datenbank ändern

Wer sich nicht an die CLI herantraut, kann die Einstellungen auch in der Datenbank direkt anpassen. Das Ändern der URLs in den Inhalten sollte dann über ein Plugin erfolgen.

Einstellungen in der Datenbank anpassen

Ruft dazu zunächst über das Mittwald-Kundencenter phpMyAdmin für die Datenbank der WordPress Installation auf und wählt sie in phpMyAdmin aus. Sucht nun in der Tabelle wp_options die Einträge siteurl und home, die ihr dann auf eure neue Domain anpasst.

wp_options Tabelle

Inhalte anpassen

Die URLs in den Inhalten sollten nicht über SQL direkt in der Datenbank angepasst werden. 

 

Manche Plugins oder Themes speichern ihre Daten als serialisierte Objekte in der Datenbank ab und dieses Serialisierungsformat enthält auch die Länge der Zeichenketten. Wenn sich jetzt also die Länge der Domain ändert, würde dadurch dieses Objekt zerstört werden. Deshalb sollte zum Beispiel auch kein "Suchen und Ersetzen" in der MySQL-Dump-Datei vorgenommen werden. Wir brauchen also ein Plugin, das sich um diese Logik kümmert.

 

Ich empfehle für diesen Zweck Better Search Replace (BSR) da es recht simpel ist, diese Aufgabe aber optimal erledigt. Es gibt viele weitere Plugins, die eine ähnliche Funktionalität bieten, wie beispielsweise WP Migrate DB. Ich beschränke mich hier auf BSR. Die anderen Plugins funktionieren allerdings ganz ähnlich.

Installiert zunächst das Plugin. Anschließend findet ihr unter Werkzeuge › Better Search Replace die Oberfläche für das Plugin. Hier tragt ihr in das Feld Suchen nach die alte Domain und in das Feld Ersetzen durch die neue Domain ein. Wählt am besten alle Tabellen aus. Und es ist sinnvoll, das Häkchen bei Testlauf erstmal aktiv zu lassen. Nach einem Klick auf Suchen / Ersetzen starten werden die Änderungen angezeigt. Wenn diese passen, könnt ihr das Testlauf-Häkchen rausnehmen und den echten Vorgang starten.

Screenshot

Andere Möglichkeiten

Vor dem Umzug ändern

Ein in der offiziellen Dokumentation empfohlener Weg ist, die Domain schon vor dem Exportieren der Datenbank über Einstellungen › Allgemein in der Original-Installation zu ändern. Da das allerdings dazu führt, dass diese Ursprungsinstallation nicht mehr funktioniert, kann ich diesen Weg eigentlich nicht empfehlen.

Hard-coded in Konfiguration eintragen

Über die globalen PHP-Konstanten in der wp-config.php ist es möglich, die Konfiguration auch fest in dieser Datei zu hinterlegen. Dafür müssen diese beiden Zeilen zur wp-config.php hinzugefügt werden:

define('WP_SITEURL', 'https://www.new-domain.de');
define('WP_HOME', 'https://www.new-domain.de');

Da es dadurch aber nicht mehr möglich ist, diese Einstellungen über die Datenbank zu ändern und zusätzlich noch die Inhalte geändert werden müssen, nutze ich diesen Weg sehr selten. Wenn die Inhalte vergessen werden, macht das Debugging absolut keinen Spaß.

Fazit

Die Domain der WordPress-Installation zu ändern, ist nicht sonderlich kompliziert. Ob ihr das per WP-CLI tut oder den Weg über die Datenbank nehmt, ist euch überlassen − meinen Favoriten kennt ihr. ;-) Beachtet man ein paar Kleinigkeiten, ist das aber in beiden Fällen schnell erledigt.

Tipp!
Hoste deine WordPress-Projekte auf dem Agentur-Server. Mit nur einem Login kannst du einfach zwischen deinen Projekten hin und her switchen und checken, wie du Änderungen bei vorherigen Webseiten durchgeführt hast. Und solltest du doch mal Unterstützung benötigen, springt dir unser Kundenservice zur Seite. 24/7 an 365 Tagen im Jahr.

Ähnliche Artikel:

Webentwicklung

WP-CLI – Das Power-Tool, nicht nur für Nerds

Mit dem WordPress Command Line Interface (WP-CLI) könnt ihr euch viel Arbeit ersparen. Wie ihr es installiert und anwendet, erfahrt ihr hier.

Webentwicklung

WordPress 5.9 – der letzte große Schritt zum Full Site Editing

WordPress 5.9 ist da und damit der letzte Schritt zum Full Site Editing. Wie sich das anfühlt und was alles neu ist, berichtet Lukas in diesem Beitrag.

Hosting

Agentur-Server − die Hosting-Lösung für Web Professionals

Webprofis benötigt ein Hosting, auf das sie sich verlassen können. Performant, flexibel, stabil. Lösung: Der Agentur-Server.

Hosting

Frühjahrsputz – So machst du deine Projekte startklar fürs das neue Jahr

Egal ob Passwörter ändern oder Logs prüfen − es lohnt, regelmäßig Webprojekte durchzuchecken. Mit diesen Tipps gelingt der Frühjahrsputz.

Kommentare

Jörg Westarp am

Eine gute Alternative zum Suchen & Ersetzen in der DB ist "Search & Replace" von "inter.connect IT". Der Vorteil ist, dass man das Skript auch nutzen kann, wenn das Wordpress-System gerade nicht aufrufbar ist.