Drupal vs Joomla vs WordPress

Open Source CMS Comparison

This article is written to inform end-users and businesses about the pros and cons of Drupal, Joomla and WordPress.

There are hundreds of articles on the Internet about this subject, but unfortunately, they are written for the benefit of web developers and experienced webmasters.

In this article, I'll put my focus on the pros and cons that affect end users.

Content Management System (CMS)

Drupal, Joomla and WordPress are all CMS applications. These applications have become a "MUST HAVE" buzz word — most website owners want them without even understanding their use.

Some website owners think that CMS applications are the key to a website's success or believe that any popular CMS application is going to work for any project, any size or complexity — that is never the case.

Below is an article that will provide detailed information about what CMS is, its purpose, benefits and pitfalls:
what-is-cms-content-management-system.html

What Drupal and Joomla DO NOT Provide?

Despite their popularity, both Drupal and Joomla DO NOT provide some of the common branding features that every website needs, as its core features:

1. Unique branding and design.
Drupal and Joomla are both template based CMS applications, they are built by programmers and not designers or people with design, branding, and marketing expertise.

It is possible to create a site with unique branding using Drupal or Joomla; however, because when those applications were built, there was not any emphasis or considerable effort developing unique branding features. It is more of a tedious and time-consuming process to implement a site requiring many unique branding features using Drupal, Joomla or WordPress.

2. Unique Category pages
Most sites (especially businesses and institutions) will require unique Product, Services or Category pages.

Although this can be accomplished by Drupal, Joomla or WordPress, it can be a tedious and time-consuming process.

This feature is not included as the core functionality of any of these products.

3. Unique pages and usability
Studies show that for better usability, it is recommended to use unique elements related to each page so the user can better distinguish which page he / she is on. A good example of a unique element per each page would be a unique banner. By default, as their core functionality, Drupal, Joomla or WordPress are setup to use the same banner or same element design for all pages.

4. Intuitive and User Friendly Administration
The main purpose of a Content Management System is to make it easy for even a novice computer user to maintain and manage a site.

Both Drupal and Joomla have a very bloated and confusing administration. This is because both have been put together by programmers and there have not been any noticeable usability efforts put into these applications.

As of this writing, Drupal's administration interface (version 6.19 - August 11, 2010) is confusing and not user friendly. There was research done by University of Minnesota Office for Information Technology's usability lab which identified many usability problems with Drupal's administration.

Joomla's administration usability and learning curve is better than Drupal's, but not enough to provide a noticeable advantage to the end-user over Drupal.

WordPress has a much better and very intuitive administration design.

Drupal, Joomla, WordPress as Out-of-the-Box Solution
(Core Modules / Features)

Each of the above Content Management Systems provide a few main specialized functionalities as their default core application.

Those main specialized functionalities are referred to as Core Modules.

Since those Core Modules are the main and specialized features of those applications, it makes sense to select an application that provides all of the main features that you need as its Core Module.

Drupal Core Modules (Features):

sorted by common use:
Templates - Change the site design template (look and feel)
Modules - Install third party programs or functionalities
Multiple-user - Multi-level permission user content creation and editing
Multiple-level menu system - Main menus, sub-menus
Multiple-site support - Provide management of multiple sites
Pages - Add / edit text, image, and other media content
Blog - Provide full blog (articles with member comments capability) functionality
Contact Form - Provides the use of both personal and site-wide contact forms
Forum - Provides threaded discussions Forum
Polls - Provides the capabilities to capture votes on different topics in the form of multiple choice questions
Search - Provides site-wide keyword searching
Upload - Allows users to upload and attach files to content
Statistics - Provides Site Statistics Reporting
Taxonomy - Provides the categorization of content
News Feed - Provides syndicated content (RSS, RDF, and Atom feeds)
Comment and Tracker - Allow users to comment on and discuss published content and tracking of recent posts for users
Book - Provide the capability for users to structure site pages in a hierarchy
Content translation - Provide the translation of content in different language (This feature is an imperfect translation - Google translate feature is a better solution and easy to implement)
Ping - Alert other sites when the site has been updated
Profile - User profile management
Throttle - Provides auto-throttling mechanism, to control site congestion
Trigger - Provides the capability for actions to be generated on certain system events, such as when new content is created
OpenID - Allows users to log into the site using OpenID

