Current estimates state that roughly 50% of all websites in the world run some kind of Content Management System(CMS).
This article will give you an in-depth look at what a CMS is, pros and cons, and the three most popular systems, WordPress, Joomla, and Drupal.
What is a Content Management System?
A CMS or a Content Management System is an application that allows users to easily create, modify and publish content on the web.
As the ‘content’ part would imply, a CMS excels when it’s used for sites that require frequent updates of content. This could typically be blogs, e-commerce stores, portfolios and news sites.
The reason it excels is that it allows users to efficiently update content in a user-friendly manner without touching a single line of code. So, there’s no need to learn how to code or get ahold of a developer every time you need to do an update.
As a result, nearly anyone could create stunning websites, by using one of the many free Content Management Systems out there.
Since it’s so easy to use it has also become extremely popular. It’s estimated that the three most popular ones, WordPress, Joomla, and Drupal alone account for about 35,5% of all websites in the World and 70,1% of all websites using CMS.
Before I get into the details I’ll just make sure we’re on the same page, here are a few words I’ll be using a few times:
Plug-in/Extension – A module/add-on that will provide your site with extra functionality.
Themes – Predefined website templates that are already set up with layout, colors, menus and (sometimes) example content. Gives you a great starting point!
Pros and Cons of a CMS
Let’s have a quick look at the pros and cons of Content Management Systems
- Makes it possible to get a site up and running really fast
- Makes it possible to create websites without touching a single line of code
- Allows for efficient and easy update of website content
- Predefined themes ensure that you don’t have to be a designer to create a good-looking website.
- Access to a wide range of plug-ins, providing your site with custom functionality.
- The possibility to tweak the code to your preference (if you know how to code)
- More flexible/customizable than website builders
- Cost – If a CMS is a good fit to your site, the cost of maintaining the website can be kept to a minimum since you won’t require expensive developers to help you out.
- Security – since basically anyone can access the open-source code and look for loopholes, there will always be a small security risk. The popularity of systems like WordPress just gives hackers even more incentive to find flaws they can utilize to their advantage. Solution? Keep your system and plugins up to date!
- Customizability – Although we say that they are highly customizable, there are still limitations to what can(should) be made with a CMS. The more specific and complex your requirements are, the less likely it is to find a template or plug-in that looks/does exactly that, and hence the chance of a CMS being the right choice diminishes.
Overview WordPress, Joomla and Drupal
In theory, any of these Content Management Systems could do what the other does through utilizing extensions, plugins, modules or custom scripts. However, all three have their unique set of strengths and weaknesses that make them more suited for specific scenarios.
WordPress – Has the most intuitive user interface and is often considered to be the best choice for beginners. Due to the extensive number of plugins, you’ll have plenty of possibilities to customize your site without touching a single line of code. It’s the perfect choice for standard content sites like blogs, portfolios, and brochures.
Joomla – With its great content and structure flexibility, ability to handle complex navigation structures and out-of-the-box access control, Joomla has its sweet spot as a community platform. Its extensive number of buttons and settings does, however, result in a small learning curve.
Drupal – Is considered to be the most customizable and secure CMS out of the three. Combine that with robust APIs and extensive access control and you get a system that excels at sites that require a certain level of flexibility and customization. It’s worth noting that it all comes at the cost of a steeper learning curve.
If you’re curious about any of these but don’t want to invest in a domain and hosting just yet, set up a test site locally and give them a try.
What do they have in common?
If you’ve decided that a CMS is the best choice for you, you can’t go horribly wrong with any of the top three. After all, there’s a reason why they’re so popular.
They all have large and helpful communities and extensive amounts of documentation available.
They are easy to install since many web hosting companies now offer one-click installs.
All of them take security very seriously and have dedicated security teams that work hard to identify security threats. Note that they are only secure if they’re kept up to date, including plugins and modules. That’s your responsibility.
Speaking of plugins and modules, more often than not, they’ll have a plugin or a module that serves your need (unless it’s very special) regardless of which system you were to choose.
And unless you decide to buy premium themes and plugins/modules, they’re completely free to use.
As mentioned above, WordPress is by far the most popular CMS in the world. It’s however important to note that although it’s the most popular CMS, it not necessarily the correct CMS for your site.
Although it started out as a blogging platform, it has now evolved into an advanced content management system with the help of third-party extensions and plugins.
Currently, there are more than 50,000 plugins to choose from, which results in a lot of ways for you to customize your site without touching a single line of code. Typical plugins could be slide shows, contact forms, SEO optimization and so on.
Due to its popularity, it also has a significant number of themes to choose from, so there’s a good chance you’ll find one you like.
The main reason for its popularity is, however, the ease of use. With its intuitive user interface, it has the lowest learning curve of the three systems, making it a popular choice for beginners.
With the ease of use and the availability of thousands of free themes and plugins, it’s actually possible to have a good-looking site up and running in less than 30min.
No system is perfect, so WordPress does have some drawbacks. I would like to mention the two that stands out to me and try to explain why.
Security – WordPress takes security very seriously, like all the others, and the core of WordPress is indeed considered to be very secure. The pain point is the third-party extensions and plugins, and WordPress has more than 50,000 of those.
Although the plugins bring a lot of great functionality, it’s also difficult to ensure that developers producing these plugins do it with security in mind and with good quality code. It’s even trickier to ensure that they keep them up to date.
As a result, due to share number of possibly outdated plugins used across different WordPress sites, there currently is a slightly higher risk of getting hacked on a WP site than on a Drupal or Joomla site.
That being said, in order to reduce that risk significantly you should:
- Keep those plugins up to date!
- Check the plugin ratings and reviews
- Check when the plugin was last updated
Flexibility – Ease of use does come at a cost. Out of the three systems reviewed in this article, WordPress is the one with the least flexibility in terms of content and structure flexibility, like where to place a certain text or widget. So, unless you get assistance from a developer, it might get tricky to make a lot of structural changes.
Keep in mind that this is in comparison with the other two systems. I’m using WordPress for this site, so I obviously consider it both secure and flexible enough for this purpose.
When should you consider WordPress?
WordPress has focused on ease of use, and that’s one of the main reasons it has become so popular. Whether you are the one creating the site or the one updating content, WordPress has the lowest learning curve out of the three systems.
Since it has the lowest learning curve out of the three and has thousands of free plugins and themes available, it’s probably an especially good starting point for beginners who want to create their first site.
Although WordPress can do basically everything the other systems do, it truly shines on the less complex content sites like blogs, portfolios and simple business websites. It’s also great if you need to get something up and running fast.
Being the second most popular CMS in the world, Joomla definitely has something to bring to the table.
Compared with WordPress and Drupal, Joomla has positioned itself in the middle functionality wise, providing a richer content and structure flexibility than WordPress but an easier learning curve than Drupal.
Unlike WordPress which initially started out as a blogging platform, Joomla has been built as a content management system from the very beginning. This truly shows through the numerous options and interface screens that will aid you in creating, organizing and displaying content according to your preferences.
Since Joomla has a button or setting for pretty much anything you might think off, it truly shines when working with websites that have large amounts of pages and content or complex navigation structures.
The downside with all these settings is that the learning curve can be somewhat steeper than with WordPress. On the other hand, once you first understand the basic concepts of the user interface, this will be applicable to a lot of other core features and third-party extensions within Joomla.
Joomla also comes with a user registration system and Access Control List (ACL) capabilities out of the box, no plugins/extensions required. This makes Joomla a good choice if your website requires user registration, user accounts, and content restriction capabilities.
It also comes with multilingual capabilities straight out-of-the-box, making Joomla a good candidate if you’re in need of managing content in different languages.
When should you consider Joomla?
All in all, Joomla is great CMS that can handle everything from large websites with complex navigation structures and restricted user access to simple blogs and one-pager websites. That being said, its strengths are leaning towards managing content complexity and hence it can come across as a bit too much for those only requiring the basics.
Robert Jacobi – president of Open Source Matters – the organization supporting the Joomla project, says the following about Joomla on his blog
It’s sweet spot as a CMS is as a community platform, offering strong social networking features that make it ideal for ecommerce and social networking sites
Which I believe is pretty spot on. Keep in mind though that sweet spot does not mean that this is the only scenario you can use Joomla for, it’s just where it distinguishes itself from its competitors. As stated at the beginning of this article, all these systems can do what the other does through plugins, extensions, and coding.
Drupal is often considered the heavyweight system out of the three, providing more flexibility at the cost of a steeper learning curve.
Despite its learning curve, the flexibility, security, and power it offers have made it a very popular CMS, especially for high-end and enterprise-scale websites. Tesla and The Economist are just a few examples.
One detail that will become apparent when you first start using Drupal is that the most popular themes are in fact base themes. I didn’t know what a base theme was when I first started out, so…
Base themes are blank themes with a minimal design and a simple or non-existing layout. The purpose of a base theme is to allow theme developers to add their own styles to build a totally new and unique theme. In other words, a base theme is used as a basis to create the themes that are meant to be used on live sites.
So, in contrast to WordPress and Joomla where the most popular themes are all good looking, well-designed themes that are ready to be published right away, the most popular Drupal themes are completely blank, which again allows for total style customization.
One way to interpret the extensive use of base themes is that the average Drupal user value the customizability of Drupal and are more focused on creating high-end, tailor-made websites that suit their customer need, rather than using a premade theme that might not be a perfect fit.
And speaking about customizability, there are several things that could have been mentioned when talking about Drupal, but two of the things that stand out are:
- The ability to give the user full control of what content to display where through the usage of blocks and views.
- Granular access control, allowing administrators to define user roles with very specific access permissions. For instance, defining a content editor role that is allowed to read and edit content, but not allowed to delete and publish.
In addition to customizability, the security aspect is another reason why Drupal has become so popular in the enterprise segment. Out of the three systems listed in this article, Drupal is considered the most secure.
Plugins/modules are security risk number one for any CMS, including Drupal. The major difference, however, is that a contributed module in Drupal actually needs to be approved by the team of Drupal core maintainers before it’s being released for everyone to use. Although not bulletproof, it definitely ensures that the modules available have a certain level of code quality, which again makes Drupal stand out security wise. It’s also possible to subscribe to their security announcement email list, which will keep you up to date on any new vulnerabilities.
Web services is another topic that has received increasingly more attention. That is, communication protocols that allow systems like Drupal to communicate and interact with other web applications. Whether its serving data to a mobile application or interacting with systems in an organization network, a web service API will assist in passing data in a structured manner. Needless to say, Drupal has embraced the idea of REST API completely and delivers a robust set of APIs out of the box.
Sounds good, are there any drawbacks?
One of Drupal’s major pain points has always been the significant development efforts required for upgrading to a new major version. The pain partly stems from a community decision to not support outdated code just for the sake of backward compatibility. The purpose of this decision was simply to ensure that any new Drupal versions were able to leverage the latest technologies and thereby making it a better system altogether.
This is however about to change according to Drupal project leader Dries Buytaert. In a blog post about Drupal upgrades, he states the following:
Updating from Drupal 8’s latest version to Drupal 9.0.0 should be as easy as updating between minor versions of Drupal 8
Considering how upgrades have been handled prior to Drupal 8, this is a giant leap in the right direction. That being said, smaller Drupal agencies and end-users are still under the impression that maintaining and updating their Drupal 8 site is too manual and too complex, and points out auto-updates as one of the things that would be a great improvement in the future.
Another thing that has been pointed out by the Drupal end-users is the need for easy-to-use site building tools. Although the Drupal developers have made significant efforts into making Drupal as easy as possible, Drupal still remains as the CMS with the highest learning curve out of the top three, so the feedback comes as no surprise.
When to choose Drupal?
As Dries Buytaert – the Drupal project leader – says in his state of Drupal presentation
Drupal is no longer for simple sites, but for sites with medium-to-high richness
Where richness is referred to as the level of required customization or flexibility.
And I agree
Drupal’s sweet spot as a CMS is towards business websites that require integrations, extra security considerations, and a larger degree of content customizability.
Deciding on a CMS can be a tricky task, especially since everyone claims that their CMS is the best.
All three are good Content Management Systems, but depending on your case, one of them is probably a better fit than the other.
If you’re creating a basic content site like a blog or a portfolio, WordPress is a good candidate.
Creating a social networking site, or expect a very complex content structure? Then you should check out Joomla
Not afraid of a learning curve? Will security and customizability be essential features? Then you should probably give Drupal a try.
Regardless of which you choose, my guides will take you through the required steps.
If you want to try all of them, then you could also try them out locally on your own computer.
If you liked this post, or have any questions, please let me know in the comments below.