Choosing a CMS

Written by Haig | June 7th, 2008 | articles

There are many ways to manage a site’s content, from the simple Blog engine that allows limited content publishing to a full Content Management System (CMS) framework to Rich Internet Applications (RIA) to MVC frameworks — on which one can build custom web apps. The open source space offers the wide array of choices making it pretty difficult to choose the right solution.

The Bad news: There is no one right answer.
The Good News: There are many appropriate choices for any given situation

The only clear method of coming to a clear decision is by analyzing site requirements.

Site requirements can be attained in multiple ways – interviewing clients, competitive & stat analysis and can be broken down into

  1. Content: Defining the purpose of your content is just as important as defining the content itself. Is your content tailored for interaction, discussion or plainly self-expression (ie. blogs)? How will the content enter the site and in what format: text, images, video; audio, XML, PDF, HTML, spreadsheets, etc.
  2. User: How many users will contribute? Are there different roles? What permission does each role have? Can these be customized?
  3. Presentation: How is the content being presented to the user as well as the contributor or administrator.
  4. Scalability: How much content? How many users? How much traffic is expected?

The following list may assist you in the determining your requirements:

  • Ease of Use: For the client or administrator, for the developer, to upgrade in the future
  • Support: For open source projects, the community support is very important. How helpful is it? How active is it?
  • Add-ons: There is rarely a CMS available that will match exactly what you need, so it is very important to have as many add-on options available for your chosen CMS as possible.

When a requirement is not really a requirement?
Knowing when the client thinks they need something they really don’t need. Forums, for example.
Forums are not a requirement, they are considered a feature. Does the feature satisfy one of the site’s goals?

For example: When the editor of an online magazine asks for a forum to begin discussion amongst its readership and, thus, suggests a forum. A possible alternative feature would be magazine articles with threaded discussion. This feature would satisfy the same goal in a more focussed type of dialogue for users rather than an open generic forum.

Apples and Oranges
For the sake of keeping this article on point we must consider this a broad comparison of Content Management Systems and not wikis, project management software, or Customer Relations Management.

The Usual Suspects

  • WordPress
  • TextPattern
  • ExpressionEngine
  • Joomla
  • Drupal
  • Alfresco
  • Typo3
  • MVC Framework – Ruby on Rails, Django, Symfony

Some factors to consider are the technical skill of the staff who will use it, and the behind the scenes work needed to set up and customize the system. The amount of time it can take to properly check the viability of a CMS is itself something that can put many off choosing and implementing a reasonable open source system, so many will go to companies who offer a commercial package they have themselves developed and offer to take care of the content migration and customization. For those with a large budget this may be a viable solution, but for community-based groups, non-profit organizations and small companies or individuals with little or no budget, are there systems available that can make setting up and administration a plausible option with a nominal amount of technical knowledge needed?

I am amazed by the number of web development companies (even here in Vancouver) that only offer one CMS solution. In this case, one size does not fit all. Drupal is not the only way to build a magazine online.

Another important aspect to be aware of is some web firms offer custom proprietary systems. These may have been a viable option only 5 years ago but with the huge choice of high quality open source solutions currently these proprietary systems become a bit of a gamble and tie the client to a costly design firm for updates and upgrade bills.

Our criteria:
The following list was determined over years of trying CMS solutions and determining what works and what doesn’t.


  • clean semantic markup
  • No Table HTML
  • Theme-able
  • Easy to Use

Beyond the basics

  • Extensible (plugins, modules, extensions?)
  • SEO (how will it be achieved?)
  • API (can other applications connect?)

Advanced Features

  • Version Control (content audit trail)
  • Customizable Roles & Permissions

Admin Requirements

  • Training
  • Documentation
  • Support & Community

Wordpress is a very popular blogging platform that has become a fully blown CMS with thousands of plugins and a healthy contributor community. It’s by far the easiest CMS when instructing users how to adminster, and possibly the easiest to theme and customize too. One possible drawback is it may not scale well in some circumstances.

Like WordPress, TextPattern looked like another well-crafted blog publishing system. It has a clean administrative interface and seems easy to use. The whole software package is considerably smaller than WordPress and less taxing for the end-user’s browser which is a definite plus. That said, TextPattern just can’t seem to compete with WordPress when it comes to community and extendability.

Expression Engine
Expression Engine looks and feels a bit like a lightweight blogging tool, but allows for a great deal of customizability, allowing you to almost craft a custom solution. The only problem with this solution is that it’s not completely open source and, as a result, it doesn’t have a vibrant community behind it like others.

Joomla has a peculiar method of structuring its content with a curious mix of sections/categories that we found to be confusing, but once the user had familiarized themselves with the way the system works then it could be comfortably used.

There are a lot of people that use Joomla — but if you have a good look at the type of sites that use it as a content management system you’ll see that their content is seldom updated and usually by programmer types. The admin interface is cluttered and unscalable, and the themes are generally pretty slow to load. Try it out, you may like it but I haven’t been able to convince a client or myself to use if for a project.

