410Gone
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.
What this code obliges you to do
Do not retry automatically
Repeating the same request produces the same result. A retry loop here just multiplies load and hides the real fault.
Cacheable by default
RFC 9110 lists this code as heuristically cacheable, so a cache may store it even with no Cache-Control header. Send explicit headers if that is not what you want.
Body allowed
You may return a payload explaining the outcome — for an error, a machine-readable problem document is worth the effort.
What usually causes it
2Discontinued products permanently removed from store
Deleted user accounts
Effect on search
The golden standard for intentionally deleting SEO pages. Tells Googlebot to instantly expunge the URL from index.
How to send it
1header("HTTP/1.0 410 Gone");