URL einer WordPress-Website ändern

Um die URL einer WordPress-Website zu ändern – beispielsweise wenn eine ganz andere Domain genutzt oder auch nur das Protokoll von http:// auf https:// umgestellt werden soll – gibt es mehrere Lösungen. Zwei davon stelle ich hier vor.

Wichtige Infos, bevor ihr beginnt

  • Die neue Domain sollte bereits auf den Ordner der Installation zeigen, damit ihr sie nach der Änderung direkt unter der neuen Adresse erreichen könnt – andernfalls könnt ihr die Website nach der Änderung nicht mehr aufrufen (außer, ihr ändert nur das Protokoll – dann erhaltet ihr ohne gültiges SSL-Zertifikat aber eine Warnung vom Browser).
  • Erstellt am besten vorher ein Backup, nur zur Sicherheit.
  • Ändert in der Datenbank nicht den Wert der guid-Spalte (dadurch würden für Feedreader alle eure alten Artikel wieder als neu gekennzeichnet).

URL mit einem Plugin anpassen

Es gibt verschiedene Plugins, die euch die Änderung der URL in der Datenbank erlauben. Ich nutze hierfür gerne Better Search Replace. Nachdem ihr das Plugin installiert habt, findet ihr unter dem Punkt Werkzeuge den neuen Menüpunkt Better Search Replace. Hier könnt ihr jetzt eingeben, nach welchem String gesucht und womit dieser ersetzt werden soll – im folgenden Screenshot ist das beispielhaft einmal für den Wechsel meiner .de-Domain auf die .com-Domain gemacht.

Die URL einer WordPress-Website lässt sich mit dem »Better Search Replace«-Plugin recht einfach anpassen. (Screenshot: eigene Installation)

Unter dem Punkt Tabellen auswählen könnt ihr die Tabellen angeben, in denen die Domain ersetzt werden soll – im Regelfall sollten hier alle ausgewählt werden. Standardmäßig ist der Haken bei Testlauf? gesetzt, wodurch nicht direkt etwas ersetzt sondern nur angezeigt wird, wie viele Vorkommen ersetzt werden würden. Wenn das Ergebnis des Testlaufs sinnvoll aussieht, entfernt den Haken und startet das Suchen und Ersetzen ein weiteres Mal.

Danach solltet ihr mit der Anpassung der Domain fertig sein.

URL mit dem WP-CLI ändern

Wenn ihr das WP-CLI auf eurem Server installiert habt, könnt ihr auf ein Extra-Plugin verzichten und den wp search-replace-Befehl nutzen. Wenn ihr euch in der Shell im Verzeichnis der Installation befindet, kann das beispielsweise so aussehen:

wp search-replace https://florianbrinkmann.de https://florianbrinkmann.com --skip-columns=guid

Um vorher einen Testlauf zu machen, könnt ihr den Aufruf um die --dry-run-Option erweitern:

wp search-replace https://florianbrinkmann.de https://florianbrinkmann.com --skip-columns=guid --dry-run

Und wenn ihr alle Tabellen einer Multisite behandeln möchtet, gibt es die --network-Option:

wp search-replace https://florianbrinkmann.de https://florianbrinkmann.com --skip-columns=guid --network

Wenn ihr die Domain versehentlich falsch geändert habt

Wenn ihr beim Ändern der Domain einen Fehler gemacht habt, kommt ihr wahrscheinlich nicht mehr ins Backend um ihn zu korrigieren. In diesem Fall braucht ihr einen SFTP-Zugang und könnt mit den folgenden zwei Zeilen in der wp-config.php wieder die alte Domain als Site-Adresse einstellen:

define( 'WP_HOME', 'https://florianbrinkmann.de' );
define( 'WP_SITEURL', 'https://florianbrinkmann.de' );

Das ist auch über das WP-CLI möglich – hier könnt ihr entweder direkt die Option in den Einstellungen ändern:

wp option update home https://florianbrinkmann.de
wp option update siteurl https://florianbrinkmann.de

Oder die Konstante in der wp-config.php (--type=constant sorgt dafür, dass der Eintrag hinzugefügt wird, wenn er noch nicht vorhanden ist):

wp config set WP_HOME https://florianbrinkmann.de --type=constant
wp config set WP_SITEURL https://florianbrinkmann.de --type=constant

Danach solltet ihr wieder ins Backend kommen und könnt den Fehler korrigieren. Ihr seht: theoretisch könnte auch über diese Wege die Domain geändert werden, ebenso über EinstellungenAllgemein. In diesen Fällen werden aber nicht die Werte (beziehungsweise beim Ändern in den Einstellungen oder mit wp option update nicht alle Vorkommen) in der Datenbank geändert. Die sauberste Lösung ist meiner Meinung nach daher die Nutzung eines Plugins oder des wp search-replace-Kommandos vom WP-CLI.

Das könnte auch interessant sein

5 Kommentare zu »URL einer WordPress-Website ändern«

  1. Digital MashUp

    Hallo 🙂
    Also der untere Teil war mir bekannt, allerdings stellt sich für mich noch die Frage, ob es nicht ausreichend ist nur den unteren Teil zu machen. Bisher habe ich mich kaum mit der CLI auseinandergesetzt. Das wird sich ändern - Für mich war es bisher immer ärgerlich, so eine Umstellung, weil man im Bereich Google SEO nahezu wieder von Vorne anfangen durfte. Vielen Dank, mit dem Better Search and Replace Plugin, spare ich mir künftig wohl viel Arbeit 🙂
    Gruß
    Björn

    Antworten
    1. Florian Brinkmann

      Hi Björn,

      wie geschrieben, theoretisch würde auch die Änderung in der wp-config.php oder die Änderung der Einstellung ausreichen, mir kommt die Anpassung der Datenbank aber wie die bessere Lösung vor 🙂

      Zu dem Ranking: ist ja kein großes Problem, wenn man Weiterleitungen einrichtet und bei Google eine Adressänderung meldet 🙂

      LG
      Florian

      Antworten
  2. Lukas Abelmann

    Hi Florian,

    Was mache ich denn, wenn auch das Better Search Replace-Tool keine Abhilfe schafft?

    Unter der URL wird http://www.xn--rebstckchen-vfb.de angegeben, wir hätten aber gerne die Adresse http://www.rebstöckchen.de. Immer wenn ich das abändere, kommt man nicht mehr auf die Webseite. Und dieser Link "http://www.xn--rebstckchen-vfb.de" wird auch nur mobil angezeigt, hier am PC ist es richtig ("rebstöckchen.de").

    Könntest du mir hier vllt. weiterhelfen?

    (Wir benutzen Avada & soweit ich weiß die neueste WP-Version)

    Grüße,
    Lukas

    Antworten
    1. Florian Brinkmann

      Hi Lukas,

      das liegt an dem Umlaut im Domainnamen. Wie das Browser handhaben könnt ihr nicht beeinflussen (glaube ich jedenfalls – ich kenne mich bei Umlaut-Domains nicht weiter aus) – im Firefox wird beispielsweise das mit xn-- unten als Linkvorschau angezeigt, wenn ich mit der Maus über den Link in deinem Kommentar fahre, in der Adresszeile stimmt es dann.

      Mobil passt es bei mir in Chrome und Firefox auf Android auch.

      Ich würde also sagen: so lassen, vermutlich ist das irgendwie die Version, damit auf jeden Fall alle Browser damit klar kommen, und die die es können stellen es korrekt als Umlaut dar.

      Hoffe das hilft dir weiter.

      LG
      Florian

      Antworten

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.