A little while ago I wrote a recommendation for a client about some content-reuse issues, and ended up writing a section entitled "First Principles." These might seem obvious, but a surprisingly large amount of time and money are being spent on systems and designs that don't take these principles into account. If you want to avoid paying someone like me a lot of money in a few years, think about these things before you invest in a CMS.
- Your web site will be redesigned within a few years, probably in a way you cannot now imagine;
- Your content will be read more and more often on mobile devices;
- Many people will first encounter your content as brief text snippets (in RSS feeds, Facebook “likes,” Twitter links);
- Your content will need to be integrated into a wider and wider variety of products, each of which will have its own look and feel, presentation, and user community.
What principles should we therefore follow? First and foremost, keep this in mind: You only have one opportunity to create any given piece of content, but it can and should be reused forever. You must take the time to produce your content in a reusable format now. It’s not that hard, and the costs of not doing it are immense. Do not lie to yourself about this. You cannot go back and “clean it up” later. There will be too much of it. It will be too hard. You won’t have the time. It will cripple product development, frustrate your editors, and sentence your successors to expensive and difficult work. Therefore:
- Text is text. Text content should contain nothing that won’t make sense (or can’t be automatically processed to make sense) in a Twitter feed or a non-HTML email.
- Multimedia content is not an add-on to text articles. It is content on its own and should be produced in a way that allows it to be used that way. Images, audio and video should carry their own metadata so they can be grouped into slideshows, offered as podcasts, or viewed on mobile devices that support them.
- Data are content. The presentation of data is not content. Data must be stored in a way that allows it to be reformatted easily and quickly. The best option for this is XML, but it is not the only option. Your data should have no built-in assumptions about how it will be presented (ie, don’t put HTML tags inside data elements).
- XML is not magic. It is a way to apply structure to data. If the structure is poorly thought out, or if the structure is incorrectly applied, or if the structure is not comprehensible and has not been documented, your content will be no more reusable than if you stored it in HTML or Word documents. XML documents should have DTDs or schemas associated with them, and should be validated when published.
- The structure and management of your content should not depend on knowledge of its final destination, or what you believe to be its final destination. It will be reused in ways you can’t imagine, sent to people and companies you’ve never heard of, and viewed on devices you’ve never seen.