Building a Content Strategy for Drupal Websites

Content strategy is a relatively new concept in web development circles that attempts to solve a very old problem: although content is the meat and potatoes of the web, it is often not given due consideration. As a result, the web is full of garbage that no one wants to read and can't find anyway.

Here's the official definition of content strategy from The Discipline of Content Strategy by Kristina Halvorson of Brain Traffic:

"Content strategy plans for the creation, publication, and governance of useful, usable content."

Let's face it: content management is gruelling, detailed and multi-faceted work. Durpal, however, provides a number of tools that can help. In her article, Kristina defines a number of disciplines that make up the roles of an overall content strategy. Let's take a look at each discipline and examine some of the tools and methods in Drupal that can be pressed into service to assist the process:

"Editorial strategy defines the guidelines by which all online content is governed: values, voice, tone, legal and regulatory concerns, user-generated content, and so on. This practice also defines an organization’s online editorial calendar, including content life cycles."

Drupal makes it easy to create an editor role and assign it edit any permissions for each relevant content type. But what about large multi-section sites with unique editors for each? You might not want the marketing editor, for example, to have rights to edit the technical documentation section of the site? You could create specific roles for each editor type, but this would also require creating unique content types for each section, which is grossly redundant.

Another approach is to combine Drupal's built in node permissions with the Taxonomy Access Control module (or TAC Lite, for a less filling alternative). Create a taxonomy vocabulary to tag content for specific sections or audiences (e.g. Students, Faculty, Staff, etc.). Then create an editor role for each section and assign them to the appropriate vocabulary term. Alternately, you can go with a single editor role and provide taxonomy access to individual users.

Site architects can make the editor's job easier by making use of the submission guidelines field. Take the time to write meaningful guidelines for content contributors where they need it: on the submission form.

"Web writing is the practice of writing useful, usable content specifically intended for online publication. This is a whole lot more than smart copywriting. An effective web writer must understand the basics of user experience design, be able to translate information architecture documentation, write effective metadata, and manage an ever-changing content inventory."

Drupal may be a great CMS, but it's not going to write great copy for you... yet. By providing an excellent interface for content submission, however, site developers can get the technology out of the way, which frees users to focus on the words. Use CCK, and related modules, to make it easy to upload images, video and other rich media.

Implement the Wysiwyg module to provide your contributors with rich text editing tools right in the submission form. While you're at it, take the time to carefully configure Wysiwyg. Provide only those features that you wish to have in the hands of the very worst copy writers and supplement them with carefully crafted instructions and standards for content mark-up. This is especially important if users with no or little copy writing experience are expected to contribute content. Nothing says "we suck" like an announcement written in an all caps red font. While you're at it, consider implementing an intemagrated spellchecker.

"Metadata strategy identifies the type and structure of metadata, also known as “data about data” (or content). Smart, well-structured metadata helps publishers to identify, organize, use, and reuse content in ways that are meaningful to key audiences."

Drupal supports content keyword tagging right out of the box with the Taxonomy module. While this does not ensure that your content contributors will create effective keywords, at least it makes it easy.

The Nodewords module allows content contributors to set meta tags on individual nodes. The Integrated Metatags module provides an automated way to implement meta tags with no work on the part of the content contributor. This could be used, for example, to automatically include keywords from the taxonomy module in meta data.

"Search engine optimization is the process of editing and organizing the content on a page or across a website (including metadata) to increase its potential relevance to specific search engine keywords."

SEO is a black art. Drupal is very search engine friendly right out of the box, however there are a number of resources available to improve your search ranking. Instead of enumerating them here, a simple Google search on "Drupal SEO" will bring up a plethora of useful resources.

The aging SEO Checklist module, in the author's words, "provides a checklist of good Drupal SEO (Search Engine Optimization) best practices." Even if you chose not to implement the module's recommendations, it does a nice job of pointing you at the various other SEO friendly modules and configurations that you should consider.

"Content management strategy defines the technologies needed to capture, store, deliver, and preserve an organization’s content. Publishing infrastructures, content life cycles and workflows are key considerations of this strategy."

Well crafted content types, with carefully considered CCK fields, are key to ensuring that content is intelligently captured and stored. Ensure that you use the right field for the job. For example, don't use plain text fields for things like dates, phone numbers and URLs. Instead, check out the many modules that extend CCK to allow a host of additional field types.

The Actions and Triggers modules, built in to Drupal core, can be used to build rudimentary workflows and alerts to facilitate content lifecycle management. When that doesn't cut it, check out the Rules module, which you can use to set up all sorts of workflows, alerts, reminders... pretty much anything you can imagine to automate the content lifecycle.

"Content channel distribution strategy defines how and where content will be made available to users. (Side note: please consider e-mail marketing in the context of this practice; it’s a way to distribute content and drive people to find information on your website, not a standalone marketing tactic.)"

There are three modules that represent the very heart and soul of content distribution in Drupal: Views, Views and Views. Everything from content filtering, contextual filtering with arguments and access control can be done with this uber-module. By combining Views with the taxonomy and roles, you can create powerful content channels such as targeted landing pages based on vocabulary terms and custom dashboards for authenticated users based on role membership.

The Panels module also provides some powerful tools for rendering content without getting into template theming. The Simplenews module is a popular choice for managing email newsletters in Drupal.

As you can see, Drupal provides a number of tools for implementing an effective content strategy. It is easy, however, for site developers, architects and designers to get so caught up with the systems we built that we forget the content they hold. Like a pig in a limo, a CMS is only as good as the content it carries.