When to use Wordpress and when Drupal

Too often people pit Wordpress against Drupal - but it is not a question of one or the other. Rather it is about which one to choose given the task at hand.

My two preferred content management systems for website development are Wordpress and Drupal. I used Joomla as well for an extensive period but found the elegance of Drupal and immediacy of Wordpress far more appealing in the long term.

They both have active communities, a plethora of modules (for Drupal) or plugins (for Wordpess) and intelligent leaders at the helm in the form of Dries (Drupal) and Matt (Wordpress).

They make use of the latest technologies leaving you with a website that both behaves well in a World Wide Web requiring information to travel easily from site to site and provides a number of ways for users to keep up with you through it.

However, the two systems were developed for different purposes so I believe it is pointless to compare the two in order to proclaim an overall winner. That way it is the developer that looses out. Much more useful is to identify when one should be used rather than the other. We start with Wordpress and the move on to Drupal.

When to use Wordpress

Wordpress started out as purely a system for blogs and that is where its strengths are. Although it has improved greatly over the last two years to now be able to perform all sorts of tasks the thing it does best is to provide a very feature-complete blog (I am talking necessary features rather than nice extras that not all bloggers need). The addition of pages (content outside a blog's timeline) and widgets (little pieces of functionality that can be added to any page) to all the great blogging features also means that you can build a great more general website with Wordpress.

And there are countless situations where the mixture of blog + pages + widgets is more than enough to produce a great solution. Take the website of a web development company such as istos. We only need a few pages to describe what we do and a blog. Wordpress has us up and running in 20 min.

The owner of a hotel or villa for rent can also be up and running in no time. You can upload photos to describe your accommodation, use a plugin such as the excellent cforms to allow clients to contact you and have the blog for your latest offers, news, etc. Add a weather plugin and you cover the needs of about 90% of the smaller accommodation websites.

As you can imagine practically any company that just needs an online presence of a few static pages and a way to engage with their customers can find with Wordpress all that it needs.

Now, don't get me wrong. I realise you can do much, much more with Wordpress, and do it very well. But that would require you to get dirty with some code and probably get creative with what tools Wordpress makes available so as to force out of them something else. But when it comes to coding and flexibility I believe Drupal in more suited.

When to use Drupal

Drupal set out to be a more generic content management system. Some inspired initial decisions that at the time Drupal was realeased where ahead of their time now make Drupal one of the most flexible and powerful systems available. These decisions where the use of taxonomies to categorise content (long before tagging was popular) and the concept of a node as a generic content type that can be easily expanded upon. Add to that robust user management with fine-grained access control, a very powerful theming engine and a way of adding extra functionality through modules by tying the URL used to specific functions within a module and you have a web application development framework as well as a content management system.

However, all of this power (as countless others have said) comes at a cost. Complexity.

The first approach to Drupal is "huh?". That is especially true if all you are looking for is a quick solution to a relatively limited problem.

If your needs are more complex such as: you need different types of content each one with their own different types of fields; you need to present that content in many different ways; you need to have user interaction that goes beyond just posting comments, etc then Drupal can let you do all of that straight out of the box. Granted, you will have to spend some time understanding how different modules interact, how themes are created but you can avoid writing any code and will have things working in a week max. The key is to understand the basics of Drupal and modules such as the Content Development Kit and Views.

Drupal is at its best though when you dedicate even more time to understand how you can write modules and use all the existing modules through code. Then you find that you have a very powerful set of tools at your disposal that will allow you to create websites that offer a whole range of functionality.

In short, Drupal is a coder's/hacker's dream system. If you actually want to work with code to develop your websites then you might as well dedicate the time to learn to code with Drupal as your underlying framework. The learning curve is steeper and longer than Wordpress but what you get on the other side is far more powerful.

The rule of thumb

In general the rule of thumb is that Drupal is appropriate for more complex sites where you need to leave plenty of scope for development and expansion and perhaps want to support a community of users while Wordpress is appropriate for the smaller websites where the only people updating it will be the owner of the website and the developer.

Also, I don't care what some Drupal users say it is much simpler to run a personal or multi-author blog with Wordpress than it is with Drupal.

A couple of clarifications

I realise that there are lots of other systems out there in many other languages that might be just as good. However, if you are a web developer that has to deal with a range of different clients and do not always have the luxury to choose the hosting environment or spend long hours to learn even more languages then a standard setup of Apache, PHP and MySQL is the easiest to find. And on that setup I don't think many other systems beat either Wordpress or Drupal although I would love it if something better came along (because that means my life just got easier!).

Add new comment