Choosing a content management system can be tricky. Without a clearly deﬁned set of requirements, you will be seduced by fancy functionality that you will never use. What then should you look for in a CMS?
I have written about content management systems before. I have highlighted the their hidden costs, explained the differentiators behind the feature list and even provided advice for CMS users. However, I have never actually asked what features you should look for in a content management system. And that is what I will address here.
When I left home for university my mother taught me a valuable lesson. If you want to save money, never go grocery shopping when you are hungry, and always write a list. If you don’t, you’ll be tempted to buy things you don’t need.
You may also be interested in the following related posts:
- Designing for Content Management Systems
- Getting Started With Content Management Systems
- How WordPress Took The CMS Crown From Drupal And Joomla
- Why Static Website Generators Are The Next Big Thing
- Content Management System (CMS) Icon Set (12 Free Icons)
The same principle is true when it comes to selecting a content management system. Without a clearly defined set of requirements, you will be seduced by fancy functionality that you will never use. Before you know it, you’ll be buying an enterprise-level system for tens of thousands of dollars when a free blogging tool would have done the job.
How then do you establish your list of requirements? Although your circumstances will vary, here are ten things that are particularly important.
1. Core functionality
When most people think of content management, they think of creating, deleting, editing and organizing pages. They assume all content management systems do this and so take that functionality for granted. However, that is not necessarily the case. Nor is there any guarantee that such functionality will be presented in an intuitive way.
Not all blogging platforms, for example, allow the owner to manage and organize pages in a tree hierarchy. Instead, individual “posts” are automatically organized by such criteria as date and category. In some cases, this is perfectly adequate. In fact, this limitation in functionality keeps the interface simple and easy to understand. However, in other circumstances, the limitation can be frustrating.
Consider carefully the basic functionality you need. Even if you do not require the ability to structure and organize pages now, you may in future. Be wary of any system that does not allow you to complete these core tasks.
Also ask yourself how easy it is to complete these tasks. There are literally thousands of content management systems on the market, the majority of which offer this core functionality. However, they vary hugely in usability. Always test the system for usability before making a purchase.
2. The editor
The editor is one core feature worth particular attention. The majority of content management systems have a WYSIWYG editor. Strangely, this editor is often ill-conceived, despite the fact that it is the most used feature within the system.
The editor is the interface through which content is added and amended. Traditionally, it has also allowed the content provider to apply basic formatting, such as font and color. However, developers have recently moved away from this type of editor to something that reflects best practice.
The danger of traditional WYSIWYG editors is two-fold. First, content providers are given too much control over the design. They are able to customize the appearance of a page so much that they undermine the consistency of the design and branding. Secondly, in order to achieve this level of design control, the CMS mixes design and content.
The new generation of editors takes a different approach. Content providers use the editor to mark up headings, lists, links and other elements, without specifying how they should appear.
Ensure your list of requirements includes an editor designed on this principle and that does not give content providers control over the appearance. At the very least, look for content management systems that allow the editor to be replaced with a more appropriate solution.
The editor should also be able to handle external assets, including images and downloadable files. That brings us to our next point: management of these assets.
3. Managing assets
Management of images and files is badly handled in some CMS’. Badly designed systems can frustrate users with poor accessibility and usability. Images in particular can cause problems. Ensure that the content management system you select forces content providers to add <alt> attributes to images. You may also want a CMS that provides basic image editing tools, such as cropping, resizing and rotating. However, finding one that does this can be a challenge.
Also, consider how the content management system deals with uploading and attaching PDFs, Word documents and other files. How are they displayed to end users? Can descriptions be attached to the files, and is the search function capable of indexing them?
Search is an important aspect of any website. Approximately half of all users start with search when looking for content. However, the search functionality in content management systems is often inadequate.
Here are a few things to look for when assessing search functionality:
- Freshness: how often does the search engine index your website? This is especially important if your website changes regularly.
- Thoroughness: does it index the entire content of each page? What about attached files, such as PDFs and Word, Excel and PowerPoint documents?
- Speed: some search engines can take ages to return results. This is especially common on large websites.
- Scope: can you limit the scope of the search function to a particular section of the website or refine search results once returned?
- Ranking: how does the search engine determine the ranking of results? Can this be customized by either the website owner or user?
- Customization: can you control how results are displayed and customize the design?
The issue of customization, of course, goes far beyond search.
I have had the misfortune of working with content management systems that are completely inflexible in their presentation.
Your content’s presentation should not be dictated by technology. It is simply not necessary now that we have techniques to separate design and content. Unfortunately, like some Web designers, many CMS developers have not adopted best practices and have created systems that produce horrendous code. This puts unreasonable constraints on the design and seriously impacts accessibility.
You need a content management system that allows flexibility in the way content is retrieved and presented. For example, can you retrieve news stories in reverse chronological order? Can you display events in a calendar? Is it possible to extract the most recent user comments and display them on the home page? Flexibility makes a CMS stand out.
Speaking of user comments, all forms of user interaction are worth mentioning.
6. User interaction
If you intend to gather user feedback, your CMS must provide that functionality or allow a third-party plug-in to provide it. Equally, if you want to host a community on your website, then you will require functionality such as chat, forums, comments and ratings.
At a minimum, you will need to be able to post forms and collect responses. How easy does the CMS make this process? Can you customize fields or does that require technical expertise? What about the results? Can you specify who they are emailed to? Can they be written to a database or outputted as an Excel document? Consider the kind of functionality you need and look for a CMS that supports it.
Also ask what tools exist for communicating with customers. Can you send email newsletters? Can recipients be organized into groups that receive different mailings? What about news feeds and RSS?
Finally, consider how you want to manage users. Do you need to be able to reset passwords, set permissions or export user information to other systems?
But user permissions are not the only things that need managing. You should also consider permissions for those editing the website.
7. Roles and permissions
As the number of content providers on your website increases, you will want more control over who can edit what. For example, one group may need to be able to post job advertisements but not add content to the home page. This requires a content management system that supports permissions. Although implementation varies, permissions normally allow you to specify whether users can edit certain pages or even entire sections of the website.
As the number of contributors grows still further, you may require one person to be able to review content being posted to ensure accuracy and consistency in tone. Alternatively, content may be inputted by a junior staff member who requires the approval of a more senior person before making it live.
In both cases, you’ll need a CMS that supports multiple roles. This can be as simple as having one “Editor” and one “Approver” role, or more complex with customized roles and different levels of permission.
Finally, enterprise-level content management systems support entire workflows in which page updates have to go through a series of checkpoints before going live. These complex scenarios require the ability to roll back pages to previous versions.
Being able to revert to a previous version of a page allows you to quickly recover if something is posted by accident.
Some content management systems have complex versioning functionality that allows you to roll back to a specific date. However, in most cases, this is overkill. The most common use of versioning is simply reverting to the last saved state.
Although this sounds like an indispensable feature, in my experience it is rarely used expect in complex workflow situations. That said, although versioning was once a enterprise-level tool, it is becoming available in more and more content management systems.
The same can be said of of multi-website support.
9. Multiple website support
With more content management systems allowing you to run multiple websites from the same installation, I would recommend this as a must-have feature.
Although you may not currently need to be able to manage more than a single website, that could easily change. You may decide to launch a new website to target a narrower audience.
And with the growth of the mobile Web, you may want to create a separate website especially for mobile devices. Whatever the reason, having the flexibility to run multiple websites is important.
Another feature you might not require immediately but may in future is multilingual support.
10. Multilingual support
It is easy to dismiss support for multiple languages. Your website may specifically target the domestic market, or you may sell a language-specific product. But think twice before dismissing this functionality.
Even if your product is language-specific, that could change. It is important that your CMS be able to grow with your business and evolving requirements.
Also, just because you are targeting the domestic market doesn’t mean you can ignore the issue of language. We live in a multicultural society in which numerous languages are spoken. Being able to accommodate these differences gives you a significant edge over the competition.
That said, do think through the ramifications first. Having the ability to add multiple languages doesn’t mean you have the content for them. Too many of my clients have insisted on multilingual support and yet never used it because they neglected to consider how they were going to get their content translated or pay for it.
Consideration of features is an important part of the process of selecting a CMS, but it is not everything. It is also important to consider issues such as licensing, support, accessibility, security, training and much more.
I leave you with a word of warning: don’t let your list of requirements become a wish list. Keep your requirements to a minimum, but at the same time keep an eye on the future. It’s a fine line to walk. On the one hand, you don’t want to pay for functionality you will never use. On the other, you don’t want to be stuck with a content management system that no longer meets your needs.