WordPress umziehen von Subdomain auf Hauptdomain

von

am

|

geschätzte Lesezeit:

6 Minuten

Disclaimer: Dieser Beitrag ist älter als zwei Jahre. Es könnte also sein, dass auch sein Inhalt in Teilen bereits veraltet ist.

WordPress umziehen von Subdomain
WordPress umziehen von Subdomain auf Hauptdomain

Es ist vollbracht: Internetkurse Köln hat den ersten Relaunch hinter sich. Auf den ersten Blick hat sich gar nicht so viel verändert. Im Detail ist jedoch eine ganze Menge passiert. Diese Änderungen haben aber natürlich nicht nach und nach live, sondern in einer Testumgebung stattgefunden. Eine solche Testumgebung kann dabei eine Subdomain sein, sagen wir: blog.IhreDomain.de, oder ein Unterverzeichnis, also IhreDomain.de/blog. Ich bevorzuge dabei die Subdomain, aber das ist wohl Geschmackssache. So oder so bleibt die alte Website über die Hauptdomain aufrufbar, bis Sie entscheiden, dass Sie nun die neue Website dort anzeigen lassen wollen. Spätestens dann stellt sich aber die Frage, was zu tun ist beim WordPress Umziehen von Subdomain auf Hauptdomain.

WordPress umziehen ist nicht gleich Dateien umziehen

Unabhängig davon, wie Sie Ihre Testumgebung bis zum Umzug aufrufen, liegen die Dateien auf Ihrem Server in einem Unterverzeichnis. Und dort können sie auch liegenbleiben. Umzug bedeutet nicht zwangsläufig, dass auch Ihre Dateien von einem Verzeichnis ins nächste umziehen müssen. Tatsächlich kann in dieser Hinsicht alles so bleiben, wie es ist. Was Sie hingegen ändern müssen, sei im Folgenden erklärt.

Ausgangssituation

Das Beispiel geht davon aus, dass WordPress im Unterverzeichnis

http://IhreDomain.de/wp_blog/wordpress

installiert und über die Subdomain

http://blog.IhreDomain.de

aufrufbar ist.

Sie müssen das Ganze nun an Ihre Gegebenheiten anpassen. Wie genau lautet Ihre Domain, wie lautet Ihre Subdomain beziehungsweise das Unterverzeichnis? Notieren Sie sich diese Angaben, Sie werden im Folgenden mehrfach brauchen.

1. Weiterleitung einrichten

Als Erstes richten Sie für die Hauptdomain im Kundenbereich Ihres Hostinganbieters die Weiterleitung in das Unterverzeichnis ein, in dem sich die Installation befindet. Die Begrifflichkeiten hierfür variieren bei den unterschiedlichen Hostinganbietern. Tatsächlich geht es hier nur darum, dass Sie Ihre Domain in das Unterverzeichnis leitet, in dem sich die index.php Ihrer neuen Installation befindet. Aktuell verweist die Einstellung wahrscheinlich in das Stammverzeichnis – oder in das Verzeichnis, in der sich die bisherige Installation befindet. Sie geben nun also das Unterverzeichnis der neuen Installation an. Im gegebenen Fall lautet die Angabe (Beispiel!):

/wp_blog/wordpress

Nach dem Speichern dieser Änderungen kann es eine Weile dauern, bis der Server diese neuen Einstellungen registriert. Die Wartezeit können Sie schon mal dafür nutzen, die nötige Änderungen in der Datenbank vorzunehmen.

2. Änderungen in der Datenbank

Wichtig: Bevor Sie Änderungen in der Datenbank vornehmen, sollten Sie diese erst einmal sichern!

In der Datenbank befinden sich unter anderem die Angaben der WordPress- und der Website-Adresse. Der Unterschied dieser beiden Angaben: Die WordPress-Adresse verweist auf das Verzeichnis, in dem sich die index.php befindet. Die Website-Adresse ist hingegen jene, unter der alle WordPress Dateien und Ordner zu erreichen sind. Wahrscheinlich verweisen aktuell beide auf die Subdomain (beziehungsweise das Unterverzeichnis), über die die neue Website bislang aufrufbar war. Aber das wollen wir ja gerade ändern. Diese Änderung nehmen Sie am besten in der Datenbank vor.

Für die Bearbeitung der Datenbank stellen Webhoster in Ihrem Kundenlogin im Allgemeinen phpMyAdmin zur Verfügung. Wenn Sie phpMyAdmin aufrufen, fordert Sie die Anwendung als Erstes zur Eingabe Ihrer Zugangsdaten zu Ihrer Datenbank auf. Einmal angemeldet, wählen Sie die Datenbank, um die es geht. Vielleicht haben Sie nur eine Datenbank in Benutzung, dann fällt die Wahl leicht. Wenn Sie dort mehrere vorfinden, gilt es, als Nächstes herauszufinden, welche Sie nun modifizieren sollen. Ohnehin wollen wir genau in diesem Datensatz die erste Änderung vornehmen, den Sie nun zur Identifizierung aufrufen.

