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 list2 and even provided advice for CMS users3. 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

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

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

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

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

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.

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

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.

Movable Type admin system

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

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.



  1. 1 http://thinkvitamin.com/dev/the-5-hidden-costs-of-running-a-cms/
  2. 2 http://boagworld.com/technology/too_many_content_management_systems/
  3. 3 http://boagworld.com/site_content/advice_for_cms_users/
  4. 4 http://boagworld.com/technology/too_many_content_management_systems/

↑ 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

    I have been using Joomla! for a while and it works for me. For example, my website is Joomla! But everyone that I showed to didn’t think it was a Joomla! website.

    Drupal seems to be overly complicated for me. Maybe because I haven’t given it much chance. WordPress – I’ve used it for a while, but I found it less flexible than joomla or drupal. But I know some friends who make a living out of using WordPress as their base for making websites.

    At the end of the day, the best CMS “for you” is what you are most familiar with. It always depends on how well you can tweak and modify a template (of a particular CMS) to meet your needs (or wants).

    Find the shoe that fits you.

    Best wishes to everyone!

    Peace ~

  2. 202


    The web is full of clap happy wannabees. So be it!

    I’d imagine they SM avoid saying anything too harsh as it would impact ad deals and also potential legal issues, so they just play it safe.


  3. 403

    I love SM, they open my eyes to a lot of great designs and ideas I’d otherwise miss, but you’re entirely on target here Jack. They never write anything critical, point out flaws, or say why one product is better than the other.

  4. 604

    I’ve tried Drupal and I found it very good for huge projects as ecommerce. But I also found it very boring with a lot of options and configurations that never end and really complicated for theming. The tutorials are really tricky (someone knows a good one ?!?).

    Speaking fluently french I use SPIP for small project. It is a good cms useful for small to big editorial websites. As said @Osvaldo, he’s really friendly designer (instead of Drupal who’s developer friendly). There is not a lot a theme on SPIP because you can actually easily built your own website based on your own pdf or png files. You’are also free to code good or bad css and xhtml. That’s up to you and your skills.

    As a designer, I choose 1st SPIP and then Drupal.

  5. 805

    I understand that everyone is crossing fingers for open source, but there is one thing they omit – free editions of commercial software. I use free edition of Kentico CMS – feature mix is enough for small to mid size web site and you get professional look and feel, good documentation and support by forums. Fruthermore they plant a tree if you find a bug in their CMS (even you aren’t their client) ;) trees.kentico.com

  6. 1006

    I would recommend expression engine if you do your designs from scratch. it’s as easy as writing normal html/css.
    I’ve used joomla on one or two sites, but it’s a pain to customize and to update. and it’s a big security risk.
    you don’t need a lot of add-ons with Expression engine.
    for instance: if you want to build your own event management tool, you can do it with the core version. in joomla you would have to rely on a third party module. in EE you do it yourself, the way YOU want it to look or work.
    or if you want to display some content on the front page, you can do it with no add-on at all… you just type {exp:weblog:entries weblog=”news” limit=”3″} and your done.. well more or less…
    this goes for google maps integration, job-management, member management, news, static pages, user content etc etc.. there’s nothing joomla can do that expression engine coudn’t. I’ll bet you!
    give it a shot, you will not regret it!

  7. 1207

    Hi guys,

    I’ve created a CMS that contains a few of these features either as standard, or as a plugin.

    An online demo and a free, downloadable version will be available very soon and can be seen at http://scottjarvis.com. I’d be interested to know how it compares for anyone who is familiar with CMS software.


  8. 1408

    I’ve been providing custom web content since the 90s, even lecturing on what makes a website read well. But I never had to worry about the tech side; my clients’ web departments did that. Now I find I have to be more involved in understanding CMS.

    This piece gives a good general overview to people like me. I think a comparison of software would be nice, but that gets tricky since most people bring their own prejudices into play.

    I think the way the article opened the discussion means it actually did a good job.

    Oh, and one thing almost all the web people forget: no matter how easy it is to change a website, you still need to know what to change, how to change it–in other words what content is going to grab and keep your audience. It sounds very obvious, but I find today’s lectures on CMS, SEO, etc., never discuss this. It’s assumed that anyone can write good web copy. Want to guess again? :)

  9. 1609

    First of all thank you for the useful tips, Paul! I agree with most of them. But let me add one more thing.
    Any content management system should also provide SEO options for easy search engine optimization. And now CMSs that provide deep linking, 301 reditects, google analytics integration and other important features have more advantages over simple website control panel.

  10. 1810

    FlashMoto….The CMS that my company, Preation, invented has all of those features. We offer it under a SaaS model so that all of our users get the advantage of software updates and new features. Free trials area available at our website, http://www.preation.com.

  11. 2011

    From a real webdeveloper: http://www.typolight.org

  12. 2212

    Really amazing tutorial for me, bc i mostly confuse on which cms is to use now??

  13. 2413

    NovusCMS designs and builds websites for public sector clients

  14. 2614

    Bas, I totally agree with your additions. Also, it seems that a lot of the features in the main article are things that I took into consideration when I selected wordpress for my http://www.breakingthemarketingrules.com blog – but they seem focused on that: the smaller sites/blogs. But if someone is from a larger organization looking for a CMS they should consider talking to a CMS consultant like http://www.oshyn.com that is not vendor-biased and has done many many implementations for different types of websites. The reason is that they are skilled in helping you understand why one CMS would be better over another and will help you navigate the labyrinth of bells and whistles thrown at you from vendors.

  15. 2815

    Check out the Squiz Mini CMS:

    has all the features of most, intuitive and it is a sinch for front end users.

  16. 3016

    Thank you for the nice article

    I would suggest DiY-CMS:

  17. 3217

    I’ll go for Sitecore CMS, it’s xslt based, it’s easy, has clear manuals but the only dissapointment is that it’s not free…
    I also have worked with Joomla and Drupal, i don’t like them both much, but if i have to choose between them i’ll go for Drupal.

  18. 3418

    It’s Concrete5, hands down. It does depend on your needs but I have to throw in a vote for Concrete5. Bloated content management systems like Joomla or Drupal are terrible for the end-user experience and not very developer friendly. Concrete5 is a new powerful CMS that is easy for developers and even easier for end-users. It works on a in-context editing model so you make changes as you’re browsing your site. Try a demo of it here: http://bit.ly/concrete5cms

  19. 3619

    Spot on SIR!!! Great article…

  20. 3820

    @ Insidefreak

    I agree with choosing Sitecore especially for large complex websites. For me the manuals…they stink and are totally disorganized and fragmented. It’s really annoying trying to answers for anything in the documentation. To be honest I find it odd that a company that can create such a top notch cms can’t hire some technical writers that know how to write for such a capable product and organize the information in a coherent way.

  21. 4021

    Karl Francisco Fernandes

    November 23, 2010 8:27 pm

    Textpattern has always been my CMS-of-choice for all my projects. It’s extremely flexible, has a great developer community and is regularly updated with bug/security fixes. I’ve been using it ever since version 4 and it just gets better and better.

    The learning curve maybe a little steep as you have to learn TXP’s own tags, but even these are pretty logical. Converting any HTML/CSS mockup into a fully functional site is as easy as inserting these TXP tags into the templates.

    All the markup these tags add are pretty semantic too, and most of them can be affixed with CSS classes and IDs very easily.

    I just love Textpattern, and don’t see myself using any other CMS anytime soon. And I can’t wait for TXP5!

  22. 4222

    Nice compilation. Thanks for the article.
    Here is another .net Cloud CMS solution which has almost 30+ built in modules.
    For more details : http://www.jaenovationcms.com

  23. 4423

    There isn’t a perfect cms, it always depends what you like!

    But if you like, easy to use, quick installation and plugin/hook support, with SEO integrated already. http://www.jakcms.com

  24. 4624

    Don’t be boring, roll your own.

  25. 4825

    Another one to the list http://www.contao.org/

    What i already use only for images in combination with another cms is that http://slideshowpro.net/products/slideshowpro_director/

    because i don´t found any good plugins inside of the different cms´s above to manage image gallerys like in director.

    Thanks for the article and the huge comment list because of it :-)

  26. 5026

    another cms that makes this list is called phpwarmsky. it is lightweight and loads fast. easy to install and packed full of modules and themes. http://www.phpwarmsky.com

  27. 5227

    The big thing that has crept up the several times I’ve gone through the process of selecting a CMS is the issue of cost. Once you have gone through the steps that Paul suggests, you will more than likely be left with a couple of choices. Depending on how you implement the site(s), your cost could differ substantially depending on which you choose. Once you get to that point, here is a post that can walk you through the cost-estimate process: http://tumblr.com/xjx1wtqi0g

    Also, depending on who is involved in the decision, most times you will come to the “Open Source vs. Proprietary” debate. I personally lean towards open source for most applications. Here is why: http://tumblr.com/xjx1s6ublb

  28. 5428

    The bottom line is you as the designer/developer don’t need to spend valuable time training clients. If you’re looking for a system that’s very developer friendly and extremely user friendly, then concrete5 is your answer. I’ve worked with many CMS systems, and the only one that comes close to concrete5 is WordPress. Rumor has it that you’ll soon be able to run WordPress inside of concrete5! You can run multiple sites off of one install too, the core was built around that basic concept and ease of use.
    Chalk my vote up for concrete5, check it out: http://www.concrete5.org/r/-/6614.

  29. 5629


    Easy to use, easy to install, easy to build templates, powerful, extensible, modular. Better than wordpress, modx, silverstripe and definitely better than joomla.

    WordPress would be my second choice and sometimes my first choice depending on the site requirements.

  30. 5830

    There’s a great multitasking system EBIZ CMS to: ebiz.org.ua – the most inexpensive of clever CMS in the world!

  31. 6031

    So, as a developer, when choosing a cms I am first interested in security, modularity and API integration. Also, a community is very useful, as, engaging with other CMS users is essential. I’ve tried open source content management systems like Joomla or Drupal, but lately I’ve been inclined to use SaaS type ones like http:/www.ucoz.com. I find there all my requirements when choosing a SaaS type CMS and I also don’t use the WYSIWYG.

  32. 6232

    massive data produce but l think its not clear on the CMS

  33. 6433

    There are only three hosted platforms that are both easy to use for end-users (customers) and simple to deploy for designers and developers: Squarespace, LightCMS and Edicy (www.edicy.com). Only in case the end customer has in-house developers, WordPress or Drupal makes sense, otherwise updating, patching, plugin compatibility and custom backend code is going to be a mess.

  34. 6634

    I’ve been developing enterprise-level systems for more than a decade, I’ve mostly used MVC frameworks and other closed CMS’s.

    All I can say is, NEVER EVER use WordPress, the code-base is the worst I’ve seen in my entire career, majority of plugins are buggy, security flaws, and outright unscalable for real business needs.

    If you want to deploy a trivial hobby site then go for WordPress.

  35. 6835

    I recommend new cms system, because also people that know only html and css can build on it websites from scratch. Read more at http://www.indiegogo.com/projects/simple-to-use-and-free-cms/x/1881459

  36. 7036

    Great post. When I am considering what CMS to choose, I typically ask these nine questions. I thought maybe your readers would also find them helpful. Thanks! http://blog.openviewpartners.com/choosing-a-cms/

  37. 7237

    You right because WordPress isn’t build for geek user. They build for people who need to blogging easily & freely. I am using WP on my weblog & fun with that CMS.

  38. 7438

    The approach for choosing the CMS should actually be simple –

    Find out what you required immediately from your CMS
    Choose a CMS which gives just that what you want from a list CMS service provider
    Start working with the CMS as per your needs and requirement.
    Test what you have created and analysis the changes required.


  39. 7639

    Would love to see this article updated for 2013. A lot has changed, but I think the article’s intent is no less valuable than it was when it was first written. My company is a DNN-centric shop, so of course that’s the system I prefer for all the reasons above and more (such as its enterprise social networking tools), but with 1,600+ CMSs out there the choice today hasn’t gotten any simpler for those new to the market.

    Jason Stone, Engage Software
    St. Louis, MO

  40. 7840

    haha, good one.

  41. 8041

    You need to try Microweber, – http://www.microweber.com it is much more easier than WP.

  42. 8242

    Hey! Right now I am working on CMS project. I am going to re-write it.
    Whats you suggestion, what functionality should I have in my CMS project.


↑ Back to top