Technical
HTTP 410
Also called Gone.
HTTP 410 is the status a server returns when a URL is gone for good and no forwarding address exists. It is the deliberate, stronger sibling of not found.
How it is measured
`curl -I` shows `410 Gone`. Confirm in config that it is intentional, such as `return 410;` in an nginx location or a CMS setting. Crawlers often drop 410 URLs from the index somewhat faster than 404 ones, though both are eventually dropped.
Check that the same URLs are out of the sitemap and out of internal links. A 410 that is still linked from your own menu keeps getting crawled.
Worked example
A hacked WordPress site had 4,300 spam pages injected under `/cheap-watches-`. After cleanup, the owner serves 410 for that pattern instead of 404. Search Console's indexed count for them falls from 4,300 to about 600 in three weeks.
During the same period, ordinary 404s on the site stay at 12, so the rule caught only the spam.
How it differs
An HTTP 410 says gone on purpose. An HTTP 404 says not found. A 404 may be a typo, a deploy slip, or a deleted page. A 410 can only be a decision, and it carries a promise the 404 does not.
Common errors
Using 410 for a page that is only down for now. Applying it to a URL that has a replacement and needs a 301. Writing pattern rules that catch legitimate URLs. Expecting instant removal from search results. Leaving the URL in the sitemap. Sending 410 and later bringing the URL back.
In practice
Use 410 for content you removed deliberately with no replacement, such as expired offers, cleaned-up spam, or retired products. Take those URLs out of the sitemap and internal links, and keep a short list of what you set to 410.