As a result of my recent spate of articles on blogging, I have received a number of messages from would-be bloggers asking which blogging software they should install.
There are some factors to consider when choosing a blog software. Essentially, it boils down to your plans for your blog, your abilities and whether you are going to be running multiple blogs with multiple authors.
There are many blogging scripts available. I will only examine three blogging software in this article for the simple reason that, at the time I write this, these are the only three that I have sufficient experience with. However, since they are among the most well-known programs around, and are probably the ones you are checking out anyway, this article is likely to be relevant to the majority of people considering a blogging platform.
(Perhaps the only other famous blogging software that I'm not covering in this article is Movable Type. Again, it's for the earlier-stated reason that, at the time I write this, I have not used it long enough and in as thorough a fashion as the others to include it.)
Note that I am not going to cover the blogging web hosts (with their custom blogging platforms) at all, since choosing blogging web hosts involves more issues than those discussed here. This article only targets people who are thinking of installing a blog software on their own web hosting account, probably obtained from a normal commercial web host.
WordPress is arguably the most popular blogging software used today, and with good reason. It is extremely easy to install, even for newcomers, and works very well out-of-the-box. The default setup requires very little tuning to make it search engine friendly, and what tuning it needs can be easily done from within the WordPress user interface. There's no need to meddle under the hood to write PHP code or whatnot just to get it working the way you want it to.
It also has a lot of plugins available, so even things that are not supported by default, like the meta description tag, can be easily added by means of a plugin, as mentioned in my other article General Principles for Designing a New Theme or Template for Your Blog.
This is probably the software you should use if you satisfy the following conditions:
You want to "just blog", and don't want to mess around with programming code, website design and the like.
You are satisfied either with the default theme (appearance) provided by WordPress, or can find a WordPress theme from a third party that suits your requirements. (There are plenty of those around.)
You are a solitary blogger — you don't need support for separate blogs on one website, where there are different people posting to different blogs. (Update: the latest version of WordPress now has support for multiple authors built-in.)
Personally, I feel that WordPress is probably a good choice for most casual bloggers. It particularly excels if you are a newcomer to web development, since the default setup is perfectly usable if you are not too fussy.
It's also free.
Drupal is more than just a blogging tool, although more and more people are using it to blog. It is a full-fledged content management system (CMS), which means that you can use it to run your whole website, set up forums, shopping carts, normal web pages, etc. As a consequence of this, it is also considerably harder to set up than WordPress.
The default setup for Drupal also needs some work before it can be used optimally for blogging. However, its fundamental design as a CMS starts to shine when you need to support multiple blogs with multiple authors. Support for multiple blogs, multiple sites and multiple authors come built-in with Drupal.
Designing your site to look and behave the way you want it to with Drupal, however, will probably be a daunting task for many people. Don't undertake it unless:
You know how to write PHP programs. Yes, you read it right — knowledge of PHP is mandatory.
You are willing to devote time to deciphering the Drupal source code. (Remember, this is someone else's code, so deciphering it takes more time and effort than figuring out your own.)
In addition, don't be deceived by appearances — it may appear as though you can configure a Drupal theme by simply modifying (or creating) some theme files. However, you will soon find that some features can only be supported or suppressed by going through the other files in the Drupal core modules. (Unfortunately, which files these are is not necessarily documented nor where you expect them to be.) In other words, there's no clean separation of things in the Drupal source code -- to change or support particular features, you will have to go through many files that are all over the place.
To sum up, use Drupal if:
You need support for multiple blogs and multiple authors. Drupal's built-in support for this is superb.
You don't need to implement your own theme or template, or you don't mind spending time to figure out the Drupal source code and have the programming (PHP) and designing (HTML/CSS) ability to do it.
Drupal is free.
Update: this section refers to an old version of Expression Engine (version 1.6.x). I have not tried the new versions of this software. I understand that it is a completely different animal, so I have no idea if any of the things mentioned below are even relevant any more.
Expression Engine is a powerful content management system that can be used to manage your website and blog.
Where this software really shines is the ease with which you can configure your site and the extent you can control things. Unlike Drupal, you don't have to be a programmer to create your own theme, and for the most part, you can even use a WYSIWYG web editors to design the appearance of your web pages. You simply have to add some tags into the portions of your pages where you want your posts to appear, etc, when you're done. In spite of this ease of configuration, you can control and configure just about every aspect of your blog or website's appearance and behaviour. For example: do you want a meta description tag field? Just create a "custom tag", add it to your template, and the field will automatically appear in the Post screen when you write a new entry.
While the software is a web designer's dream, its out-of-the-box configuration at the time I write this is less than ideal. The default theme that ships with Expression Engine is, quite frankly, something that no self-respecting webmaster would want to use. Note that I'm not talking about the appearance here. The title tags of every page on your blog is by default the name of your blog. If you don't know why that is not a good idea, read my article How to Create a Search Engine Friendly Website. Your page web statistics is also, by default, displayed on your web pages. (Come on people, only newbies want to display how many people visited their website! Everyone else uses their stats for other purposes.) The 404 page, along with the proper 404 HTTP status code, is not displayed in the default theme for missing pages, whereas WordPress and Drupal has support for displaying 404 pages out of the box: the webmaster doesn't have to mess around with about such petty details.
Use this software, if:
You want to configure your own theme for your blog. I know of no other blog software that comes even close to how easy you can control every single aspect of your blog. Try designing for Drupal and then move to Expression Engine and you'll know what I mean. And you don't even have to be a programmer to do this.
You are willing to pay for a licence if you run a commercial site.
This is commercial software.
I did not include a comparison of the list of features between the three blogs because all of them include the necessary features you will need to create, post and maintain a blog. Indeed, in view of the extensible nature of all of the software, you will probably be able to find plugins, add-ons, or modules (or whatever the particular software wants to call the third party extensions), to supply any feature you want. A detailed comparison of the features is thus a waste of time.
Although I initially wanted to include performance measurements of the different blogging software, I realised that to do so would be like comparing apples to oranges since my blogs using the three software have different topics, posts, template design, target audience and even web hosts. These factors conspire to make any comparison of their performance problematic. I cannot even measure the number of SQL requests each of them uses, since those, to some extent, also depend on my templates, which differed between my sites, how I configured the software and the traffic the blogs receive.
All I can say is that using any blog software causes greater resource usage than a static site like thesitewizard.com, and on occasion, it is possible for me to perceive a difference in response time in the pages delivered by the blogs from those on my static sites. Of course this isn't saying much, since it's a given. But I decided to note it here, since if I don't, I'll probably get a deluge of messages asking me about performance considerations.
While I was in the past obsessed with optimizing performance, I've nowadays mostly resigned myself to the fact that any dynamic site requires greater resources, and that one day, these sites will need to move to their own dedicated server(s).
As you probably have realised by now, which blogging platform you choose for your site depends on your needs and to a certain extent ability. If you go through the list of strengths and weaknesses of each of the platforms mentioned above, as well as my notes on when you should use each of these blogging scripts, you should be able to decide on the software that is best for your purposes.
Do you find this article useful? You can learn of new articles and scripts that are published on thesitewizard.com by subscribing to the RSS feed. Simply point your RSS feed reader or a browser that supports RSS feeds at http://www.thesitewizard.com/thesitewizard.xml. You can read more about how to subscribe to RSS site feeds from my RSS FAQ.
This article is copyrighted. Please do not reproduce this article in whole or part, in any form, without obtaining my written permission.
It will appear on your page as: