410 Gone vs 404 Not Found: When to Use Each

The difference between HTTP 410 Gone and 404 Not Found, when to use each status code, how Google treats them differently, and when you should redirect instead.

Both 404 and 410 tell a client that the requested resource is not available. The difference is intent. A 404 Not Found means "we don't have this, and we're not saying why." A 410 Gone means "this used to exist, but it has been deliberately and permanently removed."

That distinction matters for SEO. Google treats 410 as a stronger, faster signal to de-index a URL. If you are cleaning up old content and want it out of search results quickly, 410 is the right tool.

For the full picture on redirect-related status codes, see our HTTP Redirect Guide.

What 404 means

A 404 response tells the client that the server cannot find the requested resource. It does not say whether the absence is temporary or permanent. [1]

HTTP/1.1 404 Not Found
Content-Type: text/html

<html>
  <body>
    <h1>Page not found</h1>
    <p>The page you requested does not exist.</p>
  </body>
</html>

A 404 can mean many things:

  • The URL was mistyped
  • The page was moved without a redirect
  • The page was deleted
  • The URL never existed in the first place

Because the server gives no additional context, search engines treat 404 as ambiguous. Google will eventually de-index a 404 page, but it keeps re-checking the URL periodically in case the page comes back.

What 410 means

A 410 response explicitly tells the client that the resource is gone permanently. [1] The server is making a deliberate statement: this URL used to have content, that content has been removed on purpose, and it is not coming back.

HTTP/1.1 410 Gone
Content-Type: text/html

<html>
  <body>
    <h1>This page has been removed</h1>
    <p>The content previously at this URL is no longer available.</p>
  </body>
</html>

RFC 9110 defines it clearly:

The 410 (Gone) status code indicates that access to the target resource is no longer available at the origin server and that this condition is likely to be permanent.

The key phrase is "likely to be permanent." A 410 is a definitive signal that the URL is intentionally dead.

How Google treats them differently

This is where the practical difference matters most. Google's John Mueller has confirmed multiple times that Google processes 410 responses faster than 404 responses. [2]

404 behavior in Google

When Googlebot encounters a 404:

  1. It marks the URL as potentially unavailable
  2. It reduces crawl frequency for that URL
  3. It continues to re-crawl the URL periodically (days to weeks apart)
  4. After a sustained period of 404 responses (typically several weeks to months), it de-indexes the URL
  5. Even after de-indexing, Googlebot occasionally re-checks the URL

The slow de-indexing happens because Google does not know whether the 404 is intentional. Maybe the site is having temporary issues. Maybe a page was accidentally deleted and will be restored. Google gives it the benefit of the doubt.

410 behavior in Google

When Googlebot encounters a 410:

  1. It marks the URL as permanently removed
  2. It de-indexes the URL faster (days to weeks rather than weeks to months)
  3. It reduces or stops re-crawling the URL more quickly
  4. It treats the removal as intentional and authoritative

Google's documentation states: "If you want to completely block a page from appearing in search results... returning a 410 can speed up the removal process." [3]

Behavior404 Not Found410 Gone
Signal to search enginesAmbiguous (might be temporary)Clear (permanently removed)
De-indexing speedWeeks to monthsDays to weeks
Continued re-crawlingYes, periodicallyStops sooner
Crawl budget impactWastes budget on repeated checksFrees up budget faster
User experienceGeneric error pageCan explain the removal

When to use 404

Use a 404 when you genuinely do not know whether the resource exists or when the absence is not deliberate.

Good uses of 404:

  • The URL was never valid (typos, bot probes, random URL guessing)
  • The page might come back (temporarily removed content)
  • You are unsure whether the removal is permanent
  • Default server behavior for unknown URLs (this is fine and expected)

Most websites already return 404 by default for any URL that does not match a route. You do not need to do anything special. The 404 is the internet's standard "not found" response, and it handles the vast majority of cases correctly.

When to use 410

Use a 410 when you have deliberately and permanently removed content and want search engines to recognize that fact quickly.

Good uses of 410:

  • You deleted a blog post or article that is no longer relevant
  • You removed a product page for a discontinued product (and there is no replacement)
  • You are cleaning up a large number of old, thin, or low-quality pages
  • You merged several pages into one and the old URLs serve no purpose (and a redirect is not appropriate because the content is genuinely gone, not moved)
  • You received a legal takedown and the content cannot be restored

The 410 is especially valuable during large content cleanups. If you are removing hundreds of outdated pages, returning 410 instead of 404 tells Google to stop wasting crawl budget re-checking those URLs.

When to redirect instead

Neither 404 nor 410 is the right answer when the content still exists somewhere else. If the page moved, use a redirect.

Use a 301 redirect when:

  • The content moved to a new URL (same content, different location)
  • A close equivalent exists on your site (e.g., a product was replaced by a newer model)
  • The old URL has significant backlinks or traffic you want to preserve

Use a 404 or 410 when:

  • There is no relevant replacement page
  • Redirecting to a generic page (like the homepage) would be misleading
  • The content is truly gone with no equivalent

