RSS 2.0 guid is broken by default
RSS 2.0 is a bad format. I just helped Andy debug a problem with his linkblog’s feed. Google Reader
was sending folks to his own domain rather than directly to the link
destination. Why? Because RSS 2.0 is stupid.
The problem is the guid element in the feed was being used instead of the link element you’d expect. Why? Well, read the spec:
There are no rules for the syntax of a guid. Aggregators must view them as a string.Follow all that? guid is defined to be any ol’ string. Only later we learn that by default, it’s assumed to be a URL that feed readers may use to override the other URL in the entry. In other words, the default behaviour of guid is broken and every RSS 2.0 feed should probably be setting isPermaLink to false on every single entry.
If the guid element has an attribute named “isPermaLink” with a value of true, the reader may assume that it is a permalink to the item, that is, a url that can be opened in a Web browser.
isPermaLink is optional, its default value is true
Most people have probably never seen this bug because on a typical feed the link and guid both point to the same URL.