Joomla Core Modules (Features):

sorted by common use:
Templates - Change the site design template (look and feel)
Modules - Install third party programs or functionalities
Multiple-user - Multi-level permission user content creation and editing
Multiple-level menu system - Main menus, sub-menus
Pages - Add / edit text, image, and other media content
Polls - Provides the capabilities to capture votes on different topics in the form of multiple choice questions
Search - Provides site-wide keyword searching
Article - Provides the capabilities to create and archive articles
News Feed - Provides syndicated content (RSS, RDF, and Atom feeds)
Banner - Provides banner advertising functionality
Contacts - Provides contact management capabilities
Weblinks - Provides management controls for controlling Web Links

WordPress Core Modules (Features):

sorted by common use:
Blog - WordPress has perfected the art of blogging - there are so many advanced blog features exists in WordPress that so far no other product can compete with WordPress in the blog world. Below are a few blog features:

  - Categories - Provides organizations of posts into categories
  - Moderation - Provides control and approval of content before posting
  - Notification - Provides email notification with any post
  - Password protection - Password protect the content
  - Permalinks - Provides permanent search engine friendly (SEF) URL's
  - Post to the future - Write a blog and post it to go live automatically in the future
  - Multi paged posts - Break the content down into multiple pages for ease of reading
  - Emotions - Convert the characters into graphical image counterparts
  - Save Drafts - Save blogs as draft for future editing and publishing
  - Blog by email - Send the posts as an email and have them appear on the weblog
  - Formatting - Advanced text formatting
  - Blogroll - Option to create links to frequently read blogs

Templates - Change the site design template (look and feel)
Modules - Install third party programs or functionalities
Multiple-user - Multi-level permission user content creation and editing
Profile - User profile management
Pages - Add / edit text, image, and other media content
News Feed - Provides syndicated content (RSS, RDF, and Atom feeds)
Search - Provides site-wide keyword searching
Translation - Provide the translation of content in different language (This feature is an imperfect translation - Google translate feature is a better solution and easy to implement)

Third Party Modules

There are so many third party modules developed for the above CMS applications; however, the quality of the modules, their features, their security and performance are not proven and time-tested.

Also, many of the third party modules may not integrate and fit well with the Core modules, template or site's look and feels. So I would recommend doing plenty of research on any third party modules before adding them to the application.

Some common scenarios and examples:

Below are some common examples on which a CMS application may work for you:

Blog Website
If you need to build and manage a Blog website, WordPress is the perfect solution for your needs because WordPress provides a Blog feature as its main common feature.

Forum Website
If you need to build and manage a Forum website, phpBB or vBulletin is the perfect solution for your needs because those applications provide a Forum as their main common solution.

Standard Website
If you need to build and manage a regular website with basic content management features such as creating pages, articles and polls and only require basic design or branding and insignificant functionality customizations, Joomla maybe a good option for you.

Hybrid Website
If you need to build and manage a hybrid website with common or custom content management features such as creating pages, articles, blogs, forums, polls, online store and will require unique branding features, custom design and functionality customizations, a cost effective enterprise CMS solution that has all of those built-in features right out-of-the-box may be the best solution for your purpose.

Massive Content, Multiple Webmasters, Members Features
If you need to build and manage a website (or multiple sites) with a significant number of pages and articles, and community features such as members that can provide comments on contents and articles, and will require some common functionality tweaking, and have a sufficient budget ($5,000 - $10,000 to setup and $1,000 - $2000 per month for maintenance), Drupal may be a good option for you.

Average Setup Cost and Maintenance

Below are average setup and maintenance cost for Drupal, Joomla and WordPress:

  Drupal Joomla WordPress
Average Setup and Customization Cost* $5,000 - $50,000 $2,000 - $20,000 $250 - $15,000
Average Monthly Maintenance Cost* $1,000 - $2,000 $500 $250
* depending on the level of customizations to the Core Modules or the design complexity

Bad advice or just buzz

If someone is advising you to use any CMS application without spending time to review your initial budget, on-going monthly maintenance budget, project functional requirements, design and branding requirements, and project roadmap, he / she does not have your best interest in-mind.

Reviewing someone's project requirements should not be a 5 minute task. Depending on the size of the project, reviewing a project's requirements and roadmap and providing technology selection advice should take a few hours.

