
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
Schreibe einen Kommentar