Kategorien
Blogs Digitalisierung Duesiblog

Migrating from Serendipity (s9y) to WordPress

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:

Wass9YWordPress
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 ArtikelnBsp.:
< !-- s9ymdb:2254 -->
Nicht notwendig. z.B. per Regex gelöscht:
< !-- s9ymdb:[0-9][0-9]? -->
< !-- s9ymdb:[0-9][0-9][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:

Archives
RewriteRule ^archives/([0-9]+)-(.+).html$ /$2 [R=301,L]

Tags
RewriteCond %{QUERY_STRING} ^/plugin/tag/(.+)$
RewriteRule ^index.php$ /tag/%1? [R=301,L]

Feeds
RewriteRule ^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