Opened 10 months ago
Archived blogs should return HTTP "404 Not Found", not "410 Gone"
|Reported by:||amattie||Owned by:|
In a multisite network, if a site is archived, ms_site_check() currently serves up a HTTP 410 status code. Here's what the HTTP spec has to say about 410:
The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URI after user approval. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead. This response is cacheable unless indicated otherwise.
It's acceptable to serve a 410 if the site is marked as deleted or spam, but I don't think that archiving the site is an indication that the site is permanently and irrevocably gone. Although a case can be made for changing it to 404, my contention is that a 403 is more appropriate for semantics and for bots. From the same HTTP spec:
403 Forbidden: The server understood the request, but is refusing to fulfill it.
404 Not Found: The server has not found anything matching the Request-URI.