die katrin

my photography & other stuff

Domainwechsel mit WordPress 3.x

| 7 Comments

In guter, alter Tradition gibt es hier noch eine Beschreibung dessen, was zum Teufel ich da eigentlich gemacht habe.

Seit Jahr und Tag hatte und habe ich meine Domain miss-sophie.eu bei all-inkl. Irgendwann vor ein paar Monaten reifte der Plan in mir, all dem miss-sophie-Treiben ein Ende zu setzen. Also fix die neue URL die-katrin.eu gesichert. An den Formalitäten der Registrierung bin ich auch gleich mal gescheitert. Daher an dieser Stelle auch nochmal ein riesen Dankeschön!!! an all-inkl. Der Telefon- und Emailsupport war (mal wieder) absolute Spitzenklasse. Zuhören bzw. genau lesen und die Antworten verständlich rüber bringen plus diesem kleinen Mehr an Information, damit ich das selbst in den Kontext stellen konnte. Einfach nur top. Wenn ihr also mal einen Hoster braucht: all-inkl is the place to go.

Dann hatte ich also alte und neue URL. Auch die alte Domain sollte natürlich weiterhin aktiv bleiben. Schließlich läuft die eine oder andere Verlinkung dadrüber. Aus früheren Ausflügen in die Domainwelt wusste ich also: 3 Dinge müssen her, ein Backup, die Änderungen bei WordPress und der Eintrag für die htaccess.
Mein Ziel:

  • Die neue Domain die-katrin.eu aktivieren und alles so einstellen, dass immer auch in der Adressleiste des Browsers die neue Domain erscheint,
  • alte Permalinks entsprechend im Blog selbst angepasst sind und
  • jeder einzelne Link mit meiner alten Domain ebenfalls ankommt. (Wenn ich das richtig mitbekommen habe, ist das eh der leichteste Fall beim Domainwechsel.)

Backup aller Serverdaten und der Datenbank
Die Beschreibung für das Backup der WordPress-Dateien ist hier: “Backup einer WordPress Installation – Wie erstelle ich es?
Und wessen Datenbank über phpMyAdmin zugänglich ist, für den gibt es diesen Artikel hier: “Datenbank Backup mit phpMyAdmin“.

Änderungen in WordPress 3.x (in meinem Fall 3.0.4)
Grundlegender Wegweiser für WordPress ist der FAQ-Eintrag “Wie kann ich die Adresse meines Blogs ändern?“.
[update] Nachfolgende Erfahrung basiert offenbar darauf, dass ich bei meiner WP-Installation – Spielkind, das ich bin – mit Version 3.0 auch die Multisite-Option aktiviert habe. Wenn man das nicht gemacht hat, ist wohl alles so, wie im FAQ-Artikel beschrieben.[/update]

Variante 1 hat mich gleich beim ersten Blick in die wp_options.php ratlos dastehen lassen, weil Beschreibung und Datei voneinander abweichen. Der naheliegende Gedanke, in der aktuell vorhandenen Zeile define( ‘DOMAIN_CURRENT_SITE’, ‘die-katrin.eu’ ); die neue Domain einzutragen, führte auch zu nichts. Da der Artikel zuletzt 2009 aktualisiert wurde, bezieht sich wohl alles auf WordPress 2.x. Da mit Version 3.x ja aber einige grundlegende Veränderungen stattgefunden haben (und fragt mich jetzt bitte nicht nach Details, die über die Stichwörter “Multi-User-Wordpress und normales WordPress zusammenlegen” hinausgehen), dämmerte es mir recht schnell, dass ich dann wohl jetzt mal Richtung Variante 3 und meiner Datenbank schielen musste.

Variante 2 erschien mir relativ suspekt und mehr nach einer Umgehung als einer eigentlich eleganten Lösung, hab ich also nicht ausprobiert.

Blieb noch Variante 3.
Also beherzt in die Datenbank-Tasten gehauen und – fast wie beschrieben – den Datensatz siteurl in der Tabelle wp_options geändert. Den Datensatz home gibt’s nicht, aber hey, wer weiß, WordPress 3.x und so. Trotzdem neue Domain aufgerufen. Und wie ich sah … sah ich nichts. Beziehungsweise bin ich in einem “newsignup”-Loop gelandet. Wenn ich die-katrin.eu aufgerufen habe, erhielt ich die Meldung “kann Seite nicht öffnen” und in der Adresszeile erschien “http://miss-sophie.eu/wp-signup.php?new?=die-katrin.eu”. Aha! Nein, liebes WordPress, ich möchte meine neue Domain nicht als Blog anmelden. Auch im WordPress-Backend bei den Einstellungen war noch nicht überall die neue Domain eingetragen, war dort aber auch nicht änderbar.

