Just over a year ago, I permanently redirected all my feeds their Atom 1.0 equivalents. Several months later, I quietly converted all those redirects to 410 Gone.
Checking back to see how effective this has been, here is a list of user agents that are still attempting to fetch those missing feeds: by name and by full User-Agent. The numbers down the left are the number of requests over the past week.
The most interesting line in that output:
Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 450 subscribers; feed-id=16685407958911290868)
410
? That seems wrong as the resource still exists; it has just moved to another location.That seems wrong as the resource still exists
If you subtract away reality, I could argue that it was the original redirect that was wrong as those were two different URIs and ipso facto two different resources.
If you are willing to overlook that minor detail, then both index.html and index.atom are the same resource, and yes, that resource still exists, and I could permanently redirect all requests for formats that I no longer support to either URI equally.
But if you add back in reality, none of this matters if popular applications like Google Reader ignore both status codes.
RFC 2616 states:
The 410 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that source be removed. Such an event is common for limited-time, promotional services and for resources belonging to individuals no longer working at the server’s site. It is not necessary to mark all permanently unavailable resources as “gone” or to keep the mark for any length of time — that is left to the discretion of the server owner.
“Server owner” = Sam
“Intentionally unavailable” = Sam decided
“Discretion of the server owner” = Sam can decide whatever he damn well pleases
Ugh.
FeedTools is on that list only because people are misusing it. If users only followed the instructions, it wouldn’t be showing up. :-P
"If users only followed the instructions..."
But they don’t. This has been evident for a long time, and is not likely to change. Dealing with it is just part of software engineering.