Stop Calling Everything a CMS

Content Management Systems (aka CMS) is being grossly misused in its contemporary usage. Wordpress, Joomla, Drupal, ModX… All of these are open-source web publishing applications that have a robust backend (depending on your needs) that are frequently described as being CMSes. They aren't, and by misusing the term we (web professionals/developers/SEO peeps) are inhibiting the future of the web.

Sure, we're talking about semantics here. These templating applications have proliferated the web with easy-to-build and easy-to-hack sites and should be called 'web publishing tools' or 'website template engines'. A true content management system is focused on nothing but content fields and workflow, and should not be interested in a particular presentation layer (like a website). That's what frameworks and such stacks are for, to distribute that content across different presentation layers (apps, websites, mobile sites, etc). Web publishing tools are geared for websites, have fields that are specific to web pages, and when you create a chunk of content there's a good (and obvious) chance that it has a one-to-one match with a new page in the menu structure.

Imagine a single interface where you could handle all of your content. With a few keystrokes you could create a rich, structured story with as much metadata as you want, with assets and supporting data, and have it saved in a storage engine that's specifically designed to house your content. The data wouldn't be stuffed into a generic 'site_content' or 'meta' table, nor would your new content need to be immediately pushed out onto a pre-defined page in the navigation of your site. Instead you could selectively choose where the content gets published to, which may include mobile apps, mobile sites, RSS, websites, distribution networks, or more as-of-yet unknown presentations. Each node would be able to pick and choose what information they need from your content to create the best user experience on their specific device (cough cough adaptive content).

This concept is not new in terms of separation of structure within a codebase. There is a true benefit to separating out your layers in a framework, like keeping your data models and view layouts in different logic structures. It's easier to perfect each piece and adapt quickly if things are kept to their specific layers. By separating content management and website administration you can finetune the workflow of each area and quickly adapt to changing needs. Storing your information in a format that is specific only to the information itself will allow you to quickly build new presentation layers (like, mobile apps) that selectively pull content and not worry about tiptoeing around countless growths of site-specific logic.

So how is this hurting us? Client education. We need to stop pretending that the Internet is nothing more than individual silo'd websites. Content management systems and adaptive content are the future for effective digital platforms, and the sooner we can start moving forward in this direction the sooner we can start truly taking advantage of these ideas and stop using the crutch of today's temporary web publishing tools. If we keep misusing the word then we are the ones proliferating bad practices and holding back both ourselves and our clients.