The Question:

I'm starting a new site and have no idea what I should do for software. Do I need to use a content management system, and if so, how do I make sure it's SEO-friendly?

The Answer: It depends...

I want to try taking a new tact with this blog post and give some direction about how to approach this issue. There's no way to tackle the question from every angle in every possible way (at least, not without 100 pages of content), but hopefully, when you refer your friend who's launching a website or your new startup's VP of Engineering to this page, they'll find some helpful starting points. NOTE - This post isn't going to cover specific CMS platforms. There's some great web resources already out there like www.opensourcecms.com and www.cmsmatrix.org to help manage this task. Instead, this blog post will help you determine the essential questions to ask of your stakeholders before embarking on a web development project.

The first part of the question determines your need for a Content Management System (CMS), and I've made a handy flowchart to guide you through the process:

Do You Need a CMS for Your Site?

Nowadays, it's exceptionally rare for a company or even a private site owner to select a static site, even when a content management system isn't required due to the inexpensiveness of customizing free platforms like Drupal, Joomla, Wordpress, or Mambo.

On to the second portion of our query - how to ensure that a CMS will be search-engine friendly. Below are 12 basic SEO issues that frequently plague content management systems (both pre-built and custom-made). By dealing with these, you'll ensure a relatively smooth platform for content delivery:

  1. Title Tag Customization & Rules
    A search-engine friendly CMS must allow for title tags to not only be customized on a page-specific level, but also enable rules for particular sections of a website. For example, if your site offered a blog, several static pages, and a forum, you might want to create a rule that all blog pages would begin with "Yoursite Blog > " while forum pages used "title of post > Yoursite Forum."
  2. Static, Keyword-Rich URLs
    URLs have historically been the most problematic SEO issue for CMS platforms. Nowadays, search-friendly content management systems should feature custom URL creation. Here's an example from SEOmoz's custom-built CMS:
    _
    SEOmoz Blog Post Compose Entry
    _
    Notice how the first line allows me to create the title of the post, while the second enables manual sculpting of the URL structure (and an automatic "generate" button if I'd prefer to simply use the post title).
  3. Meta Tag Customization
    The meta description and robots tags are the two critical ones (mentioned in detail here). Enabling editorial control is essential for a good CMS.
  4. Enabling Custom HTML Tags
    A good CMS has to offer extra functionality on HTML tags for things like "nofollow" on links, or <hx> tags for headlines and subheadlines. These can be built-in features accessible through menu options, or the CMS can simply allow a manual editing of HTML in the text editor window when required.
  5. Internal Anchor Text Flexibility
    In order to be "optimized" rather than simply search-friendly, customizing the anchor text on internal links is critical. Rather than simply making all links in a site's architecture the page's title, a great CMS should be flexible enough to handle custom input from the admins as to the anchor text of category-level or global navigation links.
  6. Intelligent Categorization Structure
    A close second to poor URLs is poor category structure. When designing an information architecture for a website, there should be no limits placed on how pages are accessible due to the CMS' inflexibility. CMS that offer customizable navigation panels will be most successful in this respect.
  7. Pagination Controls
    As pagination can be the bane of a website's search rankings (see here and here), controlling it through careful use of nofollows and meta noindex tags will make your important content get more link juice and crawl attention.
  8. 301-Redirect Functionality
    Many CMS sadly lack this critical feature, disallowing the proper re-direction of content when necessary. 301s are valuable for expired content, pages that have a newer version, and dodging keyword cannibalization issues. 
  9. XML/RSS Pinging
    Although it's primarily useful for blogs, any content, from articles to press releases, can be issued in a feed, and by utilizing quick, accurate pinging of the major feed services, you limit some of your exposure to duplicate content spammers who pick up your feeds and ping the major services quickly in the hopes of beating you to the punch.
  10. Image-Handling & Alt Tags
    Alt tags are a clear must-have from an SEO perspective, serving as the "anchor text" when an image links and providing relevant, indexable content for the search engines. Images in a CMS' navigational elements should preferably use CSS-Image Replacement rather than mere alt tags, though the difference in our testing has been fairly small.
  11. CSS Exceptions
    The application of CSS styles in a proper CMS should allow for manual exceptions so a user can modify how a strong, headline, or list element appears visually. If they don't, writers may opt out of using proper semantic markup for presentation purposes.
  12. Static Caching Options
    Many CMS currently offer caching options, which are a particular boon if a page is receiving a high level of traffic from social media portals or news sites. Bulky CMS often make dozens of extraneous database connections, which can overwhelm a server if caching is not in place, killing potential inlinks and media attention.

I'd love to hear more in the comments about particular struggles you've had with CMS from an SEO perspective and what other features you think are important for a good CMS to offer. I'd also be interested to know more about anyone's specific experience with the various CMS platforms available (free and paid), and if you've got a favorite.