Validate my RSS file

For the best experience for your users when subscribing to your RSS feed you need to make sure it validates. RSS is a standard just like HTML and CSS, and irregular markup can cause problems now or in the future. RSS aggregators like feeder.co strive to be as consistent as possible. We have made the decision to try to stay as pragmatic towards feeds as possible. If a feed is not 100% according to the specification we try anyway.

There are multiple services on the web to validate your RSS or Atom feed. The canonical service is made by the W3C and called the Feed Validation Service.

Common pitfalls

Date format

There are a lot of different formats for dates out in the wild. Different regions use different standards and don’t always mix well. The RSS standard RFC822 format which looks like this: Thu, 23 Feb 2017 14:03:01 GMT Most programming languages provide a standard package to output dates in this format. For example:

PHP: echo date(DATE_RFC822);
Go: print(time.Now().Format(time.RFC822))
Ruby: DateTime.now.rfc822

Not including a GUID

The <guid> element is a fantastic way for you as website owner to make RSS aggregators live’s simpler. The GUID is a globally unique identifier, that can be anything. Just make sure it’s unique. A large complexity for RSS parsers is to detect new posts, that were not there on a previous crawl. If no GUID is available we go off the title and the posted date. However if any of those change we will mark it as a new post, and our users will be annoyed because they probably already saw that post.

Changing something causing all posts to look new

In the same vein as the previous point, if you for example change time zone on the server and all timestamps are changed with +1 hours or so, a feed reader might think they are new posts. Similarly domain changes and link restructuring. Keep in mind these points if you were to migrate any time in the future.