The CMS landscape is a bit of a maze. New players are entering the scene seemingly weekly, each fighting for market share. Below is a quick overview of some of the biggest players and a new kid on the block that you should be looking out for. Disclaimer: Please be aware that this article is highly subjective, makes a lot of generalisations, is heavily based on the author’s personal opinion and should be taken with a generous pinch of salt.
WordPress
WordPress is the granddaddy of CMSes and opinions on it differ wildly. Amongst end users and non-technical people, it is widely loved for its user friendly and intuitive admin interface. There are hundreds, if not thousands of beautiful drop in themes available that would let a fairly non-technical person be up and running with a new website within hours. Typically, if one has a requirement not met by the WordPress core, a plugin can be installed that will do the job. WooCommerce has also been a game changer, brining outstanding e-commerce capabilities to WordPress.
No ad to show here.
Amongst many technical folk though, WordPress has a bad reputation. The code looks like it was written by a university student and while custom development is easily done, one does feel the need to have a shower after having done so.
Best used for:
- Blogs, small websites, simple e-commerce sites
Drawbacks:
- Probably the most common way that hackers compromise servers is via WordPress (granted, this is typically when the necessary updates haven’t been installed).
- A bit of an ugly code base.
- Not nearly as developer friendly as other CMSes.
Drupal
If WordPress is the granddaddy, then Drupal is the grandmommy. But the grandmommy that is just a little bit hipster and goes partying with the kids but tends to overstay her welcome…but I digress.
Whereas WordPress gets a lot of love from end users, Drupal has a fairly large, evangelical community of developers that swear by it. Don’t ask me why. It’s big, bloated and a pit of a pain to work with. Custom developing on it typically requires a PHD in computer science or better (remember that pinch of salt?). Drupal 8 has just been launched and a lot of good things have supposedly been done. But just trawling through the documentation is enough to put one off development for life.
At this point, it is necessary to tone down the rhetoric. When dealing with a big “enterprise” website (whatever that means), there is no doubt that Drupal would be a better choice than WordPress. It’s very mature, secure, has good community support and there is some method behind their codebase madness.
Best used for:
- Large “enterprise” websites or ecommerce sites
Drawbacks:
- Big, bloated, complicated.
DotNetNuke
DotNetNuke (or DNN, as it prefers to be referred to – it sounds more “corporate”) is surprisingly good! It’s a solid, well-built platform that can easily be extended. A variety of well-built modules are also available via the DNN Store. Since most of the web runs on Linux platforms, DNN hasn’t got the market share of some of the other CMS’ mentioned here. That however doesn’t prevent it from having a good community of developers supporting it.
Best used for:
- Big corporate websites, where a requirement is to use .NET
Drawbacks:
It is built in Microsoft .NET, which for some, poses “philosophical problems”. Besides this, it also means hosting and development is typically more expensive.
Since .NET is a much more closed environment (proprietary) there isn’t as much community support for DNN as some of the other OpenSource CMS’ mentioned here. It also doesn’t play as nicely with other third party OpenSource projects, which typically get developed for Linux first (with the Windows platform being an afterthought).
Joomla
The less said about Joomla the better. Really. If you are using Joomla, ditch it now. Anything else mentioned here would be a better choice, regardless of your use case.
Best used for:
- Nothing
Drawbacks:
- Everything
Expression Engine
The philosophy behind Expression Engine is one of “content first” and that the CMS should not impose a specific structure on a website. One should be able to conceputalise and design a website without being constrained by technology. From a content administration perspective, end users should be filling out forms (called channel entries), whose content is then disseminated throughout the site.
Essentially, bye bye WYSIWYG (or rather, only use WYSIWGs where absolutely necessary) and hello forms. Forms are great. They are easy to fill out, minimise mistakes and keeps the design integrity of the website intact. For this reason Expression Engine is a great choice for websites of moderate complexity. Expression Engine has been written in Code Igniter, which means that extending and enhancing it is easy to do (and quite pleasant at that). Hundreds of 3rd party plugins are also available for it (both free and paid).
Best used for:
- Enterprise websites of moderate complexity, e-commerce websites
Drawbacks
Expression Engine has a few quirks that upset both developers and clients alike. For example, the lack of built in preview functionality for content administrators irritates the latter and “parse order hell” the former.
Craft CMS
And finally, the new kid on the block. Craft CMS is the brain child of Pixel and Tonic, a company that was (and is) one of the premier add on developers for Expression Engine. Craft CMS follows the exact same philosophy that Expression Engine does, but because P&T had the benefit of “starting from scratch”, they had the luxury of addressing pretty much all the grievances that both clients and developers had with Expression Engine without having to worry about backwards compatibility.
Craft CMS is superbly flexible, built on top of outstanding 3rd party frameworks (Yii and Twig) and has addressed pretty much all of the usability issues that afflicted Expression Engine. When hanging out on the Slack channel, one frequently sees exclamations of joy from ex Drupal / Expression Engine / WordPress developers that are now using Craft. The community support is outstanding and the adoption amongst developers is growing by the day. Craft is mature enough now (it’s been a few years since its first launch) to be considered for even the most “enterprise” websites. If it’s good enough for The Associated Press, Salesforce, Oakley, Netflix and others, it’s probably good enough for most of us.
Best used for
- Enterprise websites of moderate complexity, e-commerce websites (via the excellent first party plugin Craft Commerce)
Drawbacks
Hardly any drawbacks. Just don’t get caught up in the hype and develop something in Craft that should be built from the ground up (although many would argue that anything could be built on top of Craft due to is flexibility).
Craft Commerce also shows outstanding potential, but has only been around for a few months and is fairly immature. Quite a bit of functionality that should come standard with e-commerce is still under development.
So when choosing your next CMS system, choose wisely. Having tried all of these systems, it’s pretty clear where our preferences lie.