- Jun. 8th, 2006
- 0 comments
I was reading through the documentation for mod_rewrite, and I noticed that "G," the gone directive sends a status code of "410," which means "gone," and not "404," which means not found. Strictly speaking there's a slight difference in meaning. I suppose "not found" implies it was never there, and "gone" implies it was deleted; but does anyone actually use it? I don't think so.
From mod_rewrite documentation (http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html):[G] (force URL to be Gone)
Forces the current URL to be gone. Send the HTTP response, 410 (GONE).
Anyone care to comment? I know on my sites, I just send 404s when I delete pages or items. Theoretically, since many people who delete records actually just flag the records deleted, not physically delete them, a distinction could be made in that case — but I know I don't bother.
Update: I found the answer here on Matt Cutts' blog by accident. It says "Google treats a 404 HTTP status code (page not found, but it may reappear) and a 410 HTTP status code (page not found, and it’s gone forever) in the same way. I believe that we treat 404s as if they were 410s; once Googlebot has seen a 404 at that location, I think we assume that the document is gone forever. Given how many people use 404 instead of 410, that’s probably a good call for the time being."