I hope to change my blogging software to WordPress within the next month. Currently I am using Movable Type to host this blog. I would like to say I am a loyal Movable Type customer, since I have used it for the nearly five years I have been hosting this blog. However, since its license allows me to use it for free for personal use, I never actually bought the software. That is not to say I have not given its owners, SixApart, some money. I needed to buy support when I re-hosted this year in order to make the dynamic publishing feature work. That cost me $50 and made me start wondering if I wanted to convert to WordPress, which serves all its content dynamically.
No, I stayed with Movable Type not necessarily out of loyalty, but mostly out of convenience. Just as after a certain point it is hard to move from Quicken to Microsoft Money because of the hassle of retraining, so it seemed easier to stay with Movable Type than work my way through the myriad issues associated with moving from one blogging solution to another.
Nonetheless, I am taking the plunge. I recently received an announcement from SixApart informing me that Movable Type 4.0 was ready. It extolled all its wonderful and latest features. Did I really want to upgrade and spend the considerable time learning how to use all these new features, particularly when I would not use most of them? Should I stay with Movable Type 3.3 until it gradually deteriorated into irrelevance? On the other hand, should I bite the bullet and move to what most of us non-commercial bloggers use today, which is WordPress?
Since yesterday was a holiday for me and being geeky looked more appealing than weeding the garden, I took the plunge. Installing WordPress, an open source blogging solution, turned out to be painless. I had to create a new MySQL database instance (easy enough to do in phpMyAdmin), copy the files over to my web server, edit a few settings in a configuration file, and then run the installation program. Installation time: about 15 minutes.
Next step: move 700 plus blog entries and 400 plus comments from Movable Type to WordPress. After digging through the WordPress documentation, I discovered I had to export my entries in Movable Type then import them into WordPress. It was relatively straightforward. Total time: another 15 minutes.
Unfortunately, by default all my WordPress posts will have URLs that are completely different from the URLs generated by Movable Type. All those search engine links would become obsolete meaning that Google might unlist my blog again. This would not do, so I went hunting through the documentation to find out how to solve the problem. Blessedly, WordPress has a way so that you can create a customized path and post names for your entries. I could make the resulting URLs look just like on Movable Type. Problem solved?
Not quite. There was a significant number of impedance issues resulting from blogging for five years with Movable Type. For one thing, until mid 2005, Movable Type limited entry name URLs to 15 characters. (Before that, entry names were numbers, like 000001.html.) Therefore, if your entry was titled “This is a long entry name” the resulting URL was “this_is_a_long.html”. If you wrote another entry with a similar name Movable Type would make sure you didn’t reuse the same name, so the next one was “this_is_a_long_1.html”. During one Movable Type upgrade, this limitation went away so I allowed entry name URLs to be up to 50 characters long, but this still left hundreds of entries where the entry name URL was truncated at 15 characters. In addition, WordPress puts dashes where blank spaces would be in your URLs. Movable Type substitutes underscores. I followed the helpful online advice but still had hundreds of mismatched URLs. Eventually, in frustration I wrote a little PHP script that identified the mismatched URLs. I also came up with a strategy for fixing discrepancies in the 15-character entry name URLs. Many of these entries had underscores in the last character that had to be fixed. Most of these could be fixed with one SQL statement.
When I make the switch to WordPress, my individual entry and monthly archives should now match correctly. Category archives though are not so simple. Had they been stored under /category/archive_name it would be straightforward but I have them under /archive_name. I am still pondering how to solve this one. The most expeditious way seems to be to create symbolic links.
In addition, currently there is no way to move over my Movable Type entry tags. This is an issue that must be solved before I can migrate the blog. The good news is that by examining how tags are stored in Movable Type and WordPress, I think I have found a way to do it using SQL and PHP. I will be testing it when I have some spare time. Moving over the tags was not possible until I first had addressed the inconsistent URLs.
I know there are all sorts of other embedded URLs that will break that will need to be addressed. These include tag archive URLs, feed URLs and differences in the search interface. Then there is the look of the blog itself. There is no utility to move over Movable Type templates, so once rehosted in WordPress, this site will have to look a bit different. Fortunately, WordPress has hundreds of themes to choose from, and they are much easier to edit than Movable Type templates. My WordPress blog is a work progress and can be viewed here. If you have any feedback on the look and feel let me know.
Overall, WordPress is slick. The user interface is much more straightforward and feels more powerful than Movable Type. It is also wholly written in PHP. Movable Type started out as a Perl application, and in my current incarnation, it is a mixture of Perl and PHP. However, I understand PHP and loathe Perl, and I know that PHP is highly scalable. WordPress will be very fast and easier for me to customize with my own programs than Movable Type. WordPress, being open source, is unlikely to disappear. Both Movable Type and WordPress have plug in architectures, but WordPress has a huge user community. Consequently the selection of templates, plug ins and widgets is much greater. Moreover, it is likely that upgrading WordPress will be much more straightforward and less of a hassle than Movable Type. Therefore, I am confident this project will pay off in the end.
I thought there would be more users who had moved over their blogs from Movable Type to WordPress. While there are clearly some, the online documentation was inadequate. Therefore, I have been contributing to improving the documentation by adding my experience in the WordPress Wiki. While wikis have been around for a while, I am still taken aback that I can make changes instantly to their official online documentation and no one bothers to review these changes.
So I expect things to look a bit different around here within a month. One thing will not change: I will continue to set high standards for myself for all the entries I place here.