Best Practice For Retiring RSS Feeds?
GBJ writes "I work for an organisation that runs seasonal online competition events. Each event has its own news feed which becomes obsolete shortly after the event finishes. We're still getting RSS requests for some events as far back as 2004. I'd like to close a few thousand old feeds and remove the resource hit they cause, but I'm not sure what is the best approach. Currently I'm considering just returning a 404, but I have no idea if there is a better way to handle this. Uncle Google hasn't turned anything up yet, but sometimes it's hard to find something when you don't know what it's called ..."
RFC 2616 is the one to read. It specifies a "410 Gone" for resources that are gone for good.
If so, you can either archive the feeds on a web page (of only web page versions) and charge for "back issues" to cover the costs.
Still getting requests? Is it folks who are emailing yo explicitly for the feed or you're seeing traffic on those feeds in you logs?
If it's just traffic, maybe it's just some default setting on someone's phone program or something? In other words, those requests aren't "real".
Either way, I say archive them and if they really want to see them, let them bring up a browser. You're still offering service but you're not, I don't think, taking up much resources.
Gone
Indicates that the resource requested is no longer available and will not be available again. This should be used when a resource has been intentionally removed; however, it is not necessary to return this code and a 404 Not Found can be issued instead. Upon receiving a 410 status code, the client should not request the resource again in the future. Clients such as search engines should remove the resource from their indexes.
use a 410 Gone more informative than 404
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11
ERR 411[Max number of witty sigs reached]
The resource isn't "Not Found", it's "Gone". HTTP 404 is inappropriate in this instance.
Likely the best solution will be to ensure that people are notified first. If you're receiving a large number of hits, replace the content with a single RSS item that has a guaranteed-unique guid for every single request (say, based on the request time). This way, with each request, people will receive a "new" item that will display as unread, reminding them to unsubscribe from that particular feed.
After some amount of time, start returning HTTP 410 for all requests.
Just return an unending stream of crap from /dev/random on your server until it crashes the RSS reader at the other end. After a few days of this I'm sure they'll sort it out from their end :-)
Code, Hardware, stuff like that.
My company has had the same issue. We just wrote out a single item feed that explained that the feed had been discontinued and provided a link to the homepage. We wrote this feed over all the feeds to be taken down.
Interestingly, in the weeks following this action, our homepage views spiked followed shortly after by increased hits on more active feeds.
No way man. You can't just dump all those people like that!
Either redirect them to a feed that says "here are some other events you might be interested in subscribing to" or create a last post on the feed that says the same thing. Dumping them with a 410 is a great way to loose your traffic.
It sounds like in this case, a redirect is the proper thing. Just be forewarned that some readers (cough Google Reader) will redirect, but ignore the "permanent" in "permanent redirect" and will continue to hit the old feed.
Newsreaders are amazingly stupid. Google Reader, for example, will ignore both your "301 Permanent Redirect" and ignore your Atom link="self" as well. Something tells me it will ignore your "410 gone" too. You should test what major newsreaders (MyYahoo, Bloglines, Google Reader) do when you deep-six a feed with a 410.
Even still, 410 is stupid. A 301 redirect to something generic would be better, even if the readers are too brain dead to get the message. 410="lost traffic".
Yes. Because if the newsreader flakes out, the *person behind the computer* might blame you and never subscribe to your feed again. We are dealing with people here, not machines. Were are not here to seek spite on stupid newsreaders or "lusers who dont unsubscribe". This is business. Petty bullshit only wastes time and loses money.
Even if the newsreader was well behaved and did the right thing, you've just stupidly removed your brand from being thrown in their face every time they opened their reader. If you've got like 10,000 subscribers sitting on a bunch of year-old feeds and you cruelly dump them with a 410/404, that is lost mindshare and lost traffic.
The best solutions are the ones that encourage feed users to keep using your services by nudging them to your new stuff.
Bottom line is, it is easier to keep existing customers than it is to get new ones. Think about it.
Your best bet for solving the problem you currently have is to have done something different in the past?
That's probably the least helpful advice ever :)
Are RSS feeds really causing an insane amount of traffic? Does that traffic cost more than it does to acquire new subscribers? I doubt it.
Let me qualify that though. Before I did anything drastic like 410'in their ass, I'd come up with the total number of subscribers to the entire pool of feeds. Most of the big-boy newsreaders will usually include a subscriber count in their User-Agent. Tally up the numbers and make sure you aren't dumping 100,000 subscribers in an attempt to save a piddly 1,000 feed-hits a day.
Sounds like you would benefit from a site level "current events" feed, that always has the most recent events. Then a per-event feed that, after the event, changes to "thank you for coming, see more at "current events". And that feed expires 3 months after the event.
If people are collecting your old feeds, but not getting value from them, is that actually valuable traffic? Are you interested in getting the word out, or counting fictional traffic?
You can also rename the feed to archive old information. Renaming the feed breaks the links to lazy readers. Anyone who really wants to research your old event data will search for it starting at your home page.