Wie im letzten Artikel zu lesen ist, migrierte ich nach 17 Jahren von Serendipity (V. 2.3.5) zu WordPress (V. 6.1.1). Es stand in Serverumzug an und zudem wäre ein Update auf die frisch veröffentliche Serendipity Version 4.0 notwendig gewesen. Ein sehr guter Zeitpunkt für einen Wechsel zu WordPress, wie ich finde.
In WordPress’ Plugin-Galerie gibt es keinen s9y Converter. Online gefunden habe ich einen in die Jahre gekommenen Serendipity (S9Y) importer for WordPress Version 1.4.
Damit das Skript mit PHP 8 läuft, musste ich die Zeile 99
set_magic_quotes_runtime(0);
auskommentieren. Eine kurze Zusammenfassung,
was funktionierte:
Übernommen wurden
- alle knapp 2.000 Artikel
- Artikel werden in „Teaser“ und „erweiterten Artikel“ aufgeteilt
- alle über 8.000 Kommentare, die ich danach alle löschte
- alle Tags
- alle Kategorien, inkl. Hierachie
- Zuordnung von Kommentaren, Tags, Kategorien zu Artikeln
Das Wichtigste war also in die neue WordPress Datenbank konvertiert.
Was nicht funktionierte
Beispiele:
Was | s9Y | WordPress |
---|---|---|
Pfad zu Uploads | /uploads/ | /wp-content/uploads/ |
Sonderzeichen/Umlaute in „wp_posts“ | Ü ü Ä ä Ö ö ß | Ãœ ü Ä ä Ö ö ß |
Sonderzeichen/Umlaute in „wp_posts“ -> „guid“ und „postname“ | oe ae ue | a%c2%b6 a%c2%a4 a%c2%bc |
URL-Format: Tags | /index.php?/plugin/tag/wein | /tag/wein |
URL-Format: Kategorien | /categories/ | /category/ |
Diverser s9y-Code in den Artikeln | Bsp.:< !-- s9ymdb:2254 --> | Nicht notwendig. z.B. per Regex gelöscht:< !-- s9ymdb:[0-9][0-9]? --> |
Wie man es lösen kann
Solche Themen, wie in der Tabelle exemplarisch aufgeführt, habe ich direkt in der „wp_posts“ korrigiert (suchen -> ersetzen). Zudem per .htaccess umgeleitet, damit alte Links von außen den Weg ins neue Blog finden.
.htaccess Beispiele
Je nachdem, wie Deine URLs in s9y und in WordPress gestaltet sind, brauchst Du eventuell andere Umleitungen. Für meine URL-Formate, die in der Tabelle oben zu sehen sind, genügt schon dies:
ArchivesRewriteRule ^archives/([0-9]+)-(.+).html$ /$2 [R=301,L]
TagsRewriteCond %{QUERY_STRING} ^/plugin/tag/(.+)$
RewriteRule ^index.php$ /tag/%1? [R=301,L]
FeedsRewriteRule ^feeds/index(.)$ /feed/ [R=301,L] RewriteRule ^feeds/atom(.)$ /feed/ [R=301,L]
.serendipityThumb.
Per Standard werden via Serendipity hochgeladene Bilddateien zusätzlich als Thumbs gespeichert, im Dateinamen-Format: [originaldateiname].serendipityThumb[.Endung].
Per Standard werden ebenenso, sollte man die Thumbs in Artikel einbinden, im <img>-Tag „width“ und „height“ angegeben.
Ich habe die Thumbs nur in ca. 20 % der Artikel eingebunden und die Bilddateien in originaler Größe sind nicht ausufernd groß. Daher habe ich in der „wp_posts“ Tabelle alle Pfadangaben zu Bildern geändert und dort .serendipityThumb entfernt. Zudem habe ich per FileZilla im upload-Ordner alle Dateien, die .serendipityThumb enthalten gelöscht. Das waren ca. 1.600 Dateien.
Datei-Anzeigefilter in FileZilla
Diesen Datei-Anzeigefilter habe ich mir in FileZilla erstellt und alle .serendipityThumb Dateien gelöscht.
Stay blogged. 😎
Dein Matthias Düsi