rel="alternate" is mandatory for Safari RSS

As much as web developers complain about the lack of standards support in Internet Explorer (when they’re developing on Firefox), it’s really quite another ballgame confronting the variety of syndication standards and newsreaders out there. I was recently responsible for developing and implementing a new feed generation mechanism for the O’Reilly Network family of sites (,,,,,,,,, among others) that would bring up our standards support and allow us to include some additional content in our feeds like graphics and enclosures.

When the Atom 1.0 standard was released, I was able to have our new feeds compliant that afternoon. The problem of course is that there’s been a lag in the Atom 1.0 support in the newsreaders out there. Case in point. The other day I removed the rel="alternate" attribute from the atom:link element–I was informed it was actually optional. So I was not surprised this morning to get two bug reports from Safari RSS users that post titles were no longer linking to the actual post entry.

I put the rel="alternate" back in and Safari RSS again links to our posts. Yey. rel="alternate" is mandatory for Safari RSS. We’ve gotten reports that Akregator (a KDE newsreader) is complaining about our Atom feeds. NetNewsWire 2.0.1 which supposedly supports Atom 1.0 does not find any items in our feeds. Bloglines performs admirably, but removes whitespace around links in atom:summary elements. The good news is that if you plug our feeds into the Feed Validator, we get a thumbs up.

Hopefully these issues will be hashed out as the standard is more widely adopted. In the meantime, any of our Atom 1.0 feeds are also available in either the RSS 1.0 or the RSS 2.0 format. So if the Atom Mac DevCenter feed ( is not working for you, you can request the RSS 2.0 version by adding ?format=rss2 to the URL: Cool huh?

This post first appeared on From the Belly of the Beasts, a weblog from some of the people who build O’Reilly websites.

1 Comment

Just a doubt.. can I put a rel=alternate related to a different site? ( for example a translated version )
Thank you


Email (optional)

Blog (optional)