You are right now enjoying the fruits of a very popular content management system, or CMS, whether you know it or not. This blog is published via WordPress, a modern CMS if there ever was one. In fact, if you add a comment to this post with the form below (hint, hint), you will be participating in content creation, using tools that come out-of-the-box in this particular platform.
But what makes a modern CMS? Is WordPress the perfect choice for you or your business? Well, I’m not going to review the products on the market, so I’ll leave the second question to you or your IT manager. However, I will take a stand on the first question, as I look at what makes a modern content management system. What are the must-have features it should boast, and what can you live without? My word is not doctrine, but I do have a long history of working with CMS’s and with clients who only want the best.
The top 5 must-have features of any modern CMS
Unless you have the kind of money to pay for a tailored solution created from scratch just for you and your needs, you’re going to want a modular platform. Actually, even if you’re shopping around for a customized solution you’ll still want it to be modular. The reason is simple. No matter how far-sighted you think you are, your needs will change and the requirements you attach to a CMS will change as well. Lack of modularity leads to a number of problems, with cumbersome change management at the top of the list.
Furthermore, if the platform is modular, development will be more cost-efficient. An able version management plan for the core as well as the modules ensures that only the necessary changes are implemented in each release cycle. Trust me, you will be thankful when a new core package doesn’t automatically result in the quick and merciless incapacitation of your installation.
In addition to architectural modularity, where the core features and the components are separated in the code, support for dedicated and third-party plugins, widgets, apps etc. is a huge plus. To have an entire community working on the development is what a modern CMS is all about. Which brings me to the next key feature:
4. Open source
This could be easily debated, as there are a number of hugely popular proprietary CMS’s out there, such as Microsoft SharePoint and EPiServer. The problem with these solutions is that their development is governed by the company who owns the software. This means that the community’s impact is diminished, since the company can usually support only a singular product vision. Furthermore, SharePoint, for example, is so much more than just a CMS. It’s a full-blown web platform for enterprises, and its development is surely not geared to making it the best web publishing solution around.
Open source software takes the development away from a single point-of-origin and brings the power to the community. The mark of a modern CMS is to stay up-to-date, fresh and vitalized. A vibrant user community, where everyone partakes in the design, development and support of the platform can ensure just that.
Open source does have its own issues, ranging from the significant (lack of a proper support process, exaggerated focus on template design) to the insignificant (unpredictability of community-driven development, uncertain platform life cycle), but the pros of having an open-source platform outweigh the cons. But as I said earlier, whether or not this point is a key feature of a CMS is debatable. What I do believe with absolute certainty is that community- and user-driven development have a far more significant impact on defining what a modern CMS is than development that is hidden behind the interfaces of a closed source application.
3. Control over the content
In many ways, this is the single most important feature of any modern CMS, and will most probably affect your decision the most. There is simply no excuse for a software solution which doesn’t provide all the necessary tools for advanced content manipulation. Here are some of the features the CMS must be able to tackle:
- Quick publishing – if you are a blogger or if you update the news section of your website, you will want it to be as painless as possible. Having to click 5+ times just to get your modifications published is a turn-off
- Access to the HTML source of the template – if you are denied the possibility to edit the title, the meta tags or other markup in your website, you are in a jam, as these all have a huge impact on the accessibility of your website
- Editing the URL structure – another huge thing for accessibility and SEO, because being stuck with a garbled URL structure or one riddled with confusing parameters will make it difficult for users and search engines to identify important content
- Separation of content and design – you might think that you’d do fine with a visual, WYSIWYG editor, but trust me: you will not want the design to dictate what content you can and should publish. Rather, it should always be the other way around, where the design adapts to whatever content you feed into it.
This steps somewhat into the same territory which we already covered in point #5. Where modularity covers the architectural aspects of a modern CMS, customizability has to do with how you want the platform to suit your needs. Plugins, widgets, apps, components, controls etc. exist to provide you with a number of ways to customize your solution. You can shop around for the perfect addition to your core application. If you can’t find what you’re looking for, you can always create (or pay for the creation of) the extension.
You need to be able to stay on top of how the software works. You should be able to choose the features that are active, and hide or deactivate the rest. You should be able to choose the theme, design, skin or template of your site, and you should be able to modify or remove it if you wish. You must be able to secure single pages or sections of your website behind restricted access, and it should be possible to edit and mass edit any resources, pages or assets within the site.
In short: if there’s something you can’t modify in the platform, there must be a really good reason for it. Not the other way around.
This is a no-brainer. Any modern CMS worth its salt must be secure. OWASP has listed the top 10 security concerns for 2013, and you’d be surprised how many CMS deployments I’ve come across where these concerns have surfaced.
Naturally, especially with open source software, security problems crop up more often than not. Since users can customize the application to their liking, it doesn’t require too much imagination to see how lack of proper quality control might lead to breaches in the system.
Once you have your platform set up with all its extensions, customizations and most of the content, it would be a good idea to order a security audit of the solution. It’s too easy to overlook injection flaws and data exposure problems, among others.
So what is the best solution for you?
Well, your business needs dictate which platform you should get. These five modern CMS features exist in a number of excellent software solutions out there. If you also count in the proprietary software which have all but feature #4, the list is long indeed. Most likely you already have a CMS in mind if you are reading this. I hope that these five requirements help you in your decision-making.