29 January, 2019
How many times have you read an article that attempted to find the best content management system? One too many? We get it. But this seemingly futile activity suddenly starts to make sense if we switch our attention from searching for a single best CMS out there to the best CMS for your specific needs. Let’s determine the most typical needs of CMS users and find the most suitable options in 2019 for each type.
There are many CMSes. Most of the popular ones have some things in common – they are open-source and usually written in PHP. But they also differ in many aspects – the type of projects they are suitable for, their approach to managing content and the technological choices their creators made in development.
The last aspect is especially important for developers themselves. Some of these choices can make devs hate a CMS, scaring away the best. To the point that they can decide to make their own CMS (and almost always regret it later, struggling for hours to create features that have already been created and released as open-source software dozens of times!). If you’re a dev, this one may ring a bell 🙂
Some other choices, however, may make a CMS quite tolerable or even enjoyable to work with. It doesn’t just affect the programmer’s mood – in some cases it may make or break your entire project. Why? We’ll get to that. Let’s start with explaining the approach we’re going to take to answer the title question.
Choosing the best content management system
As we have already pointed out, we’re not going to try to determine the indisputably best CMS there is. Since there are so many aspects and circumstances to choosing one, it’s quite safe to say that no such thing exists. We’re also not going to dwell on things such as the number of templates or plugins specifically as that by itself doesn’t determine neither short- nor long-term satisfaction from using a particular CMS.
What we are going for is a content management system, which simply provides the best return on investment for all project stakeholders in a given scenario.
To make things even easier, we’re going to focus on all-purpose CMSes. It means that we’re not going to include any popular eCommerce platforms. Also, all technologies we have chosen for consideration are open-source and PHP-based. This makes for a more fair comparison, but it also reflects the state of the CMS market in 2019 – the overwhelming majority of solutions, including all the most popular systems, are in fact open-source and written in PHP.
Without further ado, here’s a list of our contenders.
- WordPress (org)
Before we go to specific scenarios, let’s take a bird’s eye view on all of them.
Our CMSes of choice – overview
|CMS||Synopsis||Stated objective||Year founded||Starts on GitHub||Technologies|
|WordPress||The most popular CMS in the world, meant for blogging but adaptable to other types of projects.||Best blogging platform for individual users||2003||11 951 (mirror)||PHP, Themosis|
|Drupal||One of the most popular and oldest CMSes. Highly customizable.||Maximum freedom and customizability||2000||3188 (mirror)||PHP, Symfony Components|
|Joomla||Popular, secure and very stable CMS with great flexibility out-of-the-box.||Security and stability||2005||–||PHP, Symfony Components|
|October||Lightweight yet powerful. Modern design based on Laravel. Highly customizable page structure.||Modern design and no limitations||2014||8038||PHP, Laravel|
|TYPO3||Enterprise-level CMS (competitor for Drupal) connected to a commercial ecosystem of services.||Secure and powerful||1998||594||PHP, Symfony Components|
|Bolt||Symfony-based CMS meant to power sites of various kind. Elegantly-written.||Ease of use for BOTH users and developers||2012||3839||PHP, Symfony Framework|
|Pico||Markdown template-based CMS, which trades customizability for speed and simplicity. No database & minimal footprint.||Lightweight and easy authoring||2012||3014||PHP, Symfony Components|
For our comparison, we’re going to primarily focus on three categories: simple websites, complex websites and custom web development. Before we get to that, let’s start with a special category:
CMS for the SEO & speed-conscious
Just about everyone involved in the business of creating web content, and that’s what CMSes are mostly for, understands the importance of SEO and website speed in their success. As far as speed is concerned, it’s not only crucial for user experience and engagement, but it’s also increasingly hinted as an important aspect of SEO strategy in and of itself.
It’s true that some CMSes might be inherently faster than others. Pico, which doesn’t use a standard database, renders pages very quickly. Bolt, while more conventional, is also designed with speed as one of its selling points. On the other hand, Drupal focuses on being feature-rich, but at a cost of its speed. However at the same time, with proper theme optimization, a site can be very fast regardless of what CMS it’s based on.
It’s the same case with SEO. While WordPress and Drupal offer more ready-made features (both out-of-the-box and in the form of free plugins/extensions), what makes or breaks your organic traffic is your SEO strategy, not a CMS. What you should expect from your CMS is the ability to add meta data and serve pretty (text-based) URLs as well as pure HTML editor for fine control of your content. ALL CMSes on our list meet these in one way or another.
At the end of the day, these aspects, as important as they are, should not be decisive factors in the choice of your CMS. Let’s now consider three typical scenarios, in which you might need a CMS.
CMS for a simple website (blog, portfolio etc.)
To determine the best CMS for a simple website, we first need to agree on what we should consider a simple website. Is it one that has few pages? Or perhaps one that has a simple design?
No. Since CMSes, as in the name, exist to manage content, simple website is one that has an easily manageable content. For example, a standard WordPress website has just a couple of taxonomies (content types): one for blog posts, one for tags, one categories etc. Aside of that, there are usually just a few static pages.
A website of such a page structure may be simple, but it’s not necessarily small. Quite the contrary – it might have hounders of blog posts and pages as well as dozens of tags, categories and authors. It may also attract tons of traffic every day. However, when it comes to content management, it is still a simple website. A lot of popular blogs and online magazines you follow are great examples of such websites.
For a website like this, a CMS such as WordPress or Joomla! seem to be the best option. Their core features don’t go as far as Drupal’s, but it’s still more than enough to cover all the needs of such a simple website. At the same time, they are easy to setup and master and can be easily extended, without coding, with a variety of plugins. Markdown-based Pico may also work for a site like this, provided it doesn’t have too many pages and the author has a certain level of technical knowledge.
Still, thanks to the biggest number of quality themes, plugins, gigantic community, familiar admin panel and limited number of core featured suited specifically to simple websites, it is WordPress that I recommend as the best choice here.
CMS for a complex website (that is still just a website)
Onto complex sites – but what is exactly a complex site? Much like before, it is the content structure that is going to decide it. Think a large multisite that serves different content to different types of users (e.g. patients, doctors and corporate partners on a healthcare provider’s website). A website like this might have several streams of blog-like content, multiple tags and categories, various language versions, and even its very own eCommerce module with products, product categories and more.
It’s possible to build a site like this with just about any CMS on our list (except for Pico), but in case of most of them, it would require multiple installations and plenty of customization that could prove shaky and difficult to manage in a long run.
Structurally complex sites is where CMSes such as Drupal or TYPO3 shine its brightest. With the ability to quickly create new taxonomies and handle multisite implementations out-of-the-box, Drupal makes for a great choice for websites with very complex content needs. Drupal developers also have all the tools available to further extent the core with new features, should such a need arise. Thanks to its popularity, it’s relatively easy to find developers specialized in this particular CMS.
CMS for use in custom web development
Do you have a need for custom web or app development? Whether you are building a SaaS product, a mobile app, software for internal use or anything else, usually you also want to increase your web presence with your content marketing strategy (blog articles, landing pages, news pieces, infographics and any other way to reach your target with on-site content). After all, it’s one of the best long-term inbound marketing strategies.
Even if all you require for your content is a simple website with a couple of most important features, you still want to align your web presence with your web product as much as possible. It would be great if you could think of these two elements as one and have a single team work on it, maintaining and developing new features.
If this is what you want, there are a couple of reasons why WordPress, Joomla or any other very popular CMS may not necessarily be the best option. While these CMSes are greatly appreciated by their users, many skilled developers don’t share their enthusiasm (to say the least). What might be useful and pleasant for end users might not necessarily be well-written from a technological standpoint. It may also be based on CMS-specific solutions that greatly differ from those known from popular PHP frameworks such as Symfony or Laravel. Even if they use these frameworks, it’s often limited to just a couple of components.
This is one of the reasons why the best developers often avoid working with the most popular CMSes. In addition to that, top developers tend not to specialize in particular CMSes at all, as these solutions are usually meant for development of fairly basic projects (content-based websites such as those described in two previous scenarios). When they do have to use a CMS, they prefer one that is based entirely on technologies known to them and written in a way that makes it easy to develop new features using best practices of development.
Our personal favourite is a Symfony-based Bolt CMS. It’s not calling itself a “developer’s dream” just for show. Its consistent use of Symfony, elegant codebase and the ability to easily create new content types and extensions make for a powerful and scalable content solution, well-liked by experienced developers that usually avoid ready-made CMS platforms, as they can jump right into it (and not hate the process at all!).
You may be wondering if choosing your CMS based on developers’ tastes is a good idea. With a CMS like this, building new functionalities and attracting new skilled developers to your project gets easier. Still, it wouldn’t be a viable option, if the CMS wasn’t useful to editors as well. Luckily, Bolt sports an intuitive admin panel that should feel really familiar to people used to CMSes such as WordPress or Joomla. Its core is not overloaded with features that are useful only in very rare circumstances. At the same time, it can be extended with a variety of ready-made and easy-to-install extensions. Getting your employees up-to-speed with Bolt should be pretty easy.
With that, you can focus simply on searching for the best PHP developers, rather than CMS-specific devs. In the long run, it should be a major advantage when it comes to the quality of your custom web and app development.
What do you think about our recommendations? Do you have experience with any of these CMS platforms. Or maybe you would like to recommend another CMS? Let us know in the comment section below.