Before I resume general blogging, here are some notes and observations from moving my blog from Movable Type 3.3 to WordPress. If you are considering WordPress for your blog, you may find this interesting.
Printer-friendly versions. For those of you wondering what happened to printer-friendly versions of my blog posts, they have not gone away, just changed. Simply print whatever page you want. Ads, comments and text in the right two columns will not be printed. To see what I mean do a Print Preview. As part of upgrading, I decided that using @print Cascading Style Sheet commands was a more intuitive and better way to implement this feature.
Redirection. I felt it was crucial that links that used to work on MovableType still work in WordPress. I documented some of how I solved this in this post. In some cases, changing WordPress’s permalink structure did not solve my problem. I had to dig into the details of an Apache mod called mod_rewrite. Like many things about Apache, the syntax was a bit cryptic but I struggled through it. I discovered an undocumented “feature” that WordPress will periodically rewrite part of your .htaccess file between the “# BEGIN WordPress” and the “# END WordPress” lines. Once I put my mod_rewrite redirection commands before the “#BEGIN WordPress” line, my redirection commands were no longer overwritten. I had to redirect both my category and newsfeed links using mod_rewrite. I also had to edit a number of blog posts to correct URLs to my tag libraries.
Widgets vs. Plug-Ins. Widgets are objects that show some form of content which you can drag and drop into your sidebars. Plugins are programming extensions that add to or change the behavior of WordPress. Widgets require no programming, but plugins generally require a certain amount of programming skill to integrate them into existing templates. While I am a competent programmer, I found that if I looked long enough I could do it faster and easier with a widget. Go with widgets if you possibly can.
Things I like about WordPress
- Administrator Interface. It is much easier to navigate its administrator interface. The tab and sub-tab metaphor is so much more natural than Movable Type’s combinations of menus and tabs.
- Themes. The number of ready themes for WordPress is staggering and they look good. There are clearly many first class artists out there anxious to show off their talent. Even better, they are all free! I had a hard time choosing between them, but eventually settled on the Andreas-04 theme by Tara Aukerman. I chose it primarily because it would look familiar, but was classier than what I had (which in itself is quite a complement).
- Plugins and Widgets. Like with WordPress themes, there seem to be an almost unlimited number of these gizmos that will extend and customize WordPress. The hard part is finding the one you need. Some only work on earlier versions. Some are a bit flaky. With a couple of exceptions, I was able to find a plugin or widget for each of my complex needs.
- Pages that are not posts. I like the fact that I can use the editor to create pages that are not posts. The “About” page in the top right corner is an example. This gives me a way to put up relevant information like “I am going on vacation for a week” without it being treated as a blog post. If Movable Type had such a feature, I missed it.
- Blog post editor. Finally, a WYSIWYG blog editor. I may have to stop using MS Word to compose my blog posts. In addition, adding objects like images is done by simply pressing a button. Sweet.
- Blog post protection. You can password protect a post so only those who know the password can read it. I also understand you can create communities of users who are privileged to read certain categories of posts. I do not need this feature but it is nice to know it is available.
- Emails to all subscribers. MT 3.3 could not do this.
- Search. Text search is built-in and very fast, unlike MT 3.3, which was unnaturally slow. Moreover, there is nothing to program. Just drop the search widget in on one of your sidebars and you are done.
- User accounts. I like that users can create accounts and see versions of the blog. Users can also be granted special privileges.
- Dynamic text generation. Finally, the end of static pages. Blog content (except for specially designated permanent pages) are rendered on the fly. Static pages simply add overhead and reduce flexibility.
- Blog hiding. With one button, you can hide your blog from search engines.
- PHP based. PHP is much easier for the layman to program. So if you need to tweak or extend WordPress you do not necessarily have to be a rocket scientist to do it.
Things I liked better in Movable Type
- Archive and category management. In MT, archives and categories by default will show all entries. In WordPress, the number you get in an archive or category is the number that you allow displayed on your index page, which are typically 10 or 15 posts. I hope WordPress eventually fixes this limitation. Meanwhile, you can use the Different Posts per Page plug in that will give you equivalent functionality. However, WordPress does allow archives and categories to be placed on sidebars by dragging the widget to the spot you want.
- Tags. WordPress seems to have a bug in that it cannot distinguish between a tag and a category when they are named the same. MT does not have this problem. In general, tags are better thought out in MT, perhaps because they are brand new to WordPress. MT will suggest tags to use if you type part of it on the command line. This is more intuitive.
- Daiko’s Text Widget. This is very useful because you can embed PHP code inside it yet drop the widget into a sidebar. It became my solution for showing “The Best of Occam’s Razor” posts in my sidebar.
- AdSense Manager. This widget made adding Google Adsense code very straightforward. Its only limitation is that there appears to be no way to tell it to display ads only on certain pages. I would prefer to hide ads on my index page.
- Creative Commons License Widget. This widget made it easy for me to add my licensing information without hard-coding HTML.
- Get Recent Comments. In MT, I found I had to code some template tags to show my recent comments on my blog pages. With WordPress, I just used this widget and I could place recent comments on all my pages.
- Subscribe2. Handles advanced email notifications. With the Subscribe2 widget, you drop the control on your page. With it, your readers have much more flexibility. You can unsubscribe (a feature not available in MT 3.3) as well as select to get emails only for certain categories.
- Akismet. The Akismet plug in is a godsend. It redirects comments and trackbacks through the Akismet spam engine, which seems to be a foolproof way to ensure spam does not affect your blog. Akismet is so essential that it is built into WordPress. However, it must be enabled. To enable it, you first need to get an Akismet key by creating an account on the WordPress site and then enable Akismet spam filtering on your blog. If you do not bother you will soon wish you had.