CMS Comparison: WordPress 3 vs. Drupal 7 vs. ExpressionEngine 2

I recently gave a ‘Day 2’ talk at the excellent Front End Design Conference about the pros and cons of WordPress, Drupal and ExpressionEngine – 3 of the most popular PHP Content Management Systems (CMSs) in use today.

Having used all 3 tools pretty rigorously over the years, I compared 18 different factors and requirements that people usually look for in a CMS – and recommend the best tool for a blog, magazine, small business, corporate or complex website.

Notes

Picking up from Slide 7…

The wrong software or tool can stop you from doing great work

Because of that, I believe as much as technology is an amazing enabler of ideas, if you pick the wrong technology, it can do the opposite and actually disable you.

It’s really frustrating when you have to go through a long process to do something pretty simple. Has anyone used Magento Commerce? Yeah you guys know what I mean.

The frustration is twice as bad when you’re a UI person, because, the chances are, you’re a perfectionist, and you want to spend almost all of your time improving the UI.

Warning

A lot of what I’m about to say is from personal experience. So that that doesn’t necessarily mean I’m correct, because I’m drawing on my experience from a sample of few dozen projects.

I will say I don’t have any loyalty particular towards any tool or technology – I use anything that gets the job done. For example, right now I’m using Windows on this Mac. Don’t ask why, it’s a long story; all my friends hate me for it.

OK, so let’s talk about CMSs…

Content management vs. Web Page building

Many clients use CMS’s like web page builders. We as designers and developers concentrate on the skin and have a space in the middle of the page where the client can add text, pictures, video and tables using a WSIWYG editor. And that’s exactly what happens. The client will add all kinds of weird stuff into that middle space, and they will style it in ways that you thought impossible.

I’m sure many of you have had sites you’ve looked at 6 months after you handed it over, and it looks wrecked. Well, it’s partially your fault, because you allowed them to do that.

On simple sites, say a portfolio site, or a blog or when there are less than 25 content pages on a site, you can use any CMS, it doesn’t matter. Personally I like CMSMadeSimple for simple business sites – clients love it.

But on big, complicated website, you can get into all kinds of trouble.

Let me illustrate…

Breaking down the content

If anyone has experience with databases, you know that you’re supposed to break down the data to the lowest level. For example, if you have a person database, their name, address, age, height would be stored in separate fields. If you didn’t do this and mixed it all together it would lead to data duplication and make it hard to find anything.

Let’s take a real example – imagine we have a university website:

Events – News – Departments – Faculty – Student Work – Publications – Research

Each of these sections has content which is connected to each other.

For example, the same news story might appear on the News page, Department page or Faculty page (if it was relevant). Also, Publications and Research can appear on Faculty pages. There are lots of other linkages, but the point is that we do not want to duplicate content and manually link things together.

Defining the content

You can see that using the database model is useful here – I need to define, map the different types of content and link them together:

  • Content is usually a mash of data, text, images, media and tables
  • There are relationships between content
  • Content is re-used (not necessarily in the same format)
  • There is a mix of ‘streams of content’ vs. ‘static content’

Knowing this stuff help you in your design, because we design around content.

Let’s talk about EE 2, WordPress 3 and Drupal 7

  1. Will this CMS make my life hard and screw up the output? Is setting up the structure of content and templating easy? Will the CMS add extra markup and junk to the output?
  2. Will my clients be able to use the site when they left alone? To use a WSIWYG editor properly, you need to know HTML, which clients don’t know. I would prefer to give them simple ‘forms’ to fill out when add they content.
  3. Regularly updated – big dev teams with successful companies driving them.
  4. A big, friendly community – useful forums with help for newbies.
  5. Lots of plugins – high-quality, updated and supported.

Out of the box, for some reason all 3 CMSs assume you’re going to build a blog.

Also, each CMS is fairly limited out of the box, but by adding plugins, it changes how useful that tool is.

Recommended Plugins:

You will notice most plugins are for ExpressionEngine because EE is not very useful without them! WordPress has thousands of plugins, but in many cases there is no clear leader in a particular category, so none has been recommended.

So which one would I pick?

Drupal and EE are not brilliant without certain Plugins.

WordPress is still primarily a blogging tool.

So which one?

All of them … with conditions

  • Blog = WordPress
  • Magazine = WordPress
  • Small Business = WordPress or CMSMadeSimple
  • Big Corporate = Drupal
  • Data-driven / Complex = ExpressionEngine or Drupal
  • E-commerce = ExpressionEngine

