June 3, 2008 at 10:27 pm | business, web.

To go along with my series on over planning, I thought I would talk a little about “content management systems” or CMS systems. Most people who want these do not need them. Most people who need these don’t really need these either. CMS systems work great if you have 1000’s of products and hundreds of pages on your site, and even then you can usually get by with a good template system. But if all you have is a brochure site (industry term for pretty picture site with not much content, database or commerce.) then you DO NOT need a CMS. What you really need and all that most companies and websites really need, is a couple of good HTML people.

Pick a flavor
CMS systems come in all flavors. They work on Linux, Unix, MAC, Windows boxes. All sorts of languages and versions, PHP, Perl, ASP, JSP, Struts, Ruby, JHTML, Joomla, Contribute, Drupal, Hot Banana, or if you really have some money to throw down a deep dark pit Interwoven Teamsite. I am even writing this to you on a CMS system. WordPress is great and for all purposes its a CMS. Most blog software is. People just don’t think of it that way. You can easily make a company site in WordPress, lots of people do.

Templates on Steroids
Most CMS systems are basically templates on steroids. What they add is a administrative back-end. They lock down most of the presentation code so that you can get lots of people into an administrative back-end UI where they can edit content and not have to worry about HTML or the code behind the website. Most people say “Why do I need to pay these engineers/designers to change text on my website? I can do that myself!” or “So and so in the so and so department can make all the changes.” And to a certain extent they are right. If all they wanted to do was make some text updates or change a press release I’m sure they could do that, there are even some where you can move content modules around pretty easily, but the trick really comes in when you want to do more than that. And everybody…. I mean everybody, usually wants to do more than that.

Why won’t it do that?
CMS template are usually setup by engineers or outside vendors for companies that think that they will be editing their website. They often things like “Once we get the CMS setup, we won’t need as much help in doing the updates.”. What often happens is that the CMS is built and put in place and everything is just fine until people start wanting changes that is outside of the basic text edit. If there is not a CMS person on staff, then someone will have to learn all the ins and outs of the new system. They start wanting to move stuff around, they want to add pages and NAV and promos and banners and god forbid they want a form. Since most are not HTML people to begin with they usually have a rough time learning. Here is where all hell breaks loose and they throw up their hands and say “Why can’t I do that?”. They can’t do that because the template is doing exactly what it is there for. It is there to lock down the presentation layer of the website, so that people cannot screw it up. So now they have a content management system that they have to get help with to make all the changes that they thought they were buying the CMS to avoid. Only now it costs more because they have a strange CMS template system that is complex and a pain to update.

It’s all OK
Don’t get me wrong, CMS systems are good things, but they are definitely not going to save you time or money. They are there to add a layer of abstraction to the website so that, if you wanted, you can get lots of people involved with updating it. But with all layers they add complexity that most companies don’t realize until they already have it working on their site. I can’t even tell you how many companies I have run into that have spent over 6 figures moving a big site or building a big site in a CMS system only to realize that they can’t make all the changes that they wanted and are right back at square one.

The keys to doing a CMS right? Here’s a few.

  • Plan on who will be updating the site. How.. and How often.
  • Understand what can and can’t be changed through the regular CMS interface.
  • Make regular managed updates. Set a schedule for when things get updated and how. Stick to it.
  • Have a good preview system setup so that you can make changes and see them before commiting them
  • Have manual and training sessions for the people that will be doing the bulk of the updates. Make sure that if people leave they don’t take their knowledge with them.