Best Practices for Building RSS 2.0 Feeds

Like many standards, the RSS 2.0 Specification provides detailed instructions for what elements must or may be in an RSS feed and, in broad terms, how to format them. However, the specification does not — nor should it — provide detailed guidance on what to put in the various elements.
That’s where the Really Simple Syndication Best Practices Profile comes in. Published by the RSS Advisory Board, the group that has responsibility for maintaining the RSS Specification, the RSS Best Practices Profile offers guidelines on how to format an RSS document for the widest possible audience of aggregators, feed readers, and other tools. The Board tested feeds against a range of aggregators: Bloglines, BottomFeeder 4.4, FeedDemon 2.5 (2.5.0.10), Google Reader, Microsoft Internet Explorer 7, Mozilla Firefox 2.0 (2.0.9), My Yahoo, NewsGator Online and Opera 9 (9.22).
This document is aimed at developers more than at bloggers — the blog tools we all use already create RSS feeds — but when we build systems that generate RSS for our users, doing so in the format that has the best chance of providing users with the same experience, regardless of where they consume the feed, is a good idea. For each required or optional element in the RSS specification, this document says what the specification requires and how best to implement that requirement in practice. Some selected recommendations from the guide:

  1. Author: The Board suggests that, for individually authored blogs (where everything is written by the same person), the item’s author element be omitted in favor of the channel’s managingEditor or webMaster element.
  2. Category: The Board recommends that the category element provide the full hierarchy of the category term, not just the term itself. In other words, a category of “dogs” would be better as (and I’m making this up) “animals/canines/dogs”.
  3. Description: The Board makes the common-sense suggestion that, when there are links in an item’s description element to other pages on the same site as the blog that the links be fully qualified URLs (for example, http://www.rss4lib.com/index.html), not relative URLs (/index.html).

By taking some simple steps to generate RSS feeds so they will be read and understood by the most common feed readers and aggregators, you can broaden the audience for your content and help ensure that your readers have a uniform experience regardless of where they consume your RSS content.