The Story of Migrating From Serendipity (s9y) to WordPress

As I posted a couple of days ago, I’ve moved the blog from Serendipity to WordPress. The reasen for this was detailed in the other post, as I simply weren’t too happy about how s9y worked in regards to pingbacks/trackbacks and the general quality of the code. Anyways, this is a general post for those who wish to make the same move, and are wondering about how.

After installing WordPress, delete all the existing posts in the database and reset the AUTO_INCREMENT value (needed if you want to keep your old links working). If you do not do this, your ID values may be skewed by 2 or more. Download and install the Serendipity importer for WordPress. After installing it you’ll have a new option under “Manage” -> Import that enables you to import your posts from s9y. Do the import, and check that your posts got the same IDs as they had under s9y.

Then you’ll have to do some fiddling with the .htaccess file, so that mod_rewrite knows about your old URL scheme. These rules worked for my installation of s9y, your milage may vary (and please, if you find any problems, post a comment or a pingback to your fixes). Add the following lines together with the existing WordPress rules:

RewriteRule ^archives/([0-9]+)\-[a-zA-Z\-_]+.html$ /index.php?p=$1 [L]
RewriteRule ^feeds/index.rss2$ /feed/ [L,R=301]
RewriteRule ^feeds/index.rss1$ /feed/ [L,R=301]
RewriteRule ^feeds/index.rss$ /feed/ [L,R=301]

This should also keep most of the RSS-readers out there happy, but you might want to change the feed addresses if you have several different formats of the RSS available. This does not include the category/ etc. links from s9y, but those will be reindexed at a later time by any search engine anyways. The most important thing is to ensure that people who are looking for your old posts still are able to find them.