Gone
https://github.com/sillygwailo/Gone
May 23rd, 2019: This is implemented by https://www.drupal.org/project/http_status_code
Future ideas:
Rules integration
Redirect on node view (see a Stack Overflow question asking if this is possible in Drupal)
http://drupal.org/project/node_expire adds a timer to a node, then after that timer ends, expires the node in some fashion (using http://drupal.org/project/rules). The idea is to create a module that sets the HTTP code to 410, or redirects to a 410 page (while sending the HTTP code), indicating to robots that the content is indeed gone.
http://diveintomark.org/archives/2003/03/27/http_error_410_gone
it would add, under admin/settings/error-reporting, a textbox to specify which page is the 410 page (like the one for 403 and 404)
http://drupal.org/node/189105 is an issue where the Path Redirect module (rightly) says 410s should be handled by another project
what module handles the redirect? Does it even redirect?
Node Status
should "gone" be a separate status using http://drupal.org/project/workflow ?
does the 'expired' flag (which Node Expire sets) constitute "Gone"?
does a published status override the "gone"/"expired" status?
Since Node Expire sets a flag on the node as 'expired', then all that needs to be done is, if the 'expired' flag is set:
serve the HTTP code
serve the "Gone" page
there is no step 3