After ignoring the back-end of my blog for way too long I finally decided to migrate off Serendipity. I installed Serendipity back in 2005 when there were many interesting choices for blogging platforms. However, I didn’t keep up with the updates and the comment spam was out of control.
Long story short, I’m now on WordPress. At this point, I don’t have any URL redirection for links to old entries. I manually updated the ones within my own posts and I think the only other person who ever links to me is Jaeger. So, Jaeger may end up writing something for his own convenience.
Anyway, I’m still not convinced WordPress is the best option but it’s working well enough now that I think I can ignore it for another couple of years.
Now, if you want the longer story . . .
My initial plan was to migrate my blog to a hosted option where updates were nicely taken care of for me. I started researching blog hosting options and was surprised by the lack of options. I was leaning toward using Blogger since it would fit most of my needs. However, I was stumped over how to import my entries from Serendipity into Blogger. Serendipity provided me with a nice RSS feed of all my entries but there didn’t appear to be an obvious way to take those entries and import them into Blogger.
I spent several hours poking and grumbling out loud at which point Jaeger started suggesting that I should try out wordpress.org 1. I was resistant because I really wanted a hosted option. However, after several more hours, I decided I didn’t care that much and was willing to give WordPress a try. At the very least, it’s such a popular platform that presumably there are many anti-spam widget options available.
Jaeger started the famous 5-minute install which turned out to be more than 5 minutes but, all things considered, wasn’t too bad. Importing my entries was fairly trivial. Importing the comments was a lot trickier since there didn’t appear to be an easy tool to do that.
Eventually, I dumped all my comments out of Serendipity, importanted them into gnumeric, ordered them by date and, using the date, attempted to match them up to the new IDs in WordPress. This worked reasonably well but wasn’t perfect since the dates seemed to be subtly different, even when adjusting for timezones. However, I only had a couple hundred entries so it wasn’t too painful to sanity check the date ordering.
Once I got the IDs matched up, I figured out what columns were equivalent between Serendipity and WordPress and then put fake values in the new columns. Then I exported the data with a | as the field separator.
My next task was to try to bulk import these values into the WordPress database. After some fumbling, I discovered that I had to be root to do this (why?). After some fiddling with the mysqlimport options, everything finally seemed to import into the database correctly. “Approving” the comments on the database side didn’t seem to make them show on the web side so I went through and bulk unapproved and then reapproved the comments through WordPress’ web interface.
The last bit was figuring out what template to use and which widgets to install. I stuck with the default template. However, I felt the header image was a bit too large 2 and in an odd place so I made it smaller and moved it between the blog title and menu sections.
For plugins, I installed a spam plugin 3, a URL checker, footnotes, and then one that let me add javascript to my sidebare so I could add my LibraryThing widget.
- I’m still not sure why he was pushing WordPress. It uses MySQL and PHP, both of which Jaeger considers evil. ↩
- Possibly this is because my laptop’s screen is fairly small by modern standards. ↩
- I have seen suggestions that installing multiple spam plugins is best but I’m going to stick with one to start with and see how that goes. ↩
Welcome to WordPress. You could have made a worse choice. ;-)
If you don’t want MySQL and PHL, there are interesting choices, but I don’t think they have hosting options.
Good luck!
I don’t have a major problem with MySQL and PHP, especially for my needs. However, it is amusing to hear Jaeger muttering about it.
My biggest problem is I’m much more familiar with Sybase, that’s what our integrated library system runs on, so some of the fairly obvious things with MySQL require me to sit and think about longer. Or, sometimes it reacts in a way that I don’t expect.
Since I don’t believe in leaving dead links if I can possibly avoid it, I’ve set up a set of redirect rules from the old Serendipity URLs to the new WordPress URLs for the feed and all posts. Conveniently, WordPress kept the old post guids from Serendipity so feed readers that use the guids will ignore older posts.
I’m not sure anyone else cares, but I do, and I got to study mod_rewrite to figure out exactly how to do it.