WordPress vs. Drupal ... fight!

As a user and developer of WordPress since 1.x something, and a developer and user of Drupal since 4.7, I figured that with the release of Drupal 7, this would be a great time to do a comparison of the two.  If you want a really detailed look, please read the very exhaustive, recently released, updated Idealware report on OpenSource CMS, which includes Drupal, WordPress, Joomla and Plone. I did the research for the original report released a couple of years ago, so it's been a while since I've come back to comparing these two platforms. Also, this is primarily going to be from the developers point of view, although I'll talk some about user interface and experience. (A caveat: I have more experience, especially with larger sites, in Drupal than in WordPress, so there are things that I may be missing. Feel free to make comments on what I got wrong.)

 

WordPress started out with a focus on ease of use for bloggers and content creators, and secondarily providing a platform for developers to build plug-ins and such. WordPress was born as a blogging tool, primarily, and has expanded outside of that realm, to encompass different kinds of content management use cases. Drupal started out primarily as a web content development platform, with a strength in community features. A focus on ease of use didn't come about until Drupal 7. At this point, both Drupal 7 and WordPress are pretty easy for end users to add and edit content, and do pretty simple administrative tasks (moderate comments, etc.) They both have a very nice array of canned themes available to use, and they both have some customizable themes (themes that make it easy to customize without needing to know much HTML or PHP - like Thesis) available. Getting a site up and running in both platforms is pretty easy, although neither are really ready for non-techies to take on. That said, most good webhosts have one-click installs of both CMS platforms. WordPress still has only two content types: Blog Posts and Pages. You can't have different kinds of pages, or different kinds of blog posts, or some other content type (news, events, etc.) that aren't one or the other. That is a deal-breaker for many kinds of sites. There are plug-ins that allow you to create custom content types - I haven't tried these, so I can't comment, but it seems a big deal that this is core for Drupal, and an add-on for WordPress. And it seems that this, and the absence in WordPress of a way to easily control the way that lists of content are presented and viewed are the major platform differentiators. That said, many, many websites need neither of these features. And if you want to get more deeply under the hood, both platforms require some understanding of the respective platforms (how plug-ins work in WP, how modules work in Drupal), and probably a bit of PHP, HTML, or AJAX to add bells and whistles to the theme. Given some big changes in the core of Drupal, such as adding fields to nodes, as well as image handling in core, some things are much easier dealt with in Drupal  7 than previous versions, getting close to the ease of use of WordPress in that regard.

 

Kinds of sites probably best done in WordPress:

  • Blogs
  • Community Blogs
  • Simple brochureware websites
  •  

Kinds of sites best done in Drupal:

  • Large community sites where you need different kinds of content generated by users (blogs, wikis, job postings, etc.)
  • Complex, document-heavy library sites, or sites that need document management
  • Sites where you want complex control over multiple content types - how they are created and viewed
  • Magazine/Newspaper like sites where you want to control how lists of content are displayed and ordered
  • eCommerce sites
  • Sites with deep integrations to CRM platforms and web services
  •  

Kinds of sites where it's a tossup:

  • Medium or large websites with lots of content, but relatively simple organization
  • Community blogs with many authors and identified, authenticated users

 

Bottom line: They are both such amazing, solid platforms, with rich, deep ecosystems of plug-in/module developers, implementors, designers, etc. that it's hard to go wrong picking either platform, as long as you are clear on the feature set needed.  They have rock-solid core development teams, security updates, and over all good code, which you could hardly say about either platform 4 years ago. Also, I have to say, as much as I have respect for other Open Source CMS platforms, IMHO, 98% of websites can be served by either of these platforms. That's what's true right at this moment. 3 or so years down the pike, I'm going to be looking at platforms based on Ruby on Rails - as Rails gets more mainstream, and solid CMS platforms start to mature, that will be the space to watch for. But that's another blog entry, isn't it?

Comments

[...] This post was mentioned on Twitter by nptechblogs and Wired Causes, Monique NB. Monique NB said: RT @nptechblogs: WordPress vs. Drupal … fight! http://bit.ly/he14LR (via @pearlbear) [...]

This really is a good way to get lots of people piling on.
So I might as well put in my two cents worth:
Content types: Custom Post Types and Custom Taxonomies came late to WordPress and do still require a bit of coding and/or plugins but they're now solidly there and working well.
Ease of use: I simply can't see Drupal as having a leg to stand on in that respect. I'm speaking mainly of the average non-coding clients who need to be trained to manage content. In my experience, they look at WordPress and feel comfortable; it feels like editing in Word out of the box and the Dashboard is easy to navigate. When I've shown them Drupal, they get the deer-in-the-headlights look and start to shake. Even in the latest version, back-end navigation is a nightmare.

Thanks, Jim. That actually is the idea - let's have a conversation about this that can be useful to people trying to make a decision between the platforms.

I'm glad to hear that custom content types and taxonomies are coming along and solid. I do still think that it's not core is a differentiator between the platforms, but they are definitely closing in on each other.

Have you seen Drupal 7? Big improvement on ease of use. I agree, WordPress still rules in this category, though.

I have both Drupal and WordPress sites. While for the techies, Drupal's architecture is appealing, i found it a nightmare to manage Drupal sites. Conflicts between modules, even the basic ones. Every upgrade of each module is a gamble . Not so in WP...

It is difficult to create a user-friendly workflow for end users posting content, on a large Drupal site which is really taking advantage of Drupal's architecture.

And there are far more modules and themes available in WordPress than in Drupal, allowing the non-technical user to expand a WordPress blog into a real website.

My advise has always been: if you want to use Drupal instead of WordPress, you will really need to justify to yourself what features you want that can not not be offered in WordPress.

WP also has a larger user support-community which are more tech-average, while Drupal offers more the nerdy-type peer to peer support. I have always been assisted faster and better on the WordPress user forums than on the Drupal support forum...

That's my 2c worth...

This topic is near and dear to my heart lately, and Michelle I completely agree with your assessment that both platforms are useful and with your list of best use cases for each CMS. Though I have worked with WordPress in the past, I just spent over a year focusing exclusively on building Drupal sites for clients, and am currently knee-deep in both platforms simultaneously.

I am a themer/front-end developer and strategist, and I have to say that Drupal's templating system is very powerful, and over time, I have become enamored with it. I find blocks more intuitive than "widget areas" in many ways, and the ability to deploy blocks or not through Context gives you a ton of theme power. With a good base theme, a logged-in client can hover over a block in the front end of their site and click to edit it. That's pretty darn intuitive. That's just one example. Also, Views. Views is amazing for creating easy-to-filter lists of content. I love Views.

I recently migrated my personal blog from WordPress into Drupal 7, because I wanted to give D7 a try. I was pretty floored by how easy it was for me to build a 2-content-type little blog site like mine in Drupal. I would never have done that so easily in D6. I am impressed so far with the D7 improvements.

But I recently had two client sites that were best fits for WordPress, so I got back in the WP trenches and yes, holy moly, the admin side of WordPress is amazingly easy to use and slick and intuitive, especially for an open source CMS. It has improved by leaps and bounds over the past few years, and after Drupal, the simplicity of the template system is really nice.

So for small sites and blogs, especially with content admins who might be a little afraid of tech, WP is a great choice. But for a more complex site, I do think that a WP system would have to be really hacked and stressed to get a lot of what Drupal does right out of the box.

[...] as Pearl Bear at Zen and the Art of Nonprofit Technology recently pointed out. Comparing Wordpress vs. Drupal …. the fight!, she says the former is well suited for blogs, community blogs and simple brochureware websites. [...]

Some thoughts on the issue of learning-curve...

A big advantage of Wordpress is its ubiquity. I had a training session with a client on their new Wordpress blog last week. After logging in, the client exclaimed, "Oh, this is Wordpress. I know Wordpress!" Training session over. WP is becoming to blogging as MS Word is for word processing.

But it's simply impossible to have a standard, one-size-fits-all WP-style backend for Drupal sites. An example: I recently built a site that required outside users to create accounts, log in, choose from several application forms, fill in their personal information, attach images (versions of which are programmatically formatted to be used as web and print assets) and pay a specific fee via PayPal based on the information provided in their application form. Each application is then plotted on a Google Map, presented alongside a list of all applications sorted in a specific -- but arbitrary -- order. This whole process must be managed by a non-tech-savvy administrator. How on earth could Drupal ship with a preset standard 'dashboard' that anticipated the tasks the administrator would need to accomplish, such as alter the arbitrary order that the applications are presented in on the map page (but not the list page), filter applications to shortlist unpaid users, tag applications with arbitrary workflow statuses, etc,etc,etc? A site like this requires the building of a custom administration dashboard exposing only the required functionality, as well as training and some initial phone support as the client gets used to using the site. Complicated, for both developer and client? You bet. But I would say impossible in Wordpress.

Michelle, I've worked with CMS products for quite a while but have only been using Drupal (6) for a few months. I've found it a bear to learn - hoping that when I eventually upgrade to version 7 - after checking to make sure all of our modules will work there - it will be a much easier system to administer.

I am making my first use of WP due to a client wanting to convert a complex site from Drupal 6 into BuddyPress and at the same time, simplifying it. He struggled with the complexity of administering his Drupal site, although he created a lot of that complexity with his requirements that drove customization. But I digress. I use Drupal a lot and have done my first D7 site. As a matter of practice, I always make a test site from the production site, then make any changes or install new versions of modules there before trying it in production. I have a little script to copy the files and database easily. I tried to do this in WP/BP, but learned that the URL and, for some modules, the file path are embedded in the database. I ended up hand editing the database to copy it for the test site because of the serialized strings with their character counts. Ugly. I will only use WP/BP where I have to until I can solve this problem. Or does everyone else just upgrade their WP sites and not worry about them breaking? What is the practice with WP?

[...] as Pearl Bear at Zen and the Art of Nonprofit Technology recently pointed out. Comparing WordPress vs. Drupal …. the fight!, she says the former is well suited for blogs, community blogs and simple brochureware websites. [...]

Michelle -- an excellent analysis. We struggle ourselves with figuring out which of the CMS's is best for an organization's needs and I think your bullet list is an excellent assessment.

In general, for an org that just needs informational brochureware & blog posts = Wordpress is just fine.

But the minute there is a need for things like mapping, calendaring, signups, RSVPs, custom content types like announcements, board or staff listings, minutes & agendas, or if there is custom themeing by content type, or membership dues collection/e-commerce/multi-user storefronts, or a need for custom workflows where a piece of content goes through different moderation queues --- it's Drupal for our best recommendation.

As for the difficulty of enabling, yes, I would say Wordpress out-of-the-box is super-intuitive and easy; however, at a certain point, when an organization outgrows just the "posts and the pages" --- they need to consider the switch to Drupal.

With adequate training on things like CK Editor (my favorite WYSIWYG editor right now) and IMCE, as well as an overall big-picture view on content types, roles, permissions, and triggers/rules, I think you get a much more solid and workable, robust solution that can grow with the needs of the organization.

I've been posting tutorials here:
22 Excellent Tips for New Drupal Developers:
http://sixrevisions.com/web-development/22-excellent-tips-for-new-drupal...

20 Drupal Modules to Boost your Website's Functionality:
http://sixrevisions.com/tools/20-drupal-modules-to-boost-your-websites-f...

4 Steps to Building a Portfolio Website Using Drupal (detailed):
http://sixrevisions.com/web-development/4-steps-to-building-a-portfolio-...

Step by Step: Setting up a Membership Community Site Using Drupal (extremely detailed):
http://10kwebdesign.com/10kblog/step-step-setting-membership-community-s...

I like your article, but there is one thing I'd like to point out:

WordPress still has only two content types: Blog Posts and Pages.

That's not true anymore. With the introduction of custom post types you can easily add mew content types. See WordPress Custom Post Types.

I like your comparison of those 2 most used CMS, even though some way call WordPress a blog software! I'm not a professional and for me it's very important to have a big community support as well as free themes and ease to use interface... when I tried to setup (I'm talking already after the installation) drupal 6 I found it to be very complicated and I just couldn't finish, what didn't happen to me with WordPress 3... after reading your post I'm going to try Drupal 7 but anyway I see you haven't switched to drupal yourself, that's also means to me something

@Marvin - adding a custom post type requires writing some code - that's not the same as being able to easily configure the properties of a custom content type via a web interface. WordPress is still way behind Drupal regarding the ease and flexibility of multiple content types. And now that CCK is in Drupal core, this is even a bigger jump forward in comparison to WordPress.

@Alex - absolutely - WP has always had the edge in terms of ease of use, and that hasn't changed. Drupal narrowed the gap a little bit with Drupal 7 - but there is still a significant gap.

http://wordpress.org/extend/plugins/custom-post-type-ui/

No code writing required. How difficult is it to install the plugin? A few mouse clicks.

Thought I'd share.

NOTE TO MYSELF: COMMENT ON THIS LATER.

I have a lot to say.

For me, the fact that I can set up one Drupal install, and point as many differnet domains into that one installation, with each getting their own look and feel and their own content and database is great. The real powerful part if from the IT side of things when it comes to updating modules and plugins. You can update all of the sites on your farm in one quick motion. Wordpress somewhat allows for this, but you have to only use subdomains or folders of one single domain. Drupal can send 10o's of totally differnet domains/subdomains/directory combinations at it and it will send each to it's own site.

Also, I have found Drupal to be a bit more secure. Seems like more hackers are going after wordpress sites (maybe because there are about 4 wordpress sites to every 1 drupal site). Both need to be tweaked to be secure, but wordpress seems to get more bad press around getting hacked. There are even books and online training out about making your wordpress site more secure.

Thank you for writing on this topic. I am totally new to this world and was interested in using Drupal, but have decided to use WP until I get better at this.

This might not be be 100% related, but take a look at www.drupalprometheus.org

It's a new MVC framework for Drupal, giving ton of capability and very simple easy to use templates that work with drupal theme layer. We recently started using it on a project and it makes development very smooth and most of us have not worked with Drupal before. I wonder if something like this is available for WP?

For the most part, I agree with this comparison (with some exceptions). I've seen a lot of people on the web comment on which cms features are included in core and what must be downloaded as a 3rd party extension. I don't really see how this point is very relevant to most site builders. In 7 years, I have yet to build a cms website without installing 3rd party extensions. It should really only matter to either developers contributing code or possibly to site builders who don't have shell access to their website and can't extract tar or zip files on the server.

For example: I've installed the Views module on every Drupal site I've ever built for clients. I think you'll find that to be the case with most non-programmers using Drupal. That doesn't mean Views should be rolled into core. Nor should the handful of other modules I install by default. After all, it literally takes a few seconds to download and enable them all using the drush command line utility.

The same principals apply to Wordpress and it's custom content types. As mentioned above by Mike, the UI plugin makes coding custom content types unnecessary and it takes less than a minute to install from the admin console.

It's also worth mentioning that, with little effort, Drupal can be configured with wysiwyg, file management, and other features found in Wordpress. With a bit more effort, you can create a custom installation profile that will install and preconfigure modules like wysisyg, imce, and others to make content authoring easier out of box.

That being said, time is money. If you're looking for a cms that doesn't need the flexibility and power of Drupal, it's hard to justify using anything other than Wordpress for most other use cases. In the next few years, I think we're going to see the lines begin to blur between these 2 excellent open source projects. As good as Drupal 7 is, I think that Drupal 8 will make leaps and bounds in the industry.

[...] more info on BuddyPress vs. Drupal, see thoughtful discussions and reader comments by Zen and the Art of Nonprofit Technology or Jennifer Hodgdon or Jennifer [...]

Hi PearlBear.

I agree with what you are saying... Except for the fact that Drupal would be good for those out in the field. The reason I say this, is, because Wordpress/Magento/Dolphin/Joomla/and Concrete5 all have compatibility with social networks. Since most of the folks using websites are not enthralled about all the many features. (Maybe because they don't have a solid foundation in the loop). I see people writing little posts on their blog. Ist this something that people caught while using Twitter, then it became everyone with their update status.

I think drupal is a highler level experience, and many of those just wanting a site to upload pix to, and share their thoughts would much comfortable with wordpress.

Although wordpress continues to add complexity... I can walk just about anyone through their first post. Just as the admin for my email. I will be glad to help, as I have been using wordpress 2006; I loved to help my clients/ others embrace the power of WP. They end up rocking on it, and help customers find their way. The client always says thank you, and how good the site has been performing. She is happy that I love my job, and you better believe that it is the most fulfilling job that I have ever had. The more enthusiasm, and drive: the less work you 'think' you have done to get to where you are...

Those are my bits,
Rob
rob@graphicalinsight.com

great discussion!
i am a hobbyist, not a professional, but am pretty familiar with both platforms.

trying to theme a wp site was difficult for me, and there were very few books [at the time] that could help without going way over my head. i tried drupal [6] along with the lullabot tutorials and found building themes and custom sites for drupal to be much much easier. that's really what did it for me, the lullabot videos are unlike any tutorials i've experienced and it really made me love drupal.

everything else has already been said, and great points have been made quite well, and better than i could make them. this post has been a big help in pointing out all the pros and cons of both cmss. i still use both; people [customers] love love love the wp ease of use, and drupal can do anything. both are great, and kudos to the comments that made respectable comparisons, and came to the same conclusion.

great discussion, just wanted to add $.02.

thanks

Great write-up. It all comes down to picking the right tool for the job. WordPress is best for simple sites, Drupal is for complex sites. I've broken out the differences on my latest blog post: WordPress vs. Drupal: Twenty-one Things You Need to Know. http://www.dmzinteractive.com/blog/wordpress-vs-drupal-twenty-one-things...

Leave a comment