Domain eines WordPress Multi-Site Netzwerks ändern

Heute geht es darum, wie man die Domain eines WordPress Multi-Site Netzwerks ändert. Dies kann bei einem Domainumzug oder auch einfach aufgrund einer neuen Strukturierung des Webservers notwendig werden. Während diese Aufgabe bei einer einfachen WordPress Installation sehr einfach über die „Einstellungen“ zu realisieren ist, wird der Aufwand für die Multi-Site ein wenig höher; es müssen die Datenbank und die wp-config.php wie folgt angefasst werden:

1. Vorbereitung der Domain-Änderung

1.1 Datenbank exportieren: Zunächst müsst ihr eure Datenbank (hier konkret alle Tabellen) exportieren. phpMyAdmin stellt dafür eine Exportfunktionalität zur Verfügung, die problemlos genutzt werden kann.

1.2 Datenbank anpassen: Die Exportdatei aus 1.1 (z.B. backup.sql) nun in einem Texteditor (z.B. Notepad++) öffnen und per „Find & Replace“ alle Vorkommnisse der alten Domain (z.B. altdomain.de) mit der neuen Domain (z.B. neuedomain.de) ersetzen.

1.3 wp-config.php anpassen: In der wp-config.php, welche im Root-Verzeichnis der WP-Installation liegt, findet ihr meist im Bereich der Zeilen 80-90 eine Zeile, welche die aktuelle Domain definiert. Diese muss so geändert werden, dass die neue Domain referenziert wird, also:


define('DOMAIN_CURRENT_SITE', 'neuedomain.de');

2. Durchführung der Domain-Änderung

2.1 wp-config.php aktualisieren: Die in 1.3 angepasste wp-config.php (z.B. per FTP) auf den Server laden.

2.2 Datenbanktabellen löschen: Alle Tabelle aus der Datenbank löschen, die zu WordPress gehören.

2.3 Tabellen einspielen: Die in 1.2 angepassten Datenbanktabellen beispielsweise über die Import-Funktionalität von phpMyAdmin einspielen.

Fertig! In manchen Fällen kann es nun noch vorkommen, dass zunächst keine Verbindung zur Datenbank hergestellt werden kann. Sollte das der Fall sein, bitte einfach ein paar Minuten warten, die Neuinitialisierung des DNS Caches sollte jedoch nicht länger als 5-10 Minuten dauern. Das erklärte Vorgehen funktioniert übrigens ebenfalls, wenn man nur die Subdomain ändert, also beispielsweise von „blog.domain.de“ nach „neuerblog.domain.de“ wechselt. Gerade bei Neuaufsetzungen von WordPress-Installationen über eine Staging-Phase mit entsprechender temporärer Subdomain, macht das durchaus Sinn. Das Vorgehen sollte außerdem ab WP-Version 3 funktionieren.

Getagged mit: , , , , , , , , ,
Veröffentlicht unter Entwicklung, In eigener Sache
4 Kommentar auf “Domain eines WordPress Multi-Site Netzwerks ändern
  1. Bernhard sagt:

    Hallo Tom,
    für eine kleine WP-Website mag das beschriebene Vorgehen gut klappen. Aber wenn eine Website umfangreicher wird – mehrere tausend posts (inkl. der revisions!) können gerade bei Multi-Sites schnell mal zusammenkommen – kann es beim Hochladen der geänderten Datenbank Probleme geben, wenn der nutzbare Arbeitsspeicher bzw. die erlaubte Ausführungszeit für das Hochlade-Script auf dem Server überschritten wird.
    Da ist es besser, mit phpmyadmin die entsprechenden Einträge direkt in den WordPress-Tabellen zu ändern. Welche Einträge dies im Einzelnen sind, wird hier beschrieben:
    http://support.wpengine.com/how-to-change-a-multi-site-primary-domain/

  2. hermann sagt:

    Danke für die gute Erklärung,
    trotz DB Sicherung hat man doch irgendwie „Puls“
    Ich habe es gemacht wie du es beschreiben hast.. hat Super geklappt.
    Muss aber auch zugeben das ich „nur“ vier Unterseiten der gerade erste fertig gestellt waren. Sich die DB Größe auch in grenzen gehalten hat.

    Wie auch immer, nochmal danke für den gute Erklärung!
    Gruß Hermann

  3. Klaus sagt:

    Der Bericht war mir eine große Hilfe,
    hat alles super geklappt.
    Danke

  4. Danke für die Anleitung! :-)

    Ein kleines Problem gab es mit dem Plugin „Maintenance“,
    (https://wordpress.org/plugins/maintenance/ ; für das gesamte Netzwerk aktiviert). Nachdem ich das Plugin aber deinstallierte und anschließend wieder re-installierte, läuft wohl alles jetzt.

Hinterlasse eine Antwort

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

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>