Three and a half years ago I decided to start writing a few blog posts about technical bits and pieces I was undertaking. At that time I had a VPS running a few PostgreSQL databases and very little knowledge of the different blogging systems available. I considered a few different options for publishing the blog including Drupal, Wordpress and Serendipity. I ended up going with serendipity primarily because it supported PostgreSQL, was a dedicated blogging engine and came recommended by Penny.
On reflection I don’t really think Serendipity was the right choice for me – it doesn’t seem particularly active compared to the alternatives and thus needs some vigilance to keep an eye out for the latest security fixes. The version I was using seemed particularly plagued with php deprecated warnings after upgrading my server to squeeze.
So having recently blogged a few times recently I became a bit more motivated to do something with the blog hosting.. My requirements were relatively simple:
- Permalinks must be retained (else i’d just start again..)
- I don’t care about comments (there haven’t been enough of value to retain and recently a lot of spam..)
- I’d like to reduce the maintenance required (if I can get rid of the virtual server that’d be cheaper too)
I use a lot of Google services and a couple of my friends use blogger – it seemed functional enough for my needs. Unfortunately, whilst blogger supports import and a custom domains it did not seem to allow for changes to the format of permalinks so I wouldn’t be able to migrate here.
Wordpress itself seems to have all the elements to allow a migration from serendipity. The wordpress.com hosted solution talks of support ‘domain mapping’ but didn’t seem to mention permalink changes. When I signed up for a free blog I couldn’t see a way to change the URL format despite tantalising articles suggesting it was possible.
I contacted the wordpress.com support team asking if changing the permalink url was a service I could pay for (giving an example of my current blog and the wordpress.com post i’d to follow the same format). Two weeks after my request I got a response telling me the difference between the open source project and the wordpress.com hosted solution and that I was confused. I tried to clarify but the support response pointed me to wordpress.org support. I gave up.
Self Hosted Wordpress
Having played with Wordpress on wordpress.com I quite liked the look of it – clean and simple plus I know it is incredibly popular and an active project. Its frustrating that it doesn’t support PostgreSQL, but I am running another MySQL-only website ((My own archived website from days of my youth when I didn’t know better :-P)) so I got over my religious views quite quickly.
I completed the migration from serendipity by:
- Using the RSS Importer from the full feed. I wasn’t that bothered by much of the metadata, mainly just the post content and dates and this plugin carried out the job admirably.
- Changing the permalink structure to match the existing serendipity structure:
- Adding a few redirect rules to keep existing links I cared about working ((I did not optimise or consider these for more than about 10 seconds, so i’m sure they could be written better)):
RewriteRule ^feeds/categories/([0-9]+)\-(.*)\.rss$ archives/category/$2/feed [R=301,L] RewriteRule ^categories/([0-9]+)\-(.*)$ archives/category/$2 [R=301,L] RewriteRule ^feeds/atom*$ feed/atom [R=301,L] RewriteRule ^feeds/index.rss2$ feed/rss2 [R=301,L] RewriteRule ^feeds/index.rss1$ feed/rdf [R=301,L] RewriteRule ^feeds/index.rss$ feed/rss [R=301,L]
- Transferring the images hosted from the blog and altering the links to their new location
- Examined the 404 logs to look for things I missed and care about.
All in all this was a fairly straightforward process made quite simple by the fact I have so few blog posts that I could easily verify the results.
The time consuming part
The default wordpress theme allowed me to upload custom header images to display randomly on the top of this blog, its made super easy by having a web based cropping interface and I thoroughly enjoyed spending ¾ hours last night selecting images from my travels which are displayed above! ((HINT HINT, RSS readers ))