WordPress mit neuer Domain auf gleichem Server einrichten

Frage:

Wie kann man WordPress mit neuer Domain auf gleichem Server einrichten?

Zusammenfassung:

Die Änderung der Domain in WordPress muss sowohl in den Website-Einstellungen als auch allen anderen Datensätzen (z.b. interne Links) erfolgen. Hierfür gibt es zahlreiche Plugins (z.b. WP Migrate DB) oder auch manuelle Lösungen über DB-Manager und wp-config.php.

Abgrenzung:

In diesem Artikel geht es um die Änderung der Domain einer WordPress-Instanz. Wenn du zusätzliche WordPress-Instanzen auf dem gleichen Server einrichten willst, lese unsere anderen Artikel.


Du hast eine WordPress-Webseite die aktuell unter einer alten Domain (alte-domain.de) erreichbar ist und jetzt soll diese auf dem gleichen Server unter einer neuen Domain (neue-domain.de) erreichbar sein? Die Domain deiner WordPress-Webseite kannst du in der Regel relativ leicht ändern. Ich zeige dir hier verschiedene Möglichkeiten:

  • Domain-Änderung via Plugin
  • Domain-Änderung via externem Script
  • Domain-Änderung via WP-CLI
  • Domain-Änderung manuell

BACKUP! Wie vor jeder Systemänderung solltest du natürlich unbedingt sicherstellen, dass du ein aktuelles Backup deiner ganzen Webseite hast!

Domain-Änderung via Plugin

Für die meisten User ist die Plugin-Lösung vermutlich der einfachste und schnellste Weg. Es gibt zahlreiche WordPress-Plugins zur Datenbank-Bearbeitung die man hier benutzen kann. Ich empfehle eines der folgenden zu nutzen:

Beide Tools bieten einen „Suchen & Ersetzen“ Modus, der eure ganze Datenbank durchsucht und alle Treffer entsprechend ersetzt. Das einzige was bei dieser Methode zu beachten ist, ist die richtige Verwendung der beiden Zeichenketten.

Einerseits solltet ihr genau überlegen, wie konkret die Finden-Bedingung gewählt wird. Gebt ihr nur „alte-domain.de“ ein, kann es sein das mehr geändert wird als ihr wollt (z.b. wenn ihr im Text über eure Webseite geschrieben habt und der alte Name aber weiter in den alten Artikeln bleiben soll). Ist der Finden-Text zu speziell, z.b. „https://www.alte-domain.de/“ würden Dinge nicht ersetzt werden wo Ihr z.b. nur http, kein www oder keinen trailing-slash verwendet habt. Ein gutes Mittelmaß ist „//www.alte-domain.de“. Alternativ kannst du natürlich den Prozess auch mehrfach mit unterschiedlichen Varianten durchlaufen lassen.

Andererseits musst du unbedingt darauf achten, dass der Suchen- und der Ersetzten String exakt das gleiche Format haben. Wenn du bei der Suche mit „http://“ arbeitest, muss das auch beim Ersetzen enthalten sein, da es sonst zwangsweise zu Fehlern führt wegen ungültigen URLs.

Domain-Änderung via externem Script

Wenn du nicht für eine einmalige Änderung ein Plugin installieren möchtest das sich ggf nicht spurlos wieder deinstallieren lässt und kein Problem damit hast Dateien auf deinen Server zu spielen, ist das Search-and-Replace-Script von interconnect zu empfehlen.

Das Tool ist kostenlos und die musst nur ein paar Dateien in den Ordner deiner Webseite auf deinem Server legen. Dann kannst du das Script bequem über den Browser aufrufen und einen Suchen-und-Ersetzen-Prozess über deine ganze Datenbank laufen lassen. Dabei sind natürlich die gleichen Hinweise wie bei der Plugin-Lösung zu beachten.

Domain-Änderung via WP-CLI

Wenn du mit SSH und Kommandozeilenprogrammen vertraut bist, ist die WP-CLI auch eine sehr elegante Möglichkeit. Sofern du die WP-CLI schon installiert hast, musst du nur folgenden Befehl eingeben:

php_cli wp-cli.phar search-replace www.alte-domain.de www.neue-domain.de

Domain-Änderung manuell

Alle 3 Methoden sagen dir nicht zu? Ein Domainwechsel lässt sich natürlich auch komplett manuell machen, bietet aber natürlich auch mehr Risiken. Darum würde ich hieraus nur zurückgreifen, wenn die anderen Methoden wirklich nicht funktionieren.

Domain-Änderung

Als erstes muss erstmal die Hauptdomain geändert werden. Das geht noch relativ einfach und kann über verschiedene Wege erfolgen:

Im WordPress-Backend: geht einfach im Backend unter Einstellungen > Allgemein und ändert die Domain in den Feldern WordPress-Adresse und Website-Adresse.

Es kann auch eine Domain in der wp-config.php definiert werden (sollte das nicht eh schon der Fall sein). Hierfür einfach in der Datei folgende Einträge hinterlegen:

define('WP_SITEURL', 'http://www.neue-domain.de');
define('WP_HOME', 'http://www.neue-domain.de');

Etwas unbekannter aber auch gut ist der Weg über die RELOCATE-Funktion. Dafür setzt du in der wp-config.php den Eintrag „define(‚RELOCATE‘, true);“ dann rufst du den Login über http://www.neue-domain.de/wp-login.php auf und entfernst anschließend denrelocate-Eintrag aus der wp-config.php wieder.

Letztlich kann die Domain auch direkt in der Datenbank (z.b. via phpmyadmin) geändert werden. Dafür einfach in der Tabelle „wp_options“ die Einträge „siteurl“ und „home“ anpassen.

Datenbankinhalte ändern

Die Webseite sollte jetzt zwar schon unter der neuen Domain erreichbar sein, aber alle internen Links und mögliche Einstellungen von verschiedenen Plugins können noch auf eure alte Domain verweisen und so defekte Links oder sonstige Fehler erzeugen. Ohne ein richtiges Suchen&Ersetzen-Tool müsst ihr nun in der Datenbank (wieder über pypmyadmin o.ä.) alle Spalten aller Tabellen nach der alten Domain durchsuchen und dann ersetzen. Bsp:

update wp_posts set post_content =
replace(post_content,'www.alte-domain.de','www.neue-domain.de');

Bis man sichergestellt hat, das man alle Einträge erwischt hat, ist das natürlich recht aufwendig.

Schreibe einen Kommentar