Adding Atom:Link to Your RSS Feed

The RSS Profile includes a recommendation to add an atom:link element to an RSS feed to identify its URL, as in this example from my own blog:

<atom:link href="" rel="self" type="application/rss+xml" />

To make this work, all I had to do was declare the atom namespace in the feed's rss element:

<rss version="2.0" xmlns:atom="">

The addition of atom:link, by letting an RSS feed reveal its own address, makes the feed easier to cache, send as an email attachment and deliver over file-sharing networks. It's an extremely useful capability that can't be accomplished using a core RSS element.

There's been some controversy over this recommendation, due presumably to the fact that it uses an element from Atom. When you submit an RSS feed to the Feed Validator that doesn't contain the element, you get the warning message "Missing atom:link with rel='self'." This doesn't prevent the feed from being valid, but it has irked some people who expected their feed to pass with no warnings.

Dave Winer wrote on RSS-Public this weekend that he can no longer endorse the validator because it checks for this element:

Okay, I'm not going to argue with you, and I fully expect you to trash me on your blog (which I do read).

But I should say this -- that after a few years of relative peace, I had started recommending and using the validator.

I can't recommend it now, because I can see what's coming next.

And I think you ought to tell the members of your board how you're using their names and company's names. I don't think they understand what you're doing, Rogers.

And that closes this as far as I'm concerned.

I'm not clear on the nefarious plot I am supposedly undertaking, but the profile's just following the lead of RSS publishers who have been adding atom:link in growing numbers. It's the second most popular namespace element in an RSS channel, appearing in 15 percent of all feeds in a survey I conducted in June. Every FeedBurner feed includes one, and on Saturday, WordPress added support.

From my perspective, this is exactly how RSS namespaces are supposed to work. Publishers need to identify a feed's URL, so they have adopted the most popular namespace element that provides this capability. It might throw people a little that the element comes from Atom, since there's a syndication war going on and we takes no prisoners, but it's no different than adding an OPML element to RSS when you want an ownerId for your feed.

But thanks for reading my blog, Dave!


Rogers: "I'm not clear on the nefarious plot I am supposedly undertaking, but the profile's just following the lead of RSS publishers who have been adding atom:link in growing numbers."

Bwa ha ha! Phase one is complete. Time to implement the next step in our plan to take over the Syndication World: get everyone to include atom:category elements in their feeds. By getting feed producers to incrementally replace RSS elements with Atom elements, we'll slowly convert the masses and rid the world of that Ridiculously Stupid Syndication format forever! Bwa ha ha!

"Hey, you got yer chocolate in my peanut butter..."

An Atom element combined with an RSS element?

Isn't that one of the signs of the apocalypse?

Oh Well six more seals to go, one supposes.

The return of Dave Whiner?

Will blog-world ever be safe?

Won't reccomend the validator?

Awww, sounds like someone needs a little validation themselves.

** Group Hug **

There, everybody feel better now?

Be Well.

The 5 Stages of Grief are:

1. Denial: The initial stage: "It can't be happening."
2. Anger: "Why ME? It's not fair!" (either referring to God, oneself, or anybody perceived, rightly or wrongly, as "responsible")
3. Bargaining: "Just let me live to see my child(ren) graduate."
4. Depression: "I'm so sad, why bother with anything?"
5. Acceptance: "It's going to be OK."

Some programmers also have a Stage 0:
0. "Over my dead body."

So, much for standards work.

"The spec is frozen"
"Can we add elements?"
"Use name spaces."
"OK... Atom has an element we could use."
"Well... I see where this is headed. I can't support that suggestion.
It breaks... control."

question-btw have fun trashing this but answer it please!! my rss feed needs to be resubmitted in itunes. if i add the ATOM to it will it show up as a duplicate feed?? if not what should my rss look like ?

do i add info to this----this my example feed that itunes needs as a new feed otherwise it is a useless duplicate

where does this go? ------atom:link href=
sorry out of my league here
what should it look like without showing me < or " if i'm really out to lunch then i apologize .

altering my feed is a pain and i will loose subscribers but it must be new to resubmit to itunes so will atom added to my rss be a new valid feed that acts like my existing feed don't gimmi this http 301 error solution just a way to not have to start all over podbean sucs feed burner shoulda been my first choice but it's to late to start over just so i can create a new feed.

I guess I am confused. My podcast feeds use the following namespace

xmlns:itunes="" version="2.0"

But when I validate, I am told it would be "better" to change my namespace to Atom so I can add that atom:link element. Why? What is wrong with the above namespace...that is what I would like someone to explain to me? Can't I use the itunes namespace?

It's not an either/or issue. Your feed can implement more than one namespace, so it can have elements from the iTunes namespace and from the Atom namespace. See my feed for an example.

Add a Comment

All comments are moderated before publication. These HTML tags are permitted: <p>, <b>, <i>, <a>, and <blockquote>. This site is protected by reCAPTCHA (for which the Google Privacy Policy and Terms of Service apply).