Bonus Tip

If you come across the problem of clients cutting and pasting from Word into your WSIWYG editor, then I have a cool tip.

You should use CKEditor, and at enable the following plugins in the config:

  • pasteFromWordRemoveFontStyles
  • pasteFromWordRemoveStyles

In addition, you can remove extra buttons to eliminate the problem of weird markup getting into the website.

Thank you!

Comments & Feedback

We'd love to hear what you think about this article - please keep in mind that comments are moderated and any spam or rude comments will be removed. Thank you!

14 responses to “CMS Comparison: WordPress 3 vs. Drupal 7 vs. ExpressionEngine 2”

  1. waivi

    Seeing as ExpressionEngine is the only truly paid CMS on the list, I’d that also makes it the clear winner compared to the others.

    EE’s support staff is awesome (because they get paid to do what they do). EE’s plugin’s are incredible (because the developers get paid for the work they put into the plugins, therefore putting better quality into them).

    WordPress is (and should remain) a blogger platform and Drupal is overly clunky and has a poor user interface.

    Great post Balal!

    • Amin

      “Seeing as ExpressionEngine is the only truly paid CMS on the list, I’d that also makes it the clear winner compared to the others.”

      Just because it is paid – does NOT make it a clear winner on that basis. Terrible reasoning.

      – – –

      “WordPress is (and should remain) a blogger platform”

      Why? WordPress can virtually do everything EE can – bonus. It is free.

      • Balal K

        Hey Amin, EE is still superior over WordPress for websites with really complicated content structures. Some websites we’ve built in the past could not have been built with WordPress.

        You’re right about the free/paid comment though – what counts is whether there is quick and effective support (which can either be from the community or a support team).

        • Ben

          For a paid for service Drupal has Acquia Drupal, who provide full support and their own managed implementation of Drupal.
          Acquia being the company of the creator of Drupal.
          So in that regard it would be similar to EE as a paid for and supported CMS.
          As for which is better debate, I’d rather not get into.

  2. Ikiam

    I just dont know… Anyway I dont have a lot os experience with WordPress but…
    by now
    I prefer Drupal… is more… “intelligent” “well thinked” “strong software” i believe…

  3. janis

    no joomla? :S:S joomla with k2 is better then wordpress

  4. Darren

    what would you recommend for a magazine that was looking for these features?
    a forum, blog and membership/WHMCS all linked together?

    • Balal K

      Hmm, I think either WordPress or Drupal would have the pre-built integration you need.

  5. Amin

    “WordPress is still primarily a blogging tool.”

    Wrong. Especially given the number of sites that ARE being generated with WordPress.

    Some of the things you need added Plugins to do in EE are either built in for simply free with WordPress.

    The only thing lacking WP is better database tools. Given how much faster WP development cycle is – that will soon be covered.

    – – –

  6. Neeks

    I have started to use ProcessWire in favor of EE for some projects, its simpler, faster, supports custom fields, has a killer API and is open source. The real winner for me is the simplicity of PW, if you know PHP, and like to code, then this system is a really good option. It’s the only CMS where I felt like I understood the concept behind it and how to use it in less then a week because it build off of what I already know as a PHP dev.

  7. Alt

    Expressionengine : Awesome, complex, flexible, EE will integrate all custom plugins and modules in the future, so EE will be the tool of the humanity. Drupal must do some efforts again. WordPress win easy against Drupal, lol it’s just not comparable. Drupal, i’ve installed it on my server and OMG, if the society pays me for a project with Drupal only, i’ll do my best, if not i go for EE :)!

    Forget the Freebie, the Open source, the security, etc, here we are talking about the revolution of CMS not the other things.

    Oh come on guys, you must be kidding me xD!

  8. Taylor Miles

    So wordpress really is not even in the same category as drupal? Beyond the fact that they are php based cms.

  9. Aki

    Hey thanks for the article. I’ve been CMS specialist for years and been using combinations of Drupal, WordPress and Joomla but now primarily focusing on Drupal. A new client asked me to use EE (that’s how I got to your article).

    I’ll play around with EE but most prob I’ll ask my client to switch to Drupal. This is because being not open source, it’s not possible to add custom modules/functionalities in EE (?).

    As for WordPress, please use it only for blogging. If you wanna make it something bigger, you’ll end up spending more time just trying to find the answer. Am not saying WordPress is bad, it’s really GOOD….but for blogging. There are certain things meant for a purpose.