Incredible Team.com

Home of the incredible bizzy bees

Editor’s note: This is PART 2 of the article we previously wrote – WordPress vs. Joomla vs. Drupal. This article is for the serious nerds, and those that want to know more about Drupal vs WordPress.  We are comparing WordPress Version 3.5+ vs Drupal’s latest version 7.x

WordPress vs Drupal: Round II

Welcome to this week’s nerd fight, WordPress vs. Drupal.  On one side we have WordPress, the world’s most used CMS, and the choice of designers everywhere.  On the other side we have Drupal, the CMS of choice for big business, community forums and various government sites, and a favorite with developers.  Which reigns supreme in our hearts?

Drupal Hosting vs WordPress Hosting

The first thing we will be comparing is hosting solutions.  Wordpress hosting  is incredibly cheap, because WordPress can be hosted anywhere.  It takes virtually no resources, no special server configuration, essentially all that is required is PHP and MySQL.  The recommended hosting provider on WordPress.org’s hosting page is bluehost.com, which has hosting packages starting at under $4 a month.

On the other hand, hosting a Drupal site can quickly become a pricey endeavor.  While the basic requirements for a Drupal site are the same, Drupal is a notorious resource hog, and maintaining a site with any significant amount of traffic requires a certain amount of maintenance that can’t be handled with a $4 shared hosting plan.  Optimizing Drupal usually consists of 3rd party solutions like Varnish, APC, and Memcache, or hosting with an optimized provider, like Acquia or Pantheon.  In comparison, Pantheon’s “Basic” hosting package is $25 a month, which is 6x the price of the WordPress shared hosting at Bluehost. A moderate hosting package will run you at least 10x that of a WordPress hosting package.

The Winner: In this round, it is clear that WordPress takes it!  It is easy to host, and nearly every host supports a WordPress on its basic, inexpensive package.

The Drupal vs. WordPress Installation Process:

They call it the Famous 5 Minute Install, but if it takes you a full 5 minutes, you’re doing something wrong.  Wordpress has to be the easiest installation on the planet.  Download WordPress, upload files, create the database, change wp-config file, run install script.  Done.  Or use a hosting provider that includes a 1 click installer, and click once. (It literally took longer to write this paragraph than to install a WordPress website – seriously).

Drupal’s install methodology is very similar, download, upload, extract, create database, change settings file, run install script, with the added step  of setting up cron.  The difference between the two is that Drupal’s install will probably take you more than 5 minutes.  Luckily, many hosting providers include an automated installer for Drupal, the install process is very well documented, and the installation forum on drupal.org is quite helpful.

The Winner: Although these are both very similar, WordPress clearly could not be easier.  Another easy win for WordPress.

Post Installation

After everything has been installed, WordPress really begins to shines.  Immediately after the  installation is complete, WordPress is up and ready to go.  If you want to blog, you create some topics and add some posts, and you have a blog.  If you want to create a website, you add some pages and maybe a menu.  While there are various  plugins we use on all of our WordPress sites, none would be deemed “necessary” to have a working site.  All in One SEO, W3 Total Cache, NextGEN Gallery, cforms or Contact Form 7, all of these plugins are just icing on our WordPress Cake.

The same can’t be said for our good friend Drupal.  Drupal can be best thought of as a framework, with which you can build a CMS driven site.  There is a laundry list of modules I add to any fresh install of Drupal before I even begin trying to use it.

  • Views & CTools
  • Token
  • Pathauto
  • Admin Menu
  • Wysiwyg
  • Date, Link, Address or Location
  • Field Group and or Field Collections
  • Entity API, Entity References
  • Backup and Migrate
  • Advanced Help
  • Module Filter
  • Devel
  • Masquerade
  • Permissions Grid
  • Metatag

And based on the specific case, you might end up with

  • Rules
  • Panels
  • Display Suite
  • Fences
  • Context
  • Jquery UI
  • Features
  • Media

The Winner: If you are looking for a solution that is ready to go out of the box, WordPress is the way to go.

Plugins vs. Modules

WordPress has plugins, and Drupal has modules, but they’re the same thing, right?  Well, not really.  Wordpress plugins usually provide specific functionality that is immediately apparent to the user.  For example, installing the NextGEN Gallery plugin adds a link to the menu called Gallery, and you can quickly use this menu to add photos to a gallery, and a gallery to your posts and pages.   The plugin provides a simple interface that allows even the most novice user to immediately get started.

