Menu Search
Jump to the content X X
Smashing Conf New York

We use ad-blockers as well, you know. 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. upcoming SmashingConf New York, 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.

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
SmashingConf New York

Hold on, Tiger! Thank you for reading the article. Did you know that we also publish printed books and run friendly conferences – crafted for pros like you? Like SmashingConf New York, on June 14–15, with smart design patterns and front-end techniques.

↑ 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.

  21. 21

    Spank McMonkey

    March 5, 2009 6:04 pm

    Choosing a CMS depends on a lot of factors and the above-mentioned options (WordPress, Joomla etc.) won’t work for everyone. Some factors include:
    – Existing business development environment
    – Existing business skill sets
    – Possible integration with existing/new EDRMS

  22. 22

    I just completely fell in love with Textpattern. If you’re the guy who writes his templates from scratch and wants maximum flexibility, Textpattern is it. It’s more or less like ExpressionEngine, but free and open source. 99% of the weaknesses I’ve heard about Textpattern, have by now been completely ironed out.

    Yes the editor is pretty plain (either raw HTML or textile), but I used to use the raw HTML mode in WordPress anyway. WYSIWYG editors tend to put a lot of nonsense tags and rubbish in the posts.

    I’ve used WordPress and I think it is an outstanding blogging tool. But it really excels there and ends there as well. Yes, you can force it into trying to resemble a CMS in a halfway working manner, but the customisation and the fact that if you want to present your posts in a non-blog like way, you’ll end up with raw PHP everywhere just turned me off.

    In textpattern you just write HTML and easily to understand textpattern tags. You can even use the textpattern tags in your posts, so you can even pull other data from your DB into posts on a per-post basis! Or you can do conditional stuff even within your posts. Try to beat that. It gives me maximum flexibility in a pretty logical system.

  23. 23

    Captain Betty

    March 5, 2009 6:32 pm

    I use WordPress and a blogging platform. Not a CMS. Joomla, although feature rich and robust is a paint to customize – I don’t want to learn a whole new language to make it my own. Xoops is a bit better in the customizability department but its documentation is very lacking.

    I’ve recently stumbled on CMS Made Simple. It’s fairly simple to setup, has all the basic features you need and is pretty flexible when it comes to templates and themes. You can always test drive CMS systems over at

  24. 24

    @Tom, I am falling in love with ModX. I have used it on few small sites. I love the fact that any page is a template. It is a CMS framework, the best of both worlds.

  25. 25

    Bas Vredeling

    March 5, 2009 2:23 pm

    Very interesting list. Useful indeed. If I may, I’d like to suggest a couple of other things:
    – modularity (customisation is one thing, elegant scaling and extension with new functionality is another)
    – possibility of integration via an api

    other considerations:
    – license, source model (do you need an open source gpl cms or a closed source, company supported one?)
    – user base (how large is the community supporting and using the cms?)
    – available documentation
    – development speed

  26. 26

    ModX, everyday of the week. Hands down it is simply one of the easiest, feature rich and extensible CMS applications i have ever encountered. And i’ve tried approximately 60% of the CMS apps that can be found on opensourcecms.

    A conclusive list would have been interesting though. The top 10 CMS apps or so…still, interesting article.

  27. 27

    Have to agree with Jackparsons. This article was way too generalised and abstract to be of any real value. Disappointing – no beef in this sandwich – but still a massive SM fan :)

  28. 28

    @jackparsons put it this way… Drupal is so customizable that if the default doesn’t do all of these 10 things you can add modules to do it. And if they don’t do it the way you want it you can modify it. Only problem is its quite difficult to set up how you want it if you don’t know what you’re doing.

    @Arnold Wender … please justify why it is the best. Joomla has the prettiest interface but I wouldn’t necessarily say it’s the best.

  29. 29

    agreed, but really would like to see some comprehensive comparisons done. i’ve done sites in both joomla and wordpress, and had success with both (and plenty of quirks with both too). i would recommend either to a client depending on their needs, but i’m open to learning about new/other ones.

  30. 30

    If you want a comparison of CMS systems, go to the CMS Matrix.

  31. 31

    I can not figure out how people can use WordPress as an CMS.
    It’s like using a car as a boat; It can work, with tweaks and fixes. But it will, one time or another, sink!

    I personally use Joomla! With it’s great arcitecture and easy-to-learn Component development, it makes it the perfect CMS!

  32. 32

    Thanks for this exellently article !
    Personnally, is use frequently WordPress and i not use the WYSIWYG

  33. 33

    Zander Martineau

    March 5, 2009 4:38 pm

    Interesting article, I agree that for the ‘perfect’ situation you have to go with a custom built CMS but for those that can’t build one, you gotta go with Textpattern – it’s like ExpressionEngine but free.

  34. 34


    March 5, 2009 4:40 pm

    IMHO, the most valuable posts are those that provide specific recommendations or comparisons. WordPress is the clear leader for blogging and probably for most other sites with the possible exception of stores which would might be better off on Volusion. Why reinvent the wheel if it isn’t absolutely necessary?

    Joomla or Drupal could be great solutions IF you have the skills to use them. Those who don’t might do well to stick with WordPress. It is simpler to learn, there are plenty of online tutorials, and it is easier to find someone who can assist you.

  35. 35

    Jochem Bokkers

    March 6, 2009 3:07 am

    The idea of a ‘perfect’ cms is a myth, that’s like still saying we all should be driving a T-ford. I agree with Paul on the importance of the described features one thing I lack in the ongoing debate aswell though is the fact that nobody ever mentions a .net based cms.

    Without flaming or anything but are you all saying that PHP is the way to go and a solution like Telerik’s Sitefinity isn’t good?

    I’ve fiddled with drupal, Joomla and a whole list of others and frankly haven’t found an easier cms to modify (both layout and code) then Sitefinity.

  36. 36

    Glenda Watson Hyatt

    March 5, 2009 6:08 pm

    I am surprised that accessibility, besides the mention of managing images, was not included. Accessibility, both in terms of the user interface and the front end, is a necessity, particularly in jurisdictions where web accessibility is a legal requirement.

  37. 37

    Joomla, a good cms?
    are you crazy??

    take a look at Frog CMS,

    and you will see what is a good minimalistic cms!

  38. 38


    March 5, 2009 6:30 pm

    I use Joomla. It is a bit difficult at first when trying to create your own design. If you have the patience to go through several tutorials or buy a Joomla book, it will pay off in the long run. I now know how to customize a site from scratch :)

  39. 39

    I’ve been looking for a CMS 3 years ago and settled on Typo3. It is feature reach but the learning curve is very steep at the beginning.

  40. 40

    Can anyone recommend a CMS (PHP, MySQL based) that offers approval for page changes? A client wants to be able to make changes to a page, then have someone else approve and post the page. I’m familiar with WP, but trying to write a plugin to do this might take too long. Thanks!


↑ Back to top