Also wieder zurück in die Datenbank. Und jetzt fielen mir auch die beiden Tabellen wp_blog und wp_site auf. Dort verbergen sich die Eintragungen zu den angelegten Blogs bzw. nochmal ein Eintrag zur URL. Dort brav die Felder “domain” aktualisiert. Und siehe da! Alles schick und alles so wie es sein soll.

Hier nochmal zusammengefasst, in welchen Tabellen ich welches Feld geändert habe:

  • In der Tabelle wp_blog im Feld “domain” die neue URL eintragen.
  • In der Tabelle wp_site im Feld “domain” die neue URL eintragen.
  • In der Tabelle wp_options in dem Datensatz, der als “option_name” siteurl trägt, bei “option_value” die neue URL eintragen.
  • Abschließend habe ich noch in wp_options nach der alten Domain gesucht und in allen Feldern, in denen die alte URL klar ausgeschrieben war, die neue eingetragen.

Änderungen in der htaccess
Dieser Part war vergleichsweise leicht. Über die Suchanfragen “wordpress htaccess url weiterleiten” oder “htaccess domain weiterleiten” bin ich relativ schnell darauf gekommen, dass diese Regel passen müsste. Tat sie auch. Eingefügt hab ich die Regel vor den eigentlichen WordPressregeln. Das sieht bei mir so aus:

RewriteCond %{HTTP_HOST} ^miss-sophie.eu$ [NC]
RewriteRule ^(.*)$ http://die-katrin.eu/$1 [R=301,L]

# BEGIN WordPress

Das ist natürlich nur dann nötig, wenn man von der alten URL auf die neue weiterleiten will. Und wenn man nicht, wie ich, mit alten blogger.com-Artikeln rumhantiert, kann es gut sein, dass die htaccess überhaupt noch angelegt werden muss. Das Internet hilft hier tatkräftig weiter.

Statistiktool
Wie ich einen Tag später feststellte, läuft natürlich auch mein externes Statistiktool getclicky über die Angabe der Domain. Ich habe den tracking code direkt in der Datei footer.php sitzen und benutze das WP-Plugin nicht. Das reine Ändern der Angaben bei getclicky hat nichts gebracht. Das eingetragene Blog muss gelöscht und neu eingetragen werden und der tracking code ebenfalls neu in die footer.php kopiert werden.

Anti-Spam-Plugin
Beim Anti-Spam-Plugin nospamnx gab’s ebenfalls Probleme. Plötzlich sind alle Kommentare als Spam eingestuft worden. Plugin neu installieren hat auch nicht geholfen. Aber der großartige Sven Kubiak hat sich geduldig meine Ausführungen durchgelesen und mir geholfen (in den Kommentaren zu nospamnx ab hier). Vielleichtmöglicherweisemanweißesnichtsogenau gab es beim Ändern der Datenbank irgendwelche Konflikte. Dann also Harakiri in der Datenbank. Alle Datenbanksätze in der wp_options, die zum Plugin gehören, habe ich gelöscht oder die entsprechenden Einträge rausgenommen, dann das Plugin neu installiert und alles war wieder gut.

7 Comments

  1. blöde frage bzgl. spamschutz: warum nicht einfach akismet? hatte damit noch nie irgendwelche probleme.

  2. @cmi wenn ich jetzt noch wüsste, was mich damals davon abhielt, akismet zu nutzen… ;). ich weiß es echt nicht mehr. Wahrscheinlich gab es just zu der Zeit, als ich mein selbstgehostetes Blog hier aufgesetzt habe, gerade gehäufte Problemberichte bzgl. Akismet. Und zwischenzeitlich war ich mit nospamnx so glücklich, dass meine kleine, treue Seele das auch weiter nutzen wollte.

  3. Haste mir mit deinem .htaccess Tip grad eine Menge Arbeit erspart. Danke! :-)

  4. Hallo Katrin ich bin grad dabei einen Domainumzug zu machen. Klappt auch alles wunderbar (dank ein paar Tips von dir) aber ein kleines Problem hat sich nun aufgetan. Es werden nun alle links (intern und extern) in einem neuem tab aufgemacht.
    In Design -> Menüs ist nirgends die checkbox für target_blank gesetzt. Ich komm einfach nicht drauf warum das so ist. Bin für jeden Tipp dankbar.

  5. Ahoj Martin,
    da bin ich jetzt auch ein wenig überfragt. Gibt es evtl. in der CSS-Datei noch einen entsprechenden Eintrag, das die settings überschreibt? Sonst kenn ihc mich auch zu wenig mit möglichen Fehlern bei WP aus.
    Viel Erfolg! Und freut mich zu hören, dass die Beschreibung sonst gut weitergeholfen hat.

  6. Danke für deine Antwort! Hab leider noch immer keine Lösung gefunden. Es muss aber Themespezifisch sein, da es mit dem Standarttheme funktioniert.

Leave a Reply

Required fields are marked *.