Skip to main content

Don't let Drupal design your website

June 13, 2008

Drupal is an excellent content management system. It provides far more than just content management. It provides well thought out and time-tested functionality for user management, security, page caching, and the ability to easily extend your Drupal website with custom code (along with many, many other features). Drupal, however, does not design your website. So, why do most Drupal themes look alike? Great question!

A vast number of Drupal themes available for download on look strikingly similar. Perhaps it's the general notion of 'blocks' and 'regions' or the oh-so-obvious login form. Perhaps it's the typical 3-column layout that gives it away. In any case, there's a clear problem within the Drupal theming community.

Themers are letting Drupal decide how the theme should look. Why? Because the way Drupal's theme layer handles themable output is unique, and many designers look to the common theme practices to decide what will go where to prevent additional work down the road. When a designer begins work on a website that he or she knows will end up in Drupal, and that designer has worked with Drupal before, he or she has preconceived notions about how the content will be laid out by Drupal. The designer knows that the least amount of resistance from conception to completion is to eliminate as many roadblocks in between as possible. Since every piece of output from Drupal comes with 'default' HTML output, why re-invent the wheel by changing the default? Well, that is precisely why we're in the predicament we're in.

As a designer, you're responsible for building a user-friendly application which your users will use to do things. This is user experience design. As a content management system, Drupal is responsible for providing safe, secure and easy access to the creation and management of content, be it a blog post, a user account, or any number of other pieces of content. There needs to be a clearer separation of responsibilities here.

Here are three websites. Without looking at the source code, or using trickery, pick which one is a Drupal website:

You probably picked ''. Why? Probably because of one of these clues:

  • The three-column layout
  • The login form
  • The style of page numbers at the bottom of the page

Well, the truth is, all three of those websites are Drupal-powered. Each of them also happened to be designed by myself (shameful plug). The Batavian was an experiment that merited a very, very short development-to-launch timeframe. Thus, little time was spent on UXD.

The other two websites were designed from the ground up without Drupal in mind. That said, I knew that the websites were going to be powered by Drupal. What I also knew was that Drupal can be built to do whatever you want it to do, if you take the time to do it.

So, folks, stop letting Drupal design your website. Let Drupal do what it does best. Let it provide an awesome framework for building robust websites and web applications, and let it keep your users and content secure, and your page load times short, but don't let it steer you away from usable design. After all, without users, who's left?

I'm outta steam, but this will probably stir some feathers within the theming community, so let me know your thoughts.