The Content Management System Sweet Spot
Some folks swear by their homegrown content management system. Others like their open source content management system (CMS). Still others have gone all out and purchased a big package to solve the giant content management problem they have.
And that makes sense. There isn’t just one solution that works for every site and every organization. There is too much diversity in what folks want out of their content management system and processes.
Regardless of how you solve your content management problem, I do think there is a sweet spot of just enough CMS. A place where you get ease of use and the efficiency promised by content management systems. But not so much that your team loses its creativity, agility and control.
So what sort of features should you implement with your CMS to get into that sweet spot? Here is my take:
Use site-wide themes
To get the most value from your CMS, use its theme capability and make sure that you can globally change the look and feel of your website by changing a few template files. By template files, I mean something similar to themes in WordPress or a skin in DotNetNuke. You also want a globally included well-designed CSS so that you can make small styling changes without radically changing your content. If you are in roll-your-own mode you can still accomplish theme-like feature for your CMS without a ton of development work. We implemented a theme-like feature at NetIQ/Webtrends (we called it a page framework) and it worked really well.
Optimize for the list-view pattern
Tons of the content on websites is in a list-view pattern. Press releases are a great example of this pattern. Almost all sites have a list of press releases which link to individual press release views. Anytime there is a list of links – product data sheets, events, FAQ, knowledge base articles, sales offices for instance– and each of the links goes to content items of the same type you have content in a list-view pattern.
Because this pattern is so common, making a common authoring, storage and display system for this pattern can save your team tons of time. To take full advantage of the list-view pattern, make sure your CMS can:
- Create new “types” of content – Say you already store FAQ and product data sheets in your CMS. And tomorrow you find out that you need to store many “tutorial video clips” for download… Each tutorial video clip will have a title, one or more video clip files, tags and of course any text/html for the download page itself. You want to simply create a new content type in your CMS called “tutorial video clips” and start up loading them.
- Author all the types of content with a single authoring application – you want to be able to create press releases, events to go on a calendar or store “tutorial video clips” using a common set of tools in a single authoring application. This saves tons of time by not having to create custom admin interfaces for each type of content that your system will need to store.
- Ability to control the content displayed in a list – Say you want to list just 5 “tutorial video clips” for a product sorted by date. To support this sort of requirement, which is sure to come, you will need to be able to query the content database and get a list of links that have a limited number of entries, filtered by tag (in this case the product), and sorted by any field.
- Associate a view template to a type of content – Each type of content will need its own list formatting and view formatting. Press releases, “tutorial video clips” and FAQ lists and views are all going to look different, right? You need an association between a content type and a set of list-view templates, which described how the content should be formatted. Using this association you can make press release look like a press release and set of calendar events can be formatted on a calendar.
Authoring content in a web page
You want everyone to be able to author content and the ability to do it using an editor in a web page is super cool. With significant ease of use and accessibility using XHTML / AJAX based editors like FCK editor, your entire team can participate in the content creation fun. The ability to apply basic CSS styles even makes styling content easy and consistent. The only down side is that training will be required for your content creators to make sure your site ends up with well-constructed and well-edited content.
Don’t write the copy
I have seen some web shops where the web producers write the copy that goes on the website. Not a good idea. The business owner of the copy should be the person that gets the copy written. Ideally, they will get a professional copywriter to write it or, heaven forbid, do it themselves.
Limit content approval steps
Lots of big sites have very sophisticated content approval processes. But this isn’t where you get good value out of a CMS – keep your approval process basic with a single signoff from the business owner for the content. If there is legal or some other approval needed to get content on the site, then get the content’s business owner to solve that problem himself or herself. Don’t let your overachieving legal departments or micromanaging executives complicate what should be a simple straightforward process.
Use staging & publishing
Tons of sites develop, review and approve content on the live website and don’t use a QA server. But working on a live site for major changes in content or even small look and feel changes is like doing a high wire act without a net. Screw up one thing and your site is down until you can somehow patch it back together again. Ideally your CMS setup has the idea of a QA server, a staging server and a robust publishing process that gets the content out to the site. I find the lack of staging and publishing features a significant omission in popular open source system (hello WordPress) and amazingly, higher cost commercial software, too.
Make version control transparent
It sucks to lose work. There is nothing worse than saying to your boss “it was all done but someone overwrote the changes and we can’t get them back.” So naturally I recommend that your CMS should support file versioning, locking and rollback. It should take very little effort from your content authors to use version control with your CMS – version control should be completely transparent to the user and only announce its presence when there is a problem.
Exploit Plug-ins
Your website isn’t just content. It’s going to include some features that have become standard website fair like mapping, blogs, forums and dozens of other smaller items. If you do have the option of getting some of this functionality for “free” using a CMS plug-in and the plug-in fits your requirements, then just plug it in and be done.
Implement a well-known stack
The ability to add custom functionality to your CMS and support it is vitally important to the long term viability of your website. But there are still closed content management systems out there or systems so difficult to work with they might as well be closed. Make sure your CMS is LAMP, Java or .net and uses a well know SQL database if you want to make things work long term.
What not to do with CMS
There are also a few things that are NOT in the sweet spot of CMS. These features are harder to implement, keep running and don’t add a ton of value. Features not in the sweet spot of CMS are:
1. Lots of authoring/publishing roles – You shouldn’t need to have more than 5 or 6 standard roles in your CMS setup. Adding a lot of roles makes things more complex than they need to be.
2. Multi-level content approval – Multi level approvals don’t make sense in most cases. Use a single level approval process for content.
3. Single sign-on/LDAP – If directory services and single sign-on come for “free” with your CMS package or it’s less than a couple of days, then this integration makes sense. Weeks/months spent on directory services integration doesn’t.
4. User level access permission – Assigning user access rights to content at the user level never makes sense. Assigning user access rights at the group level does.
5. Excessive security (firewall rules and encrypted sessions) – It’s not such a big thing to have your unpublished content zipping around on the Internet in clear text. The snappy performance of unencrypted HTTP is more important than security in my book.
6. Site rollback features – I have never understood the need to roll back the site to a particular point in the past or seen it work. Punt on this feature.
Summing up the content management system sweet spot
That’s my view on getting the most bang from your buck when you implement CMS for your medium to large corporate websites. If you can combine these features with some basic solid processes then you are well on your way to website content management done right. The sweet spot isn’t elusive if you work through these issues carefully. Give it a try and let me know how it goes.