2a. Änderung der Home und der Site-URL

Sie wählen also eine Datenbank aus und dann deren wp_options.

Anmerkung: Bestenfalls lautet das Präfix der wp_options nicht wp_. Bestenfalls steht dort etwas ganz anderes, also zum Beispiel hasi_options. Oder 15a75z_options. Wie auch immer Ihr Präfix lautet, alles ist besser als wp_.

Der erste Datensatz trägt den Namen site_url. Wenn dessen option_value das passende Verzeichnis nennt, sind Sie in der richtigen Datenbank. Wählen Sie Bearbeiten.

Ändern Sie nun diesen Wert, indem Sie statt des vorhandenen Eintrags die Hauptdomain angeben (Beispiel!):

http://www.IhreDomain.de

Bestätigen Sie diese Änderung mit OK.

Nun müssen Sie dieselbe Einstellung noch für den Datensatz home vornehmen. Sollte dieser Datensatz nicht auf der ersten Seite der wp_options anzeigt werden, finden Sie ihn auf der zweiten Seite. Wieder bestätigen Sie Ihre Änderung mit OK.

2b. URLs anpassen

In Ihrer Datenbank befinden sich noch eine ganze Reihe mehr URLs, die für die interne Verlinkung sorgen. Diese URLs müssen Sie auch noch anpassen. Da es aber so viele sind, machen Sie das am besten mit SQL-Befehlen.

Klicken Sie hierzu auf SQL im oberen Menü. Die Seite zeigt nun ein großes Eingabefenster. Hier geben Sie die für Ihre Bedürfnisse angepassten SQL-Befehle ein.

Ersetzen Sie die URLs durch Ihre und ersetzen Sie auch das Präfix wp_, wenn Sie ein anderes nutzen!

UPDATE wp_posts SET guid = replace(guid, 'http://blog.IhreDomain.de', 'http://www.IhreDomain.de');
UPDATE wp_posts SET post_content = replace(post_content, 'http://blog.IhreDomain.de', 'http://www.IhreDomain.de');

Gegebenenfalls benötigen Sie auch den Austausch der URLs in der Tabelle wp_postmeta. Hierfür lautet der Befehl:

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://blog.IhreDomain.de', 'http://www.IhreDomain.de');

Bevor Sie diese Befehle ausführen, können Sie diese erst einmal testen. phpMyAdmin bietet Ihnen hierfür neben dem OK-Button einen entsprechenden Button für die Simulation. Hierdurch erfahren Sie auch, wie viele Fundstellen es in den Tabellen wp_posts und wp_postmeta gibt. Wenn Sie sicher sind, dass alles so seine Richtigkeit hat, lösen Sie die Befehle mit OK aus.


UPDATE: 03.08.2018

Per Kommentar (siehe unten) kam der Hinweis, dass es bei dem hier unter 2b) beschriebenen Vorgehen zu Problemen kommen kann. So vor allem aufgrund sogenannter serialisierter Daten (serialized data), offenbar vor allem im Zusammenhang mit Widgets und Plugins. Tatsächlich hatte ich bis dato noch keine entsprechenden Probleme. Aber das heißt ja nicht, dass es die nicht geben kann.

Von daher gebe ich den Hinweis gerne weiter, dass an dieser Stelle die Nutzung von Plugins zum Zwecke der URL-Anpassungen hilfreich sein kann. Nicht nur im Kontext eben dieser serialisierten Daten. So seien hier vor allem Better Search Replace (schon genutzt und für gut befunden), aber auch WP Migrate DB (noch nie getestet, aber bestimmt gut) genannt.


3. Änderung in der .htaccess