The other important thing to consider is that projects usually evolve based on a user's feedback or business direction change, so it is important to select a technology that provides flexibility when a big change is needed.

Unfortunately, there are advisers or IT consultants with little experience in actually managing a Drupal, Joomla or other open source CMS application, and they are making recommendations to use one of those applications based on the latest news and what's trendy, without understanding their real capabilities, or analyzing your project requirements or budgetary limitations.

You may also have heard and read about Drupal or Joomla because they are the common buzz words in the open source CMS community.

To add to the mix, there are so many articles written on that subject with little emphasis about informing the end-user and more emphasis on capturing leads and earning Google Adsense dollars.

We have many clients requesting that we build them a Drupal site just because whitehouse.gov is written in Drupal. One thing that these clients don't realize is that the White House has a big available budget, financial resources, and a team of experienced web programmers available to manage, customize and maintain the Whitehouse.gov site.

The White House has spent six figures in initial development and six figures per year to maintain the Whitehouse.gov site.

It was reported that Recovery.gov site was originally developed using Drupal and later rewritten at the reported cost of $18 million. This shows the available financial resources and budget available by our Federal Government to spend on a site such as Whitehouse.gov.

You are more likely not going to need to spend six figures for a Drupal site, but you need to consider your budgetary limitations, features needed, design requirements and many other factors before selecting a CMS system or comparing your project to Whitehouse.gov project.

Below is a typical person who will give you incorrect advice:

  • Wanna-be IT person - there are lots of wanna-be IT people who have not even used a CMS application (especially on a large scale project) but they want to provide their so called "expert" advice.
  • Drupal / Joomla Specialist / Developers - of course those people will have a biased opinion because they will make a profit and will charge you for setting up and maintaining a Joomla / Drupal site. The more special requests you have or features you want to add, the more profit for them.
  • People who just heard of the buzz - People that just like to pass along a new buzz word that they have heard in the high-tech industry or people that like to copy what others in their sector are doing, without much research before-hand.

Ask the end-users about their experience

I come across many Drupal and Joomla end-users everyday, and they are frustrated and unhappy with their Drupal or Joomla application and are looking to move on to another CMS application.

They were originally provided incorrect information or advice to select a CMS application which was not a good fit for their situation and scenario.

Some selected Drupal because of it's incredible buzz and they thought that nothing can go wrong by selecting Drupal over any other CMS, because many well known institutions (with lots of money and a full web staff at their disposal) use Drupal.

Here is some of the misinformation that was communicated to many of our clients before coming to Comentum, regarding Drupal or Joomla CMS:

1. The site owner was told that if they use Drupal, they would never have to hire a web developer or webmaster to manage the content.

My Input:
Completely untrue. Drupal administration is very complex in nature. There is a long learning curve and the site administrator must be an experienced computer software user. If the website owner is a small company and cannot afford to hire an experienced computer software user to manage his / her website content, Drupal is not a good fit for the project.

Additionally, if the Drupal developer did not do a good job when setting up the template, CSS and modules, the site maintenance can be cumbersome even with an experienced user. The site owner may still need to continue contracting with a Drupal developer or an experienced webmaster to manage and maintain the site content.

2. The site owner was told that since Drupal is an Open Source CMS application, the cost to set up and maintain a Drupal project is cheaper than any other CMS solutions

My Input:
Completely untrue. Being Open Source does not result in the lower development and maintenance cost. Drupal is one of the more bloated and complex CMS applications and it will cost more to set up, customize and maintain than many other solutions.

3. The client was told that adding features and customizing modules will be easy and can be done by himself.

My Input:
Completely untrue. Adding features and custom functionalities are not an easy task especially on a Drupal CMS platform. It is more likely that the end-user will need to hire an experienced programmer or Drupal specialists to add features or custom functionalities.

Research for this article was completed August 1, 2010; pricing and other information may change.

related articles:

Bernard Kohan

Bernard Kohan is a web application development and technology analyst expert. He is available to discuss any issues or questions you have about web development and the best choices for your company or project.

Bernard can be reached at
858-410-1500

Contact Us »

Web App Estimator

Select and unselect modules such CMS or eCommerce for your web application and watch the cost update in real time.

Try It »