Today I spoke at the Highland Fling Conference, on the subject of Choosing the Right Content Management System (slides are here on Slideshare). I was really thrilled to be asked to speak on this subject as essentially developing and deploying content managed websites is what I’ve been doing for the last 10 years at edgeofmyseat.com. I’ve worked with third party systems, I’ve built completely custom systems and in recent years have developed along with Drew a large PHP based CMS framework and our mini-CMS, Perch.
I understand how hard it is to work with these systems and how difficult it is to actually develop something good, how many problems there are still to solve. However the biggest problem that I believe we have is that we seem to accept that content management systems are crap. We accept that they cause us to compromise our designs, we accept terrible editing environments, we accept them filling our pages with crufty mark-up and we accept the most unbelievably convoluted ways of doing things because, “at least there is a way to do it”.
Today I tried to encourage people to see their CMS as an important part of the project, and to see providing a great editing environment as a vital part of the site, not something to battle with. Once a site is launched it is quite likely that the person or people editing the content are not professional copywriters, just as they are not professional designers. Therefore we should be using the CMS to not only protect the design and typography – but also to promote the content strategy for the site.
How do we do this? Well to start with we don’t do it by sticking a “WYSIWYG” editor in the main content area of the page and letting content administrators play designer all over the content. I don’t think anyone at the conference today will be left in any doubt as to the fact that I hate so-called WYSIWYG editors. There are many technical reasons why WYSIWYG editors are a terrible solution, but also they are a problem because they promote thinking about style rather than content. What you end up with is a big block of manky html because if it is hard to get a client to select the right heading level, it is going to be impossible to get them to mark-up contact information using microformats or semantically using HTML5.
What I encourage people to do is to try and think of content management in terms of structured content. To provide content entry forms that enable the editor to think about the content – and that can also provide help and tips to promote the agreed content strategy. You could go as far as to work with a copywriter to create that help text. This helps the client not only add content in a way that leaves you able to keep control of the mark-up, but to add the right content with the right tone. So if they are adding an event – give them a form in the CMS which has fields for all the parts of the event, if they are entering contact information – provide a form with fields for the different elements of the address, phone and email.
By using structured content the editor needs to style very little, there is definitely no need for a full WYSIWYG editor. At the most they need a small toolbar to add bold, italics and inline links. Structured content is at the core of Perch, but we don’t have the monopoly on that idea. There is a fantastic thread on Forrst with people explaining how they deal with structured content in their favoured CMS. So this is possible in a lot of systems, with a bit of work and thought.
I really would encourage people to think of their CMS as a tool which helps editors curate not only the design but the whole site, including the content. We should be providing people with great editing experiences – not settling for something that kind of works. We can only do that by seeing the CMS as an important part of the solution, using the right tool for each job, learning how to really use those tools to their best and talking to our CMS makers about how they can make things better.