How To Evaluate A CMS

Amy Stephen recently posted on twitter how much Wordpress rocks. My gut reaction wanted me to respond by saying I was less than impressed with Wordpress. Instead I asked a question. How do we go about evaluating a content management system? Amy came to one conclusion and I came to a very different one which means our evaluation criteria must be miles apart. In response to that question, here is my take on how you evaluate a content management system.

Slick User Experience

A solid CMS needs a good user experience for content viewers, content managers, and site admins. When new features are added on the user experience needs to remain consistent and good.

Sadly, this is where most evaluations end. A tool is found that looks and feels good and that's the end of the story. But, there is more thats important to both general users and to developers.

Security

If I were using a non-web enabled desktop application I wouldn't be so concerned with security. But a CMS isn't just a web enabled application, it's an application serving up the web all the time on a remote machine where the world can access it.

To make matters worse, there are hackers who like to take down sites for fun. A single hacker can take down thousands of sites in a week because so many web enabled tools have such easy holes to exploit.

Security is important. How a CMS handles security is important. How a CMS responds to issues is important. I look for a security methodology, a security team, and good security practices. Even if you just want to install a CMS and not develop on it security should be a concern.

Architecture and ilities

If you're going to develop using a tool the architecture and ilities (maintainability, accessibility, and testability) should be of concern. For every tool there is a different architecture and there is no one right answer. But, there are bad ideas and bad practices.

For example, an architecture that isn't separated into layers (logic, data model, and presentation) should be a concern. Or, an architecture that doesn't have a good interface to plug in features is a problem. Hacking a feature into a template is never a good idea.

So, how does your CMS of choice stack up? Did you look beyond the UX when you chose it?