Neil Turner's Blog

Blogging about technology and randomness since 2002

Templates in WordPress, MT and Blogger

Yesterday, I released a version of IcyBlue for Blogger, making that template available for MT, Blogger and WordPress now. Since many people are looking at alternative systems right now, I’m going to write this entry comparing the different template systems.

Blogger

Since I started using Blogger nearly 2 1/2 years ago, the templating system has changed quite a bit, most recently with its relaunch three weeks ago. Previously, you had two templates – one for the index page and archive pages, and one for the master archive index. You now just have one template with conditional tags that vary the content depending on whether it’s an index page, archive page or whatever.

While just having the one file means everything is kept together, I personally find it to be an extra level of complexity, although it makes it a lot easier to maintain a common look across all pages.

You can’t add your own extra pages (say to add an RSS feed) or edit the Atom feed manually.

Integrating Blogger content into other pages isn’t so easy. You would probably have to use an XML parser to read the Atom file, or something.

Naturally Blogger comes with a variety of gorgeous pre-designed templates, so unless you want to add that personal touch or want to integrate your blog into a general site feel, you probably won’t need to get under the hood anyway.

Movable Type

It’s fair to say that MT is the CMS I have the most experience with – I’ve been using it almost daily for the best part of two years now. MT gives you by far the most control, with a huge array of tags and the ability to create and modify many different templates. You can modify the template for pretty much every public page, including feeds.

The disadvantage of this is that changing the look of a weblog means modifying multiple files. A typical MT weblog will have an index page, master archive page, pages for every entry, monthly archives, 3 comment popup templates (4 in MT3D) and a trackback popup template – to change the design means modifying all of those, plus any other archive types that you may have enabled. If you compare the file sizes of the different versions of IcyBlue, the MT version is by far the largest. You could use template modules to alleviate this but they aren’t enabled by default.

Integrating content from a MT site into other pages isn’t as difficult as Blogger since you can create new templates within MT to act as the extra pages. Potentially you can also write a Perl or PHP script to pull stuff out of the database too.

WordPress

I haven’t used WordPress for anything more than a test weblog so far, but I have had a chance to play with it and have got my templates working with it. WordPress follows a similar route to Blogger by plonking almost everything in one file, but uses PHP functions as opposed to its own tagging format. On one hand, this makes the templates look a little more scary, but has one major advantage – once you’ve add one line of code at the top of the file to import WordPress’s basic functions, any PHP file can have content from a WordPress weblog, thus making it very easy to blog-enable other pages on the site.

I did say that ‘almost’ everything is in the main index. This is because some elements (namely the comments system) are controlled by other files, and so if you want to modify those elements, you have to edit these other files. WordPress confusingly doesn’t have a list of all the files you can edit (it doesn’t even list the stylesheet), so knowing which files to edit can be confusing at the best of times. The RSS and Atom feeds, for example, can be edited, but you have to know the filenames.

Conclusion

So what system do I prefer? Out of these three, Movable Type, probably due to my slightly control-freakish nature. It gives you so much more control over templates, and it also has by far the best documentation of any of the three. Implementing an Atom version of my category archives, for example, is a 5 minute job in MT – I have no idea how to do even start it in WordPress (and Blogger doesn’t have categories so that’s a none-starter). I will admit, however, that my greater experience with MT is probably a contributory factor to this.

All systems have their own advantages, but I think it would be difficult to combine these into a one-size-fits-all solution.

I have tried to like WordPress but I’ve found it lacking, and it’s poor template support is one of those things that irks me about it. I would love to see someone come up with a system more like MT’s which would give me more control. I’m not the only one – Les gave up on WordPress and went to ExpressionEngine because it was simpler.

3 Comments

  1. There are still two seperate templates available using Blogger: one for content pages and one for the archive index. Currently I use the archive index template to mannage my navigation bar, which is then imported into the main pages using SSI.

  2. Hmm, that’s disapointing to hear about wordpress, I was hoping to switch to it myself sometime in the future.

  3. Another interesting piece Neil, and an area I am painfully aware. I am one of many I imagine that have nabbed your MT template as a starting point (and very nice it is too), but I have gone through LJ, Blog-City, Blogger, MT and others – and each differs in the approach to templates.
    For the record, *the* best system I have yet worked with is the new Expression Engine setup (EE in general is a stunning piece of work), which is very powerful and I think very logical. Not perhaps for beginners though.