Google's documentation explicitly warns against redirecting deleted pages to irrelevant destinations. [3] Redirecting every deleted page to your homepage is called a "soft 404" and Google treats it as a poor user experience. If there is no relevant replacement, a clean 404 or 410 is better than a misleading redirect.

Soft 404s are worse than real 404s

If you redirect a deleted page to your homepage or a generic category page, Google may detect it as a "soft 404" and flag it in Search Console. This wastes crawl budget and sends confusing signals. If the content is gone and there is no close match, return an honest 404 or 410.

Implementation

Apache (.htaccess)

Return 410 for specific URLs:

# Single URL
RewriteRule ^old-page$ - [G,L]

# Multiple URLs
RewriteRule ^(discontinued-product|old-article|legacy-page)$ - [G,L]

The [G] flag stands for "Gone" and returns a 410 status code.

Nginx

# Single URL
location = /old-page {
    return 410;
}

# Multiple URLs by pattern
location ~ ^/(discontinued-product|old-article|legacy-page)$ {
    return 410;
}

Application-level (Node.js / Express)

app.get('/old-page', (req, res) => {
  res.status(410).send('This page has been permanently removed.');
});

Custom 410 error page

Just like a 404 page, you can (and should) serve a custom 410 page that helps users understand what happened and where to go next.

<h1>This page has been removed</h1>
<p>The content previously at this URL is no longer available.</p>
<p>You might find what you're looking for on our
   <a href="/">homepage</a> or by using site search.</p>

In Nginx, configure a custom error page:

error_page 410 /410.html;
location = /410.html {
    internal;
}

Blocking removed pages from crawling

If you want to go a step further, you can block removed URLs in your robots.txt to prevent search engines from even requesting them. This pairs well with a 410 response. For details on robots.txt configuration, see What is robots.txt.

That said, robots.txt blocking alone does not de-index a page. Google can only learn that a URL returns 410 by actually requesting it. The recommended approach is: return 410 from the server, and optionally block the URL in robots.txt to save crawl budget after Google has already processed the 410.

The decision framework

Here is how to decide which status code to return when removing content:

Is there a relevant replacement page?
  |
  +-- YES --> 301 redirect to the replacement
  |
  +-- NO ---> Was this content deliberately removed?
                |
                +-- YES --> 410 Gone
                |
                +-- NO ---> 404 Not Found

For content that was part of a site migration, use redirects rather than 410. The content is not gone, it moved. For truly deleted content with no replacement, 410 is the cleanest signal you can send.

Monitoring removed pages

After returning 410s for a batch of URLs, monitor the results:

  1. Google Search Console: Check the "Pages" report under Indexing. URLs returning 410 should appear under "Not found (410)" and eventually stop appearing entirely.
  2. Crawl stats: Your crawl budget usage should decrease as Google stops re-checking 410 URLs.
  3. Search results: The removed pages should drop out of search results faster than they would with 404.

If pages are not de-indexing as expected, verify that the server is actually returning 410 (not 404 or 200) using curl:

curl -I https://example.com/removed-page

Confirm the response starts with HTTP/1.1 410 Gone.

For ongoing redirect and status code monitoring, see What Happens When Redirects Break.

Common mistakes

Using 410 for temporarily removed content

If there is any chance the content will return, use 404 or a 302 redirect. A 410 tells search engines to stop checking. Getting the URL re-indexed after a 410 takes longer than recovering from a 404.

Returning 410 for URLs that never existed

A 410 implies the URL previously had valid content. Returning 410 for a URL that was never real (like bot-probed paths or random URL guessing) is technically incorrect and wastes server-side logic. Let these fall through to your default 404 handler.

Not providing a helpful error page

A bare 410 response with no HTML body leaves users staring at a blank page or a generic browser error. Always serve a custom error page that explains the situation and offers navigation options.

Removing redirects and returning 410

If a URL currently has a 301 redirect to a relevant page, do not replace it with a 410. The redirect is serving users and preserving link equity. Only use 410 when there is genuinely no relevant destination.

The bottom line

404 and 410 both mean "not here." The difference is 410 adds "and it is not coming back." Google respects that signal and de-indexes the URL faster, which frees up crawl budget and cleans up your search presence.

For most sites, the default 404 is fine for the majority of missing URLs. Reserve 410 for deliberate content removals where you want search engines to act quickly. And when there is a relevant replacement, skip both status codes entirely and use a 301 redirect.

References

  1. IETF, "RFC 9110 - HTTP Semantics, Section 15.5.5: 404 Not Found / Section 15.5.11: 410 Gone," June 2022. https://httpwg.org/specs/rfc9110.html#status.404
  2. John Mueller, Google, "410 vs 404," Google Search Central community, 2019. https://support.google.com/webmasters/thread/1797026
  3. Google, "Remove a page or site from Google's search results," Google Search Central, 2024. https://developers.google.com/search/docs/crawling-indexing/remove-information

Never miss a broken redirect

Trace redirect chains and detect issues before they affect your users and SEO. Free instant tracing.

Try Redirect Tracer