Hopefully this little essay will clear things up. I've found a few errors, most of them stemming from incorrect use of the "alternate" relationship between links. = Feeds = There are three URLs mentioned in the interface. The only problem here is that "alternate_url" is used incorrectly. site_url: Only used internally as a root address. Shows up indirectly as the root of the URL to the icon. url: The URL to the feed resource itself. So for: http://feeds.launchpad.net/ubuntu/announcements.atom the url would be: http://feeds.launchpad.net/ubuntu/announcements.atom and in the feed document I expect to see: which is correct. alternate_url: The URL to a resource that is the human-readable equivalent of the feed. So for: http://feeds.launchpad.net/ubuntu/announcements.atom the alternate_url would be: http://launchpad.net/ubuntu/+announcements Both those URLs are in some sense "the same thing": the list of announcments for Ubuntu. In http://launchpad.net/ubuntu/+announcements we see this markup: Similarly, in http://feeds.launchpad.net/ubuntu/announcements.atom I expect to see this markup: Instead I see this, which is wrong, and probably causing some confusion. The Ubuntu project is not 'the same thing' as the list of Ubuntu announcements. This would be acceptable (if suboptimal) if https://launchpad.net/ubuntu were the only place you could go to see Ubuntu announcements, but fortunately we have https://launchpad.net/ubuntu/+announcements. The alternate_url should be changed. = Entries = You've got one URL here, link_alternate, which is used incorrectly. There are also two other URLs you could use here, one of which (link_via) will do what you're currently using link_alternate for. link_self (NEW): This isn't present but I thought I'd mention it. This is the link to the Atom entry itself. It's analogous to the "url" you've defined for a feed. If it were present, it look like this in the Atom feed at https://feeds.launchpad.net/ubuntu/announcements.atom: It's not present because you don't give individual announcements their own URLs. We're going to start doing something like this for web services, but you don't have to. link_alternate: Analogous to the feed's alternate_url. Currently the feed's alternate_url is wrong and this is wrong in an analogous way. This is the URL to a different representation of 'the same thing' as this entry. Right now it looks like this: This is wrong; http://www.ubuntu.com/news/macedonia-school-computers is not 'the same thing' as the second entry in the Ubuntu announcements feed. Obviously the other couldn't exist without the one, but they're not 'the same'. For instance, http://www.ubuntu.com/news/macedonia-school-computers was published on 2007-11-20 and the feed entry that links to it was published on 2007-12-06. http://www.ubuntu.com/news/macedonia-school-computers contains more information than the feed entry. And so on. There is a URL that is 'the same thing' as that feed entry, and it's http://launchpad.net/ubuntu/+announcement/2. That URL is an HTML representation of the Launchpad announcement, and the feed entry is an Atom representation of the same announcement. So I would expect the Atom entry to say this: link_via (NEW): OK, what about http://www.ubuntu.com/news/macedonia-school-computers? You can mention it in the body of the entry, but you can mention a lot of links in the body of an entry and it would be nice to have some structured way of saying "this link has a special relationship to this entry". Fortunately, "alternate" is not the only possible relationship between URLs. We can choose another relationship and use it as the value of "rel" in a second tag. Looking at the web side of things, I see that the difference between https://launchpad.net/ubuntu/+announcement/2 and http://www.ubuntu.com/news/macedonia-school-computers is presented as the difference between "Permalink" and "Read more...". This implies that the external URL is the original source of the announcement. I recommend using the relationship "via" for this. The Atom standard says this about "via": The value "via" signifies that the IRI in the value of the href attribute identifies a resource that is the source of the information provided in the containing element. So the Atom entry would look like this: I recommend calling this link_via, by analogy to link_alternate. id: Also, I think your entry IDs are wrong--not invalid but wrong by analogy. Your entry IDs look like this: tag:launchpad.net,2007-12-06:/+announcements/2 That /+announcements implies you're trying to make an analogy between the tag and a URL on the real Launchpad site. But https://launchpad.net/ubuntu/+announcements/2 doesn't work. It's https://launchpad.net/ubuntu/+announcement/2. The current tag: URI is valid because it doesn't need to mean anything, just be self-consistent. But if you want to make an analogy between the tag: URI and an http: URL (which is a good idea), you should use a valid URL fragment.