Skip to content
Webmaster Tools

410 Gone

What HTTP 410 Gone means, how it differs from 404, how Google handles removed URLs, and how to return 410 in nginx, Apache, Express and WordPress.

All status codes

What 410 means

The resource used to exist, was removed on purpose, and isn't coming back. There's no forwarding address. 410 is defined in RFC 9110 §15.5.11, and unlike 404 it states that the condition is expected to be permanent:

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

<h1>This product has been discontinued</h1>

410 is cacheable by default, so browsers and CDNs may keep it without an explicit Cache-Control. Only send it for URLs you're sure about.

When to use it

  • Deleted content with no replacement: discontinued products, expired listings and promotions, removed user profiles.
  • Spam or hacked pages you've cleaned up and want gone from search results.
  • Retired API versions (/v1/...) where you want clients to stop calling rather than keep retrying.

If there is a replacement, a 301 Moved Permanently to it is better than 410: users land somewhere useful and links keep their value. Don't redirect everything to the home page; Google treats that as a soft 404.

How to return 410

In nginx:

location = /old-product { return 410; }
location ^~ /spring-sale/ { return 410; }

In Apache (.htaccess or the vhost):

Redirect gone /old-product

RewriteEngine On
RewriteRule ^spring-sale/ - [G]

In Express, res.status(410).send('Gone'). On WordPress, redirect plugins such as Redirection let you mark a URL as 410 without editing server config.

Serve a helpful page with the 410: explain that the item is gone and link to search or the category, so visitors aren't stuck.

410 and SEO

Google treats 404 and 410 almost identically: both tell it the page doesn't exist, and the URL is dropped from the index. Google has said 410 can be a slightly stronger signal, so a URL may be removed a little sooner, but in practice both end up in the same place. Googlebot will still recheck the URL from time to time, which is normal and doesn't hurt the site.

After removing pages, take them out of your sitemap and update internal links that point at them. Don't block the URLs in robots.txt: Googlebot then can't see the 410, and the old URL can linger in results.

To confirm a removed URL answers 410 and isn't redirected somewhere unexpected, check it with the Redirect Checker.