After almost 6 years of existence, Drupal has reached a level of maturity. It is used by many high-traffic websites, including The Onion, Spread Firefox, and Ourmedia. Drupal is a CMS particularly popular for building online communities, many of it’s built in features are common social networking functions. It is somewhat scalable but requires the correct server hardware and configuration.

Billed as the only enterprise level CMS in the open source space, Alfresco is a big application with version control, mounted shared drives and document repository functionality. Although the project is very scalable, it is not a practical solution for most web projects.

Typo3 is one of the older CMS in this list, it has a solid track record and is used a lot in the enterprise level. It is also very complicated and has a huge learning curve. It could be a possible solution for large website development that doesn’t require social networking.

MVC frameworks
As rapid web application frameworks like Django, CakePHP, and Rails become more and more popular with web developers, an increasingly relevant solution to content management is to “roll your own”. Building your own content management system (or having one built for you) is usually cheaper than an ECM, but more costly than lightweight or some niche products. The advantages to the custom solution are much the same as the advantages to having a suit tailored compared to buying one off the rack. With a custom CMS, you’ll have a product that does exactly what you want, suits your content perfectly, and is yours to update and change as needed. These solutions can be as abstract or structured as needed, and can generally be built pretty quickly by efficient developers.

The only real disadvantage to custom solutions is maintenance cost. While you probably won’t blow a ridiculous amount on having the CMS built, you may find that you need to hire a developer or keep a development agency at arms length for support, updates, bug fixes, and the like.

Now it’s your turn
Do you know a CMS that works well for you?
Want to share your thoughts about a CMS you’ve used?

Comment below.

18 responses to “Choosing a CMS”

  1. Sue Massey says:

    I’ve been reading along for a while now. I just wanted to drop you a comment to say keep up the good work.

  2. Dan Waldron says:

    Can you tell me who did your layout? I’ve been looking for one kind of like yours. Thank you.

  3. Hi – Thanks for a very thorough article with an excellent comparison chart. We use WordPress exclusively as a CMS solution for clients, and I have also worked with Drupal, JOOMLA, and a handful of others. There’s a good article series on using WordPress as a CMS here. I prefer WordPress for ease of use (as you noted), and it’s thousands of plugins which add just about any type of extensibility you might want.
    – Scott

  4. Haig says:

    Thanks for the kind words Sue, glad to have you on the site 🙂

  5. Haig says:

    Dan, the entire site has been designed and developed by the LiFT Studios Team, this is what we do! 😉

  6. Hi guys, nice job.

    would like to include in your list if possible.

    it’s a Ruby on Rails based hybrid system (OS version and a hosted version)
    Includes a good flexible CMS with a lot of other business functionality (mailer, product catalog, crm, forums, blog engine…)

    I’d love it if you’d take a peek – I’m in Vancouver also and would love to do a demo for you if you’re interested. (we also hire or refer clients to designers pretty regularly for “front end” work… hint hint 😉


  7. Bet-at-home says:

    Nice blog, i have added it to my favourites, greetings

  8. I enjoyed your writing style and I’ve added you to my Reader. Keep these posts coming.

  9. Daniel Craig says:

    Hey, I was looking around for a while searching for audit requirements and I happened upon this site and your post regarding ING A CMS at LiFT Studios – Vancouver Interactive Design Boutique, I will definitely this to my audit requirements bookmarks!

  10. mma says:

    I find this blog very interesting, i will be here everyday till now. Greetings

  11. Amanda Fetterly says:

    I’m proud to know such a talented group of interactive designers. This post is a dream come true. Thank you.

  12. Hello! I am thoroughly impressed with your knowledge of Content Management Solutions Ecm. Your insights into this article about Content Management Solutions Ecm was well worth the the time to read it. I thank you for posting such awsome information. Signed Megan Henderson on this Day Tuesday.

  13. Ciekawa strona, bede ja odwiedzal czesciej, pozdro

  14. Haig says:

    I have no idea what he just said… but I sure hope it’s nice!

  15. Shawn Adrian says:

    I noticed you don’t really have any hosted solutions in your list, was that intentional?

    I’m currently designing on a project called Viviti, which is a terrific, hosted CMS, that I use to manage my own blog. There are some limitations to using it for client web sites such as:

    – only supports one user
    – is a hosted solution

    But we’re working those out 🙂

  16. Shawn Adrian says:

    Did you leave out any hosted solutions intentionally?

    If not, you should add Viviti to your list. It’s great as a personal CMS, for blogging and self-run smaller sites, and new features (like multiple users) are being added for more commercial use. It’s free as well.

    This is a bit of a plug as I’m the designer on the project, but I do believe in the product 😉

  17. haig says:

    hi Shawn,
    This reply is coming very late, but yes, I did intentionally leave out hosted solutions for now.

    Thanks for letting me know about Viviti – I’ll check it out and possibly include it in an article about Hosted CMS solutions.


  18. Hey there! Really helpful post! I am really thrilled that I was able to stumble upon your blog whilst looking on Google. Thank you for this great article!