We currently expire our marketplace listings after a certain timespan elapses. Currently, we send back a 410 status code for our expired pages (404 = we've never heard of this page compared to 410 = we know what you're talking about but it doesn't exist anymore and never will again in the future).

However, our Google Webmaster Tools keeps showing more and more 410 pages under not found errors, and this can't be good. Does it not understand what we're trying to do? What's the appropriate status code for expired listings, expired products on an ecommerce site, etc?

Dani AI

Generated

As and noted, using an HTTP 410 for content you intend to remove permanently is the semantically correct choice. Search Console groups 404 and 410 results together under "Not found," so seeing 410s reported there does not mean Google misunderstood the signal. The 410 semantics are defined in the HTTP spec (RFC 7231 section 6.5.9).

Choose the response based on intent. If a listing is gone for good and has no replacement, returning 410 and removing the URL from your XML sitemap and internal links is appropriate. If there is a direct replacement, 301-redirect to that replacement (avoid mass-redirects to the homepage). If the item is temporarily unavailable but will return, use 503 with a Retry-After header so crawlers know to come back (RFC 7231 section 6.6.4), or keep the page as 200 with clear "out of stock" copy and structured data if the page still provides user value.

Implementation checklist and gotchas: allow Googlebot to crawl the URL so it can see the 410 (do not block with robots.txt), remove the URL from sitemaps, and strip internal links to speed deindexing. If you must keep a page live for users but remove it from search, serve a 200 and apply a meta robots noindex or an X-Robots-Tag: noindex header (and do not block crawling). Verify responses with URL Inspection or a quick curl check:

curl -I https://your-site.example/expired-listing

For moderator-deleted content (as mentioned), 410 is fine. The growing count in Search Console is expected as more items expire; it only becomes actionable if those URLs are still linked or listed in sitemaps. Keep sitemaps and internal linking clean and the Not Found report will calm down over time.

Recommended Answers

All 3 Replies

410 (Gone) should be the right one. Technically it is a not found, just with a different reason.

I agree 410 should be working, 409 is close but doesn't fit well. That's odd.
I'm just reading here.

We also use the 410 status code for moderator-deleted messages.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.