In comparison, installing the Galleria module to a Drupal site doesn’t do anything that’s immediately apparent.  The process for displaying a gallery after enabling the module is:

  • Create a new content type, or edit an existing one
  • Add a new image or multimedia field in the Manage Fields tab
  • Enable Title and Alt fields
  • Set number of values to unlimited
  • Change the image format to Galleria in the Manage Display Tab
  • Configure Galleria options
  • Add a page of that content type, where you will now be able to upload your images

As you can see, the Drupal module is significantly less plug and play than the WordPress plugin.  The Drupal documentation for this module also assumes some level of knowledge on behalf of the user, using a lot of specific vocabulary with no real context for a novice user.

The Winner: We’re going to call this round a draw.  What Drupal lacks in ease of use, it makes for with power and flexibility, and WordPress fires back with the sheer number of plugins available.

Development Process

The processes for developing  and deploying WordPress and Drupal sites vary drastically.  Generally speaking, WordPress does not require a large team of folks to complete a project.  While most projects vary in complexity, a standard WordPress project has 2 roles – design and implementation.  Conversely, Drupal development teams usually consist of design, development, site building, and theming roles.

Drupal sites require a development, staging, and live hosting environment, due to the complexity of moving content and configuration data from development to live and back.  Wordpress can normally be managed with just development and live hosting environments, as moving content between the two is significantly easier.

Deploying a Drupal site is a much more complex process, and it can involving any number of methods, like GIT, Capistrano, Jenkins, Features, etc.  Wordpress can be migrated simply by pushing the newest code to the live server, dropping the old tables, importing the new ones, and changing a few paths.  That’s not to say you shouldn’t use GIT or a staging environment with WordPress, but it’s not a requirement.

The Winner: Again, WordPress delivers another blow to Drupal and wins this round.

Flexibility

When it comes to flexibility, WordPress is a yoga stretch, and Drupal is a cirque du soleil performer.  Wordpress allows for a pretty amazing amount of customization for a system that started as purely a blogging platform, but you have to be willing to throw a lot of PHP at it.  Wordpress can be your social network, your web shop, and your art gallery, but not without 3rd party plugins, many of which are pay to use.

While WordPress’ content management consists of pages and posts, and one field for content, Drupal’s core gives you the ability to add as many content types as you want, with any number of fields, and gives you (significant) control and manipulation over the output, without help from 3rd party modules or theme modifications.  Adding plugins may extend WordPress’ feature set, but Drupal modules are built to extend Drupal’s core functionality, allowing you to build more flexible and scalable sites. Drupal can be scaled from a small project, to a massive one, quite easily.  This gives start-ups an advantage, knowing that their website can grow with them as they themselves mature and develop.

The WInner: Well, it took several rounds, but Drupal came out swinging.  Due to its core flexibility, and ability to morph over time, Drupal wins this round, but is it even a fight at this point?

WordPress Security vs Drupal Security – Keeping Out the Creepers!

Unfortunately we’ve all seen our share of hacked websites.  To a certain extent, almost no platform is immune.   That being said, WordPress has a large target painted on its back as the world’s most used CMS.  The WordPress community is very active in patching vulnerabilities and releasing updates, but the amount of 3rd party plugins on the market, plus the lack of oversight on those plugins causes countless issues.

When it comes to security, Drupal is simply a much safer bet.  Government sites all around the world use Drupal, including the White House’s website, http://www.whitehouse.gov/.  One of the biggest differences between these platforms is the significantly stricter requirements to get a module posted on drupal.org.  New contributors go through a well documented process to become trusted contributors, and modules posted to drupal.org are constantly under scrutiny from the community.  In comparison, many WordPress plugins are found on 3rd party websites, and have been given little to no vetting by the community.

The Winner: Chalk up another one for Drupal.  Drupal’s security is superior, and their vetting process for modules wins out over the wild west of WordPress.

Drupal Search vs. WordPress Search

This was so clear cut – it almost was not even a topic in this article.  Drupal Search unquestionably blows WordPress Search out of the water.  While Drupal’s native search isn’t bad, the Views module allows for a level of filtering that is head and shoulders above WordPress.  In addition, Drupal has the ability to integrate with Apache Solr, a standalone search engine, that allows you to index your content and serve it much more efficiently and accurately.  With Solr you can add facets to your search, as well as geo spatial search, which quickly returns results within a specified radius or boundary, based on location data in the index.  This adds a good deal of complexity to your development, and comes with several hosting considerations, but WordPress has nothing that comes close to it.

