Retracting blog entries in the face of syndication feeds

July 23, 2008

Suppose that you have accidentally published a blog entry that you really didn't want to and now want to retract, unpublish, disappear, or the synonym of your choice the entry. You could just delete the entry, but this has a problem: your syndication feeds (RSS, Atom, et al).

Specifically, removing an entry from your blog and thus your feed doesn't remove it for people who've already fetched a version of your feed that included the entry. Feed readers keep their own copy of entries that they've seen (up to whatever expiry limit the user has set) and no common feed reader will remove an entry just because it's disappeared from a feed, because entries disappear from feeds all the time (since a feed only contains the N most recent entries).

(Feed readers could be coded to notice that an entry is missing at the front or between two others, instead of at the end, but that would take extra effort. And as far as I know there is no marker in any of the syndication formats for 'remove this entry now'.)

If you are quite fast and very lucky, you can catch the mistake and remove the entry before anyone has pulled a version of your blog's syndication feeds that has the entry in it. But you are probably not that fast, especially if you are a popular blog and thus people are pulling your syndication feed all the time.

However, you can take advantage of another feed reader feature: if you change the contents of an entry, pretty much every feed reader will update their copy of the entry with the new contents. So instead of removing the retracted entry, replace its contents with 'this entry has been retracted' or the like. If there's other parts of the entry that need similar retraction (the title, for example), do the same thing with them.

(In theory you could update the entry to have an empty contents and title, but I think that 'this entry has been retracted' looks better to your readers and runs less risk of feed readers deciding that something clearly has gone wrong with your feed and thus they aren't going to update their copy.)

Ideally there would be a way of publishing an entry just in your feed, so your main blog pages don't have a 'this entry has been retracted' entry. I suspect most blog software doesn't support this, so what you can do is first update the retracted entry with the retraction notice, then wait a day or so for everyone's feed readers to pull this updated version, and then remove the entry entirely.


Comments on this page:

From 24.245.4.244 at 2008-07-23 09:11:42:

A poor mans RSS cache invalidation protocol. ;)

A couple of us at work caught the mis-post and retraction right away. We assumed that because the post was deleted, not edited and re-posted, that the 'leak' was intentional.

Perhaps it wasn't intentional, but rather a simple error.

From 87.79.236.202 at 2008-07-23 09:42:08:

Note that there is a fraction of feed readers that will save each version of the entry. (NetNewsWire even provides diffs, I think.) So publishing an edited version of the entry can serve only as a declaration of intent. No matter what you do, once an entry is out there, it’s out there.

Aristotle Pagaltzis

Written on 23 July 2008.
« Two different usage patterns
One thing that I dislike about typical debuggers »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Jul 23 00:55:16 2008
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.