Wordpress 2.1.2 nach 2.6. updaten
Gestern hatte ich das Vergnügen eine “uralt” Version von Wordpress nach 2.6. upzudaten. Eigentlich ist es ja gemein bei 2.1.2. von einer “uralt”-Version zu sprechen, aber die Updates von Wordpress kommen in so kurzen Abständen, dass zwischen dieser und der neuen 2.6. wirklich schon Lichtjahre dazwischen liegen.
Im Prinzip ist ein update meist nicht der Rede wert und sofern man regelmäßig hinterherzieht und das ordentlich macht, treten auch kaum Probleme auf. Etwas schwieriger wird es jedoch, wenn es ein fremdes Blog ist, welches man nicht selber aufgesetzt hat und bei dem man nicht weiß was für Überraschungen z.B. im Template versteckt sein könnten. Und wenn es dann auch noch um ein Blog mit vielen wertvollen Beiträgen geht, sollte man lieber Vorsicht walten lassen und ersteinmal auf einer Testinstallation updaten. Besser ist das – so, wie es sich im gestrigen Fall mal wieder zeigte. Nach dem upgrade waren nämlich die
Kategorienamen verschwunden
Nach dem upgrade von Wordpress 2.1.2. nach 2.6. fehlten die Kategoriennamen. Die Liste für die Kategorien war zwar noch vorhanden und auch die Anzahl der Beiträge, die sich in der Kategorie befinden, war noch zu sehen, aber der Name der Kategorie war weg.
Geholfen hat ein Beitrag von “Codestyling” aus dem Wordpress-Forum.
In der Tabelle: wp_term_taxonomy wird beschrieben, welche IDs |Feld term_id|
eine category:|Feld taxonomy| sind.
In der Tabelle: wp_terms kann man dann allen IDs, die als category identifiziert wurden, neue Namen vergeben:
| Feld name | Feld slug |
Slug ist der Teil, der für die url verwendet wird.
Im phpmyAdmin zunächst bei Feldname und Feldslug einfach ein Dummy mit der ID eintragen:
z.B. ID = 4 -> name auf “cat-4″ und slug auf “cat-4″ setzen.
Dann in den Admin gehen und über Verwalten => Kategorien wieder die richtigen Namen einsetzen.
Hier nochmal, auch als Notiz an mich selber, wie man vorgeht:
- Datenbankbackup erstellen
In der alten Installation suchen ob die Exportfunktion für die Datenbank vorhanden ist. Wenn nicht, kann man ein Plugin Zur Hilfe nehmen:
http://www.ilfilosofo.com/blog/wp-db-backup/Sicherheitshalber auch unter Verwalten => Export ein xml-Export File erstellen.
Wer über phpmyAdmin Zugang zu seiner Datenbank hat, kann auch von hier ein mySQL Dump erzeugen. Bei manchen Blogs kann es sein, dass die Datenbank ein beträchlichen Umfang hat und für einen Export aus dem phpmyAdmin heraus zu groß ist. Hier empfiehlt es sich http://www.mysqldumper.de/ zu verwenden.
- Auf einem Testwebspace zunächst die gleiche Version wie vorhanden installieren. Falls die alte Version nicht zur Hand ist im Archiv vom Wordpress nachschauen:
- static.wordpress-deutschland.org bzw. englische Versionen
- wordpress.org/download/release-archive/
- Wordpress installieren und danach in den phpmyAdmin der Datenbank der Testinstallation gehen und über den Reiter “SQL” die zuvor gedumpte Datenbank importieren.
- Blogurl ändern
in der Tabelle wp-options nicht vergessen bei “blogurl” und “home” die Seitenurl zu ändern. Tut man das nicht, springt das Blog automatisch auf die Original-Adresse. Siehe hierzu auch testblog-auf-localhost-einrichten-blogurl-andern/
Wer sich nicht zutraut in der Datenbank die Eintragungen zu ändern kann (theoretisch) auch auf dem original-Blog vor dem Datenbank Dump im Admin unter Einstellungen die neue url eintragen und mit den geänderten Einstellungen dann den Dump machen. Ich habe es so noch nicht gemacht und deswegen sage ich mal vorsichtshalber: “theoretisch”, denn man muss die geänderten Einstellungen schnell wieder zurücksetzen, darf also die Seite nicht refreshen oder wegklicken. - Deutsche Umlaute
Falls nach dem Importieren die Umlaute als Zeichensalat angezeigt werden, gibt es unterschiedliche Möglichkeiten das zu beheben. In den neueren Versionen funktioniert das meist ganz einfach indem man in der config.php eine klitzekleine Änderung vornimmt und die beiden folgenden Einträge durch 2 vorangestellte Schrägstriche auskommentiert.//define('DB_CHARSET', 'utf8'); //define('DB_COLLATE', '');
Diese beiden Eintragungen sind aber in älteren Versionen nicht vorhanden, deswegen : falls Zeichensalat vorhanden ist, erstmal einfach so stehen lassen und nach dem update, wenn die neue Version eingespielt ist, die Änderungen vornehmen.
- Update
in der bekannten Reihenfolge vornehmen:- Alle Plugins deaktiveren
- Theme auf default zurückstellen
- im root alle Ordner bis auf wp-content und die config.php löschen
- alle neuen Dateien (ohne wp-content und config.php) hochladen
- admin besuchen, plugins und theme wieder aktivieren
Nun kann ich nicht wissen ob bei einzelnen evtl. exotischen Installationen weitere Dateien und Ordner vorhanden sind und wo diese evtl. liegen. Falls auperhalb des wp-content Ordners, muss man natürlich drauf achten, dass diese nicht gelöscht oder überspielt werden. Grundsätzlich macht das jeder auf eigene Gefahr.
- Nochmal Zeichensalat :Wenn das Blog jetzt erfolgreich auf eine höhere Version upgedated wurde und der Zeichensalat immer noch besteht, kann ein Versuch gestartet werden durch die weiter oben beschriebene Auskommentierung, die Darstellung zu ändern. Hierzu die Daten aus der config.php (alte original Version) in die config.php der höheren Version eintragen, die Auskommentierung vornehmen und jetzt auch die config.php auf dem Server überschreiben. Wenn das nichts hilft, die sql Datei mit einem Texteditor öffnen und das Charset mit Suchen/Ersetzen austauschen. Alternativ gibt es auch bei Frank Bueltge ein Skript zur zeichsatzkonvertierung, welches ich aber noch nicht ausprobiert habe.




