Drupal vs WordPress: The Epic Debate

Posted by on Oct 10, 2011 in Articles, Design, Programming | 17 comments

In this two post series I want to cover a debatable topic: WordPress vs Drupal. If you had to pick just one Open Source CMS for your next project would you know which one to use?

Before we begin I want to make it clear that this is a very brief comparison. Knowing which is better or worse is not the point. The idea is to point out the holes in both. So, during your next project you can pick the one that fits your needs.

Also note that this post does not regard stand-alone installations of Drupal or WordPress. The idea of comparing them without taking into account community add-ons is pointless and biased.

According to the Masses

WordPress runs a number of blogs and fully customized sites as a CMS, around 60,000,000.

Half of these 60,000,000 belonging to wordpress.com leaving 30,000,000 as the top choice of hosted websites. WordPress by far is the most popular CMS for running websites. Drupal on the other hand doesn’t run as many sites, around 500,000, but numbers mean little when it comes to the truth.

  1. First, these numbers are reported by WordPress and Drupal.
  2. Second, they are incomplete. Not every site reports its existence.

Still, there is no debate. WordPress rocks the house in popularity.

Managing Content

Content management is the next thing to look at. How easy is it to add, edit and delete your information? You can almost define this section as usability.

Out of the box the admin in WordPress is much more usable than in Drupal. For example, in WordPress:

  • Content is searchable in the list view
  • Media has management
  • Built in WYSIWYG Editor
  • You can easily get around the admin pages

In Drupal you need modules to do these things. But they are still possible. It just takes some work.

This is the idea behind Drupal. You want everything to be a module. You cannot miss this point.

So, with this in mind, both have the features to get around. The implementation is the difference.

However, because Drupal requires outside modules for these usability features the admin feels disjointed. It is simply not as user friendly as WordPress. There is no argument on this between the two.

Therefore on User Interface and Content Management:

  • WordPress is light and streamlined for users and clients. It’s a tricycle.
  • Drupal is robust and crafted for webmasters. It’s a unicycle. Great if you are going to manage the content.

Search Engine Optimization

SEO is the high point of Content Management Systems. All do this well. Drupal has the modules to support it. WordPress does as well. So there is no real debate on who is capable. And to be honest, SEO has more to do with doing and knowing what is best.

Both systems have

  • Good URL naming tools: Friendly or Clean URLs.
  • Meta tag plugins or modules. Description, canonical and the like.
  • Social media tools
  • Control of Semantics.
  • Ability to add Meta data. Micro Formats for example.
  • XML Sitemaps

The only snag you will run into is the fact that Drupal lacks choice. It is also painful to setup SEO for Drupal. Specifically, version 7.

However, these are not real problems because you can still have the features. It is an implementation issue.

WordPress suffers from the opposite. There are too many SEO plugins and those for social media. You can spend as much time looking with WordPress as you do setting everything up in Drupal.

Once you find the WordPress plugins that work, you will not need to look again.

The Code

This is a painful and long topic. So, to be fair, I’ll keep it short.

Both

  • Fail at Object Oriented Programming.
  • Give you an amazing amount of Hooks. Drupal more than WordPress.
  • Have great asset management. WordPress more than Drupal.
  • Make it super easy to create custom fields and content types. They both have plugins for creating them and are very thought out. Yes WordPress has them too.
  • Have powerful Multisite capabilities.
  • Have an extremely similar theming file structure implementation. It’s scary.
  • They have powerful caching tools. You should use a CDN for both and cache pages.
  • Are licensed under the GPL.
  • Both have great plugin development options. Again hooks.
  • Backing up your site is also possible. However, this has more to do with implementation.

WordPress

  • Theming is incredibly easy. You get full control of your HTML.
  • Some functions start with “the” making them nouns. Bad practice. Developers will get this.
  • Querying content is very easy and customizable.
  • Easy to manage theming of different post types.
  • Very good taxonomy capabilities. Really easy to use.

Drupal

  • The Views Module is extremely powerful. Theme without touching HTML but it is hard to control your semantics for this reason. There is a module for that though.
  • Control of HTML is not user friendly. Painfully so.
  • Painful but powerful overriding system to change output.
  • Very painful taxonomy implementation if you are not a seasoned pro.

The list could be more comprehensive but these are the core items. The most important of them listed.

For coding WordPress has a robust template system. This gives developers and designers full control of the HTML and design.

Drupal gives developers an environment to do anything with content. The views module specifically makes WordPress look weak when it comes to setting up complex data structures on the fly.

Theme Management

Drupal does a great job of letting you use any number of themes at the same time. WordPress gives you child themes but this is not the same as multi themes.

In Drupal it is also very easy to customize the admin with its own theme. WordPress on the other hand is not known for such.

However, it is rare to need more than one theme and WordPress has many options for branding the admin theme. So, the idea that this makes one better is subjective.

Module and Plugin Management

WordPress has a lot of cool plugin features. Drupal has just as many. Managing them is another story all together.

As stated before Drupal is very robust. Drupal is also very module heavy for this reason. This means you will have an unreal number of modules for even the most simple of sites. Keeping them up-to-date and organized is close to impossible.

The irony of this is the fact that there are modules to help with the management of modules.

With WordPress you may only have a handle full. So, keeping take of them and making sure your website is up-to-date is normally pain free. Unless the plugin you have was made by a not-so-savvy developer.

Permissions and User Management

When it comes to permissions and user management Drupal pulls a Chuck Norris and gives WordPress a roundhouse kick to the face.

Drupal has many excelling properties

  • Modular control over content access.
  • Feature permissions are modular.
  • Roles are well thought out and flexible.
  • Modules for restricting content, node, menu and path access.

WordPress

  • Rights are a mess. They are mixed into both users and roles like noodles in spaghetti.
  • Content access controls are limited. Almost none existent. Limited plugins for this too.
  • User rights are simple to set and not complicated.

It is disappointing to see WordPress suffer on this one front. However, there is good news.

The development team that manages the code of WordPress is working hard to completely recode and fix users and roles. This will happen soon.

Development Tools

If there is one thing Drupal has over WordPress it is drush. Drush is a command line tool that makes doing anything in Drupal super sexy. You can create backups, update your entire site with one command, check module versions and so much more.

Drupal is a developers dream and extremely flexible platform from creating complex systems.

Future Versions and Upgrading

This is a sticky subject. The future is unknown. But we do know this. WordPress has a future and will continue to grow.

WordPress

WordPress has a strong grip on the design community. It is simple to use. Can be updated with a few clicks.

I have not seen many cons to WordPress when it comes to updates. There are many, mainly for security, but it has not been an issue. Still, WordPress has some major holes like with roles that will cause big issues in the future.

Drupal

Drupal on the other hand can be painful to update. This is especially true if you neglect drush. As far as new versions go, Drupal has also had a falling out recently. Drupal 7 being the source.

Many, like me, choose to continue in using Drupal 6 until the next version comes along.  This is not a bad thing.

In 7, Drupal has seen some huge changes to its “core” modules and code base. This includes Views, the now core CCK and many more.

Simply put. It is going to take the Drupal community a while to settle in. I don’t think this will happen until Drupal 8 or 9. I personally consider Drupal 7 the Windows Vista of Drupal.

7 has some great features, don’t get me wrong. They are game changing. But, like Windows Vista, things need to be ironed out. They will be.

Drupal has a future and will continue to grow.

Overall

WordPress is best for sites that do not require limited access and complex user groups. Basically, the majority of websites. Which makes since of its popularity.

It is easy to use, manage and maintain. From sites with millions of page views to just a few, WordPress is a favorite. CNN trusts WordPress as its content management system.

Drupal is the king of complex sites and is the developer’s friend. You will find no better Open Source tool for making robust websites. Twitters development site  runs on this system and it works well.

Again we find that this is a matter of picking the right tool for the job at hand. Just remember. Some projects grow and thus need to scale while others do not.

I will continue to use both WordPress and Drupal. You should use both too.

Related Posts

  1. Cleaning up the WordPress dashboard
  2. Change the WordPress login URI using .htaccess
  3. Gravity Forms User Registration Advanced Usage
  4. Using FitVids.js with WordPress for responsive videos
  5. Hardening and Securing WordPress

17 Comments

  1. I completely agree with you on the user and role management limitations of WP (which I really hope becomes part of the core sooner rather than later). That being said, I haven’t had a project come up to date that I couldn’t accomplish using the WordPress platform.

    • This is has been the case for me 90% of the time. WordPress development is just much faster. I can have a site up and running in no time.

      To do the same with Drupal I have to use the “features” module, which needs other modules to run. Then I need to run a script to install all of these modules plus others needed to simply get things to good start point.

      You don’t need a script to do this but if you build with Drupal a lot it is worth it.

      This is not to say Drupal shouldn’t be used. It is only to say Drupal can be a budget hog.

      Plus clients enjoy using WordPress more. This is the real selling point for me. It is simple.

  2. Great piece — I like the unicycle/tricycle metaphor, because it makes me believe someone can still create a bicycle CMS, the best of both worlds ;)

    As for me, my personal blog runs on WordPress, but that choice was made mainly to gain some experience using WP on a deeper level. Drupal does have quite a learning curve (or wall), but once you’re over it, it can be way easier than WP to create a custom site with lots of distinct features (event calendars, photo galleries, custom forms, etc). I’d still prefer Drupal for any site that’s not just handling articles/blogs, but there’s no denying WP’s back-end interface is more user-friendly.

    Best case scenario IMO: a CMS built on the OOP goodness of CakePHP =]

    • Thanks man. The bicycle is much needed. WordPress is simple. Drupal is robust. In fact I would almost put EE as the bicycle but it is not open.

      I wish I had written about how crap WordPress handles galleries. It is really awful. They totally missed the communities need for M:M. There are plugins for making things better but its still just an epic fail.

      One more thing to work out.

      I also think this is what people miss about Drupal. Its about extensions. The whole of Drupal is a load of extensions. That’s what makes it epic. Extend baby!

      WordPress == CMS
      Drupal == framework for Nodes

  3. Great review, and I agree with everything, except for the comment on WordPress and gallery sites.

    I started out learning Drupal, but after 8 months of fussing with SEO, taxonomy, figuring out Views and nodes, etc., I just got tired of it. Trying to keep track of which modules you needed for this and that module made me dizzy and frustrated…

    WordPress is much easier to learn, SEO is super easy (Use either “All in one” or “Yoast SEO” plugin), and there are a TON of great themes, free and premium, to choose from, for every type of site you can think of, even gallery sites.

    But the one thing that I hated about Drupal, and made me ultimately give up on it was the fact that I could not find a good WYSIWYG editor module.

    • Your point here on SEO is spot on. In fact Drupal 7 really failed on this account. Nodewords is still not up to snuff. However, pathauto is still rocking.

      As for galleries you can technically create a post type to make way for a better solution.

      The part that hurts me is the built in Gallery of WordPress. It till not let you use the same photo in two galleries.

      Thanks for the comment

    • Seems you’ve never tried drush or .make/profiles.

      IMO, Drupal SEO is a snap. CK Editor enforces WIYSIWYG >> clean markup & was a breeze to configure/customize.

      Designers, developers; there’s a difference.

      • I love drush .make files they .make life amazing :D Very good point though for Drupal Make files give you the ability to build feature complete sites with one command and profile.

  4. A fellow blind blogger thinks that Drupal is more accessible than WordPress. Now I’m confused… Or maybe he has yet to try WordPress. Because we use screen reader to read and modify what’s on the screen, accessibility of the CMS is a must!

  5. I recently tried wordpress and think its a bit of a resource hog, all the sites I make with it appear to run a lil sluggish and slow where all my drupal sites run fine with no modifications. I will say though that I can get a wordpress site up and going quicker than drupal. In the end I think drupal can fit pretty much any project where wordpress is nice for somewhat simple sites ie not communities Nice post btw

  6. Very informative Kevin. Thank you for sharing this.

  7. Thanks for the article. I like think I prefer Drupal, but I find it easier to use WordPress for the websites I am making.

  8. Thanks for the article. Out of the two programs Drupal and WordPress, I’d say WordPress is easier to use. In making pages / blogs they are both easy, however there are alot of differences and I suppose it depends on your taste and what you want to achieve when your making a website.

    Where Drupal is better than WordPress is in making Forum, its really easy to make. Theme-wise I like using the Drupal 7 appearance feature and I am getting good results with it. In terms of SEO I think both are okay. In terms of adding modules WordPress is much easier and has more convienence. In terms of usage both WordPress and Drupal have dashboards, but I think WordPress is easier to use and has more useful features in my opinion.

  9. Didn’t WP just get a CCK equivalent?

    & is all this really a question? Drupal is framework, the other is a blog.

    • Its called Advanced Custom Fields and There are others for created drupal content type equivalents in WordPress as well.

  10. Thanks for the great comparison. I am debating which tool to use for a new website I am creating. I am an expreienced server side java developer, but completely new to website creation and management. This article helped me a lot in starting out.

    • glad to help

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">