Wenn Sie suchmaschinenfreundliche Permalinks benutzen (also zum Beispiel /beitragsname statt /?p=123, befindet sich im WordPress Ordner eine .htaccess. In dieser stehen Angaben für die sogenannte RewriteBase und die RewriteRule. Beide gilt es zu ändern entsprechend Ihrer konkreten Angaben. Hierzu müssen Sie mit Ihrem FTP-Programm, zum Beispiel Filezilla, Zugriff nehmen auf Ihren Server. Die .htaccess finden Sie im selben Verzeichnis wie die index.php, im gegebenen Fall also wp_blog/wordpress.

Aus (BEISPIEL!)

RewriteBase /wp_blog/wordpress/

machen Sie (BEISPIEL!)

RewriteBase /

und aus (BEISPIEL!)

RewriteRule . /blog/wordpress/index.php [L]

machen Sie (BEISPIEL!)

RewriteRule . /index.php [L]

4. Abwarten und Tee trinken!

Nun machen Sie sich am besten einen Tee und warten eine halbe Stunde, bis die Website über die Hauptdomain aufrufbar ist. Grund für die Wartezeit ist noch immer der Server, der für die Änderung der Weiterleitung manchmal bis zu 30 Minuten braucht.

Nebenbei: Ich musste noch ein bisschen länger warten, bis bei Internetkurse Köln alles funktionierte, denn neben der Installation selbst ist auch die Domain umgezogen. Normalerweise braucht es eine Stunde, bis geänderte Nameserver-Einträge aktiv werden. In meinem Fall waren es gar 24 Stunden. Ganz ehrlich: So viel Tee kann ich nicht trinken, um da noch die Ruhe zu bewahren… Aber irgendwas ist ja immer.

Alternativ: URLs mit Plugin anpassen und Permalinks aktualisieren

Der direkte Zugriff auf die Datenbank via phpMyAdmin lässt sich übrigens umschiffen durch die Nutzung eines Plugins. Mit zum Beispiel WP-DB-Backup können Sie zuvor Ihre Datenbank sichern. Die Änderung der Home und der Site-URL kann über Einstellungen > Allgemein erfolgen. Und mit dem Plugin Velvet Blues Update URLs können Sie alle URLs anpassen. Ich persönlich bevorzuge aber die oben genannte Vorgehensweise. Falls ein Fehler passiert und/oder das Backend der Installation nicht mehr erreichbar ist, muss man ohnehin direkt zugreifen, zum Beispiel um die Sicherung der Datenbank zu importieren. Es ist also immer gut, wenn man schon mal einen Blick auf die Datenbank geworfen und zumindest eine Idee davon hat, was wo zu finden ist.

Ebenso können Sie die Änderungen in der .htaccess umgehen, indem Sie unter Einstellungen > Permalinks die Linkstruktur einmal auf Einfach setzen, die Änderungen übernehmen, und dann direkt wieder Ihre gewünschte Struktur aktivieren und die Änderungen noch einmal speichern.


Beitragsbild: Britta Kretschmer

8 Antworten zu „WordPress umziehen von Subdomain auf Hauptdomain“

  1. Danke, hat mir sehr geholfen

  2. stella

    vielen Dank für die super Anleitung, habe mich damit zum ersten Mal von Sub- auf Hauptdomain umzuziehen getraut
    lg
    s.

  3. stella

    vielleicht könnte man für WP Anfänger wie mich noch anmerken, dass die wp_options geändert wird, wenn man im Backend unter Einstellungen/Allgemein die URLs ändert …

  4. Kopfpress

    Alles gut beschrieben, aber

    3. Änderung in der .htaccess ist unverständlich

  5. Kopfpress

    Ich kann seit dem manche Bilder nicht mehr auf das Mediathek hochladen. Es kommt die Meldung „Bei dem Upload ist ein Fehler aufgetreten. Versuche es später noch einmal.“

    Bitte um Hilfe

  6. Hallo Günter,

    offenbar hat es mit dem Umzug ja dann doch irgendwie geklappt. Warum sich nun »manche Bilder« nicht in die Mediathek hochladen lassen, lässt sich ohne Infos zur Website kaum sagen. Was unterscheidet diese Bilder denn von den anderen, die sich hochladen lassen?

    LG, bk

  7. Lara

    Danke, danke, danke! Tausend Dank, dass ich nun beruhigt zu Bett gehen kann.
    Ich sitze seit STUNDEN daran, es zu schaffen und war schon verzweifelt, ob es jemals klappt, meine Seite von der Test-Subdomain auf die Hauptdomaine zu ziehen. Nach etlichen Misserfolgen habe ich es dank
    Auffinden und Umsetzen dieser Anleitung geschafft! Und ich musste gerade mal 30 sekunden warten, bis alles aktualisiert war :-)
    (Allerdings: testen konnte ich die Einstellungen nicht – ich musste gleich auf OK drücken.)

    Herzlichen Dank noch einmal für diese sehr gute, übersichtliche, Idioten (=ich)-sichere Anleitung :-)

  8. Hallo Bettina,

    ich bin über eine Facebook-Gruppe auf deinen Beitrag aufmerksam geworden. Er enthält viele gute Tipps. Aber leider auch einen Absatz , der mit sehr hoher Wahrscheinlichkeit Dinge kaputt macht: der Absatz 2b.

    Abgesehen von der Site-URL und der Home-URL sollte man in der Datenbank nicht mit REPLACE ersetzten. Dabei geht fast immer etwas schief. Was man manchmal leider erste später merkt. Wieso genau es ein Problem ist, hat David Stingl mal genauer erklärt: https://www.ja-gut-aber.de/wordpress-umzug-andere-domain-ganze-wahrheit/

    Am besten passt du den Beitrag ein wenig an und empfiehlst im Absatz 2b eher eine Pluginlösung. Ich kann hierbei „Better Search Replace“ sehr empfehlen. Damit kann man unter Umständen sogar den ersten Ersetztungsschritt durchführen.

    Viele Grüße
    Bernhard

Schreibe einen Kommentar

Die im Rahmen der Kommentare angegebenen Daten werden von mir dauerhaft gespeichert. Cookies speichere ich nicht. Für weitere Informationen siehe bitte meine Datenschutzerklärung.

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