So… what is a CMS?
If you are planning to create a content rich website, it would make your life so easier to use a Content Management System (CMS). CMS is a software that provides authoring, collaboration, and administration tools to allow users with little knowledge of web programming languages to create and manage website content with relative ease.
Most systems use a content repository or a database to store the website contents. A presentation layer (template engine) displays the content to website visitors based on a set of templates. Administration of the website is also typically done through browser-based interfaces.
USA Today uses Presto, The Guardian uses Scribe, so what should you go for? Don’t get bogged down by the these big names and their tools. There are a lot of free popular CMS software out there for you and me. Some of the popular names are WordPress, Joomla and Drupal.
It’s a good idea is to trial a range of CMS softwares and see if they fit your requirements before the decision is made. I spent a couple of months researching the three giants in the CMS world. I got my hands dirty so I could come back and give you my 2 pence (well… 2000+ words). So this post is going to be a showdown about the top 3 CMS out there.
Before we get into the showdown, a brief introduction about each of the contestants. And let me tell you this – there are NO rivals for them outside this trio.
Contestant #1 – Drupal
- Released on May 18, 2000 by Dries Buytaert
- Most Recent Major Release: 8.0 (November 19, 2015)
- Platform: PHP and MySQL/MS SQL/PostgresSQL/SQLite
- Cost: Free / Open Source (GNU GPLv2+)
- Best for: Enterprises
Drupal is a CMS platform that can be used to create anything from a simple blog to a fully functional eCommerce website. Lots of things which would require custom coding in some of the other rivals have ready-made solutions in Drupal. It can be further enhanced using Extensions and can be customised in its appearance using Themes. However, in my experience operating Drupal is a real challenge. It has a steep learning curve. It is useful for organisations that can afford full-time administrators like the White House.
Contestant #2 – Joomla
- Released Date on August 17, 2005 by OpenSourceMatters
- Most Recent Major Release: 3.4 (February 24, 2015)
- Platform: PHP and MySQL/MS SQL/PostgresSQL
- Cost: Free / Open Source (GNU GPL)
- Best for: eCommerce
Joomla is another powerful CMS that allows for a lot of customisation like Drupal.Joomla-based websites can be customised using Templates. Modules can be purchased to extend the functionalities of Joomla. The Joomla administration interface provides fine-tuned control over the website. However, there are a lot of buttons and links all over the place making it difficult to understand how to use them without referring the documentation.
Contestant #3 – WordPress
- Released on May 27, 2003 by Matt Mullenweg and Mike Little
- Most Recent Major Release: 4.5 (April 12, 2016)
- Platform: PHP and MySQL/MariaDB
- Cost: Free / Open Source (GNU GPLv2+)
- Best for: Personal Websites, Small and Medium enterprises
WordPress is most popular CMS out of the three. Although it originally began as a blogging platform, it can now be used to build any type of website. It is getting more comprehensive and popular with each new release. It has the easiest-to-use interface and there are tons of Themes and Plugins available. In less than an hour, a professional looking static website can be setup using WordPress. However, due to its popularity it is very open to security risks.
I have weighed each of these CMS platfotms against my top 10 considerations. Here starts the showdown:
1. Ease of Setup
Installation Time: Drupal, Joomla and WordPress have similar 3-step installation process – setup the database, download the installation package and run the installation script. Drupal and Joomla takes around 10 minutes to carry out the installation. On the other hand, WordPress comes with the famous 5-minute install. A lot of hosting providers these days offer one-click installation for all three systems.
Post Installation Configuration: If you are an absolute beginner then the post-installation setup can be sometimes tedious on Drupal and Joomla. Some of the users attribute this to their power. WordPress provides a way better user experience because of its clean user interface. Drupal offers pre-packaged bundles with modules and configurations called Distributions to create specific kind of websites. Distributions makes it easier to build specific types of websites in Drupal. Documentation is available for all of the three systems which helps with the configuration.
2. Ease of Maintenance
Support: Drupal, Joomla and WordPress are all community-driven CMS softwares. All three have excellent documentation, support forums and Slack or IRC chatrooms.
Technical Complexity: Drupal, Joomla and WordPress are all written in PHP. They all support MySQL database. Joomla and Drupal support other database management systems too. So under the hood all three have similar technologies. Any custom coding and development can be done on these CMS softwares by having a LAMP, MAMP or WAMP stack. If you are not looking to get into development don’t worry about those terminologies.
Technical Administration: Drupal has many advanced built-in features. Configuring these would require going through the massive documentation. Or a full-time administrator will be required to manage the website. Joomla was a little hard to get a handle on at first. But once I had a look around it got easier. WordPress administration was the easiest of the lot, but it wasn’t as powerful as Drupal.I noticed something else that was interesting. Although all three CMS softwares sit on similar platforms, it was hard to find a relative inexpensive Drupal developer. So that is one thing to take in to consideration.
Ease of Upgrade: The upgrade process is similar to the installation process for both WordPress and Joomla. One issue of Drupal worth a mention here is its backward compatibility (or rather lack of it). Modules have to be rewritten for each major upgrade, so moving from one version of Drupal to the next is a big undertaking. Though Drupal 8 is the current version, many sites are still on Drupal 7 due to the expense and difficulty of upgrading. Support for Drupal 6 stopped in February 2016.
3. Ease of Use
Editor: Drupal, Joomla and WordPress all have a WYSIWYG editor which means the website owner need not worry about HTML or CSS and can just go ahead and write the content. WordPress had the best editor features right out of the box – text colours, spellcheck and word count. It was easy to find good desktop and mobile clients for Joomla and WordPress. I did not find any for Drupal.
Version History Management: If you mess up you website content, with a few clicks both Joomla and WordPress will help you go back to previous version. Drupal also has a Version History feature, but each new version need to be manually setup by using the “Create New Revision” checkbox.
Publishing Features: Joomla had some of my favourite features like being able to mark an article as a “Featured” post and Check-in feature which is quite handy if there are multiple authors managing your website. All three systems support Workflows (For Drupal, an additional free module had to be downloaded). Drupal has many publishing features and modules. But installing and configuring them felt like a pain.
4. Ease of Management
Asset Management: Joomla and WordPress had an easy to find Media Management Library. I did not find one for Drupal (either hidden or needs a module!)
Multiple Authors: All the three systems support multiple authors and roles.
Multiple Websites: Although, not easy to setup Drupal is the best multi-website CMS. Joomla and WordPress also supports this but not as intricate as Drupal.
Localisation: Drupal has a high level of localisation functionality and options out of the box. And there are modules that can aid with translation. Joomla does have some localisation capabilities out of the box and it is easier to implement machine type translations such as Google Translate. WordPress has no localisation support or functionality out of the box but there are free (and paid) plugins that can help with this.
5. Customisable and Extensible
Custom Content Types and Taxonomies: There are some predefined content types (e.g. Article, Page) and taxonomies (e.g. Category, Tag) in Drupal, Joomla and WordPress. In all three systems custom content types (e.g. Product, Movie) and taxonomies (e.g. Price, Director) can be created. But in Drupal these could be done through the front-end making it very easy.
Customising Visual Appearance: Themes or Templates are used in Drupal, Joomla and WordPress for customising the look and feel of the website. All three platforms have a number of free and paid Themes or Templates. On some analysis, I found that Joomla had far fewer options than Drupal and WordPress. For Drupal, most good modules were not free. Because of its popularity WordPress has the highest number of free and paid themes.
Extending Functionality: Modules, Extensions or Plugins are used in Drupal, Joomla and WordPress for enhancing and including additional features. Just like Themes/Templates, I found that Joomla had far fewer options that Drupal and WordPress. Drupal and WordPress had over 25000+ Plugins/Modules available.
Drupal, Joomla and WordPress are all free and open source softwares that are community-driven. I contacted some of my web developer friends to understand the cost of setting up and maintaining each of the platforms. Here is the feedback I received.
Drupal: This is one of the most expensive platform to setup. An administrator can charge circa £2500 (or $5000) for the setup and configuration of a simple website. Hosting would cost in addition to this. An annual maintenance fee for a Drupal-based website was charged at around £500 (or $1000). This could be mainly because of the scarcity of Drupal developers/administrators.
Joomla: Joomla setup cost seemed to be on the higher end at circa £1000 (or $2000) for a standard setup. But in most cases there were no annual maintenance required.
WordPress: I found this to be the cheapest. An administrator can charge circa £25 (or $50) for a standard setup excluding the cost for hosting. And this is one of the easiest platform to setup and maintain.
(All of the above prices are based on my enquiries to some friends and freelancers.)
7. Non-Functional Aspects
Security: Drupal is considered to be the most secure out of the three. WordPress is on the other end of the spectrum and is considered the least secure, especially because of its popularity. To counter this, WordPress has an auto-update mechanism which allows WordPress websites to automatically update when there is a new security patch.
Performance: Using some benchmarking tools, I discovered that Drupal has the best overall performance. The themes are light and load faster. However, the addition of Themes and Modules did bloat it and slow it down.
Backup: There are vendors and extensions/plugins that offer backup options for all three platforms.
8. Content Marketing
Search Engine Optimised (SEO): Drupal and WordPress are SEO ready and can be extended further through modules/plugins.
Social Media Friendly: WordPress is extremely well set up for social media. You can extend this further through 100s of social media plugins that are available.
9. Internet Marketing
eCommerce Capabilities: Joomla comes with built-in eCommerce capabilities. On Drupal and WordPress this can be accomplished through modules or plugins.
Site Search Capabilities: Free Google Analytics modules/plugins provide site search feature to Drupal and WordPress. I did not find a free equivalent for Joomla.
Membership: ACL or Access Control Lists are available on all three platforms which can be used to create Members-Only areas. There are also various paid modules/extensions/plugins that help with managing this even better.
Forms: All three platforms have free modules/extensions/plugins that can be used to create various forms.
10. Integration with 3rd Party Systems & Data Feeds
Drupal, Joomla and WordPress platforms have many modules/extensions/plugins that can help integrate with other websites or applications (e.g. Paypal or Instagram).
WordPress has in-built oEmbed feature which allows website developers to easily embed videos, images, tweets, audio, and other content into the website. Although there was an oEmbed module for Drupal 7, I did not find its equivalent in Drupal 8. Joomla has a paid extension to achieve this.
Given below is a summary in a table:
|Ease of Setup||Low||Medium||High|
|Ease of Maintenance||Low||High||High|
|Ease of Use||Medium||High||High|
|Ease of Management||High||Medium||Low|
|Customisable and Extensible||High||Medium||Low|
|Non-functional Aspects||Very Good||Good||OK|
|Content Marketing||Good||OK||Very Good|
|Internet Marketing||Very Good||Good||Very Good|
|Integration with 3rd Party Systems & Data Feeds||Good||OK||Very Good|
If you found this article interesting, let me know in the comments section below. Also, don’t forget to share it with your friends who will find this helpful.
Based on the above considerations what is the CMS tool you would go for? Do you prefer the powerful Drupal, the easy-to-use WordPress or Joomla that has a bit of both power and simplicity?
You can read more articles about web development using WordPress (as I write them) under the Web Development category.
If you want to write a guest post on my website or feature your blog on my website, feel free to leave that in the comments section below.