Menu Search
Jump to the content X X
Smashing Conf San Francisco

You know, we use ad-blockers as well. We gotta keep those servers running though. Did you know that we publish useful books and run friendly conferences — crafted for pros like yourself? E.g. our upcoming SmashingConf San Francisco, dedicated to smart front-end techniques and design patterns.

10 Things To Consider When Choosing The Perfect CMS

Choosing a content management system can be tricky. Without a clearly defined 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 costs1, 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.

Illustration of a sales man selling a CMS the client does not need.

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:

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 Link

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.

Blogger Homepage

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 Link

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.

Wordpress WYSIWYG

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 Link

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.

5. Customization Link

I have had the misfortune of working with content management systems that are completely inflexible in their presentation.

Illustration demonstrating the inflexibility of some CMS

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 Link

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 Link

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.

Illustration showing the consequences of not having a permissions system

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.

8. Versioning Link

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 Link

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.

Movable Type admin system

Another feature you might not require immediately but may in future is multilingual support.

10. Multilingual support Link

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.

Conclusion Link

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.


Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6

↑ Back to top Tweet itShare on Facebook


Paul Boag is the author of Digital Adaptation and a leader in digital strategy with over 20 years experience. Through consultancy, speaking, writing, training and mentoring he passionately promotes digital best practice.

  1. 1

    Nice article, although I’ve always used WordPress for all my projects, since it’s relatively popular, and clients find it easy to use too.

  2. 2


    March 5, 2009 2:26 pm

    Does anyone in these articles ever have an opinion other than ITS ALL WONDERFUL, STUNNING, SUPER?

    How about actually listing what each CMS is good/bad at rather than just a catalog of what HypotheticalCMS should be good at?

    What’s the point of editorial if you never, ever take a stand on anything?

  3. 3

    now what does the author recommend?

  4. 4

    Nothing Gets change…. History repeats itself !!

  5. 5


    March 5, 2009 2:38 pm

    I like to see a conclusion too indeed. In like a top 5 – 10 – 20 or something

  6. 6

    Very nice list. I’m a huge WordPress junkie, but am now becoming frustrated by how difficult it is to have a good working hierarchy, like you state in Point #1. Does anyone have any suggestions for an alternative?

  7. 7

    Arnold Wender

    March 5, 2009 2:42 pm

    Looking for the best Open Source CMS? then choose Joomla! –

  8. 8

    This article was flawed from the start with “Perfect CMS”….no such thing exists unless its custom built.

  9. 9

    Kai Sellgren

    March 5, 2009 3:07 pm

    I think you should have included Security. It is a really important aspect. What is the point of wasting time on creating a website and then out of the blue all your content is gone – a cracker visited. Security should be one of the aspects to look at. You could easily search Google for vulnerabilities. The less results you get, the better.

  10. 10

    All the screenshots are of blogging apps. I don’t think they really count as a CMS since all they do is one specific thing.

  11. 11

    Well recently I found a CMS developed on Coldfusion(, it’s open source and it’s free. It has almost all the features listed here. The problem: Well coldfusion isn’t a free platform.

    Is there a PHP based Open source CMS with all this features (including versions)?

  12. 12

    John McCann

    March 5, 2009 3:46 pm

    Yeah, not sure why you’d bother going through your wish list when you could just use Joomla, tick all these boxes and then extend it how ever you need to.

  13. 13

    One thing that comes to mind is tech support. Can you get tech support/assistance if needed? Though I love WordPress as a blogging platform, I have a hard time with open source lack of support (in general). The WordPress forum is pretty non-existent. I do a search for a particular question and it turns out I’m not the first one who asked, but it never got answered.

  14. 14


    March 5, 2009 4:29 pm

    The answer is simple: the holy trinity of CMS Drupal, Joomla, WordPress.

    Each does most of these things well out of the box and likely perfectly with contributed modules/plugins. The race is on for who gets all these points (and more) right out of the box first.

    Strictly based on this 10 point list Drupal is closest to the goal, but it isn’t perfect (yet).

  15. 15

    I have used a lot of so called CMS apps – wordpress, movable type, joomla, drupal, etc. I can’t stand the template modal of these programs. It is very frustrating trying to write standard validating code. You have to hack up the core and make modifications to everything, learn templating systems and all kinds of garbage.

    modx fixes all of that go check out a true SEO CMS :D

  16. 16

    Brian Temecula

    March 5, 2009 5:06 pm

    I tend to try to steer customers away from CMSs. They just end up calling me to edit their site, so what’s the point?

  17. 17

    For someone totally out of the loop with CMS, blogging, and all the newage Internet things, what would you guys suggest to get familiar with it all?

    I don’t even have a mySpace or Facebook page :(

  18. 18

    Joomla is a great CMS, I’ve tried a bunch of them and chose that one because it has a ton of people developing extensions for it, they are mostly free and run pretty good. To my knowledge it does everything it says in this article except 8 and 9. The truth is there is no “perfect” cms, they all need some tweaking and it all depends on what your client is selling.
    The only one I haven’t tried yet is Expression Engine, I keep hearing it’s good but for some reason it’s not convincing me.

  19. 19

    The best CMS is one that is custom built. You can specify the requirements, security and design is not restrictive.
    Why worry with things like Joomla or WordPress?!

  20. 20

    This article doesn’t help to choose the best CMS. Drupal and Joomla are the best if you like a complex site BUT if you need a blog or a fast/normal site WordPress is perfect. We need to choose the right tool in each project.


↑ Back to top