The Winner: This was a decisive round for Drupal, and WordPress is now against the ropes.  Post installation, Drupal is coming on strong.

Can the client use it?

One of the biggest complaints about Drupal is its less than friendly administration interface.  And the complaints are well justified.  Wordpress not only has a nice dashboard that is easy to use, its links make logical sense to even the least technical user.  Posts are in posts, pages are in pages, widgets are in widgets, etc.  Drupal’s content is broken up into nodes, taxonomies, views, etc.  If the site is not well documented, clients can quickly become frustrated and confused.  The following is a sample conversation between developer and client teaching them to use Drupal:

  • Client: “Where is this page”
  • Developer: “Under Content”
  • Client: “Ok, I found it.  How do I change this link”
  • Developer: “That’s actually a taxonomy term”
  • Client: “How do I edit it?”
  • Developer: “Go to structure, then taxonomy”
  • Client: “Ok, I still don’t see it”
  • Developer: “You have to select the vocabulary, than you can edit the term”
  • Client: “Why can’t I just edit the link?”
  • Developer: “…”
  • Client: “… ”
  • Client: “I hate DRUPAL!”

Why isn’t Drupal more friendly?  Well, the inherent flexibility of the system is also a great hindrance to usability, because what may appear as a single page to a user may in fact be a node that references a view, and has blocks in different regions around the page.  And while that makes perfect sense to a developer, it’s guaranteed to confuse an end user.

That being said there are several projects on drupal.org dedicated to make Drupal more useable for clients, content editors, etc. but none of them truly match the ease of use WordPress offers.  Some modules that help with Drupal:

  • Total Control
  • Admin Menu
  • Workbench
  • Advanced Help
  • NodeQueue

The Winner: WordPress springs back to life, and wins this round.  Creating a website that can actually be changed by the client is great, even if 99% of them will never actually change it.

Scope, Scale, and their drunk uncle Budget

So it seems like WordPress is easier to setup, easier to manage, and easier to deploy.  Why wouldn’t I just use WordPress for everything?  I mean, I’m not the White House.

If you’re on the fence regarding WordPress or Drupal, or you have a specific project, and you’re unsure what to use, take into account scope, scale, and budget.

Scale is the easiest determination to make.  Are you serving hundreds of pieces of content, or thousands?  How many unique visitors will you have?  How many concurrent authenticated users?  Am I selling 20 products or 1,000?

Determining the scope of a project usually requires more research.  Is there a Drupal distribution for what you are trying to do?  Is there a WordPress plugin that does what you want?  Is there a Drupal module?  Has someone else built something similar, and what did they use.  How much coding will I have to do to make this work in WordPress/Drupal.

Drupal is a great platform that allows almost anything to be developed: CRMs, social networks, ecommerce, multimedia sites, blogs, etc.  But Drupal sites take longer to develop, cost more to maintain, and are more complex than WordPress sites.  Make sure to factor in increased hosting costs, more time training with clients, and more support hours into the development costs before pulling the trigger.

WordPress vs. Drupal… and the winner is…

DRUPAL!  Why?  Because I’m a developer and I don’t do the budgets.  But below is my less biased opinion.

WordPress is a great system for small scale projects.  It can handle a good deal of traffic and users, and a great deal of content without issue.  It’s easy to setup and manage, easy to use, and cost effective.  The community is huge, and there are more plugins than most other CMS combined.  It’s out of the box functionality is great, and most of the time doesn’t require a ton of customization.

Drupal wins the battle in regards to power and flexibility.  It can handle more content and users, it gives you a deeper level of control and customization, and has enterprise level security and search.  Unfortunately it comes with enterprise level cost.  One caveat to that is distributions.  The Drupal community has prebuilt distributions with features specific to different needs.  There are distributions for community sites, education, government, non-profits, events, etc.  So if you think Drupal is the right way to go for your project, but the budget isn’t there, take a look at the distributions to see if there isn’t a solution you can build on.

So who do you think wins?  We want to hear your thoughts.  Leave your comments below and share this article with your other Dev friends… and we will write more!