TL;DR

Use a 404 for pages that might come back, a 410 for pages gone for good, and a 301 only for genuine content moves, never as a chain. Fix soft 404s by matching the real status code to the real state of the page, flatten every redirect to a single hop, and build a custom 404 page that recovers visitors instead of losing them.

By Guru Editorial | August 19, 2026

Seventy-four percent of visitors who land on a 404 page with no path back to real content leave the site and never return, according to error-page research from customer-experience platform Cludo. That single number should worry any SEO or content team, because on a site of meaningful size, dead ends are not rare events. They happen constantly: discontinued products, retired blog posts, botched migrations, expired listings, and mistyped internal links all funnel real visitors, and real crawler requests, into a wall.

Error and redirect hygiene rarely gets the attention that keyword research or link building gets, yet it quietly determines whether the crawl budget, link equity, and user trust you have already earned actually reach your best pages. This guide covers the exact decisions that protect that value: choosing 404 versus 410 versus 301, catching and fixing soft 404s before they bury good content, killing redirect chains and loops, designing a 404 page that keeps people on your site, and handling removed or expired pages at scale without creating a new mess every time you clean up an old one.

Why Error Pages and Redirects Are a Silent SEO Tax

A 404 or a 410, by itself, is not a problem. Google's John Mueller said as much directly in a Reddit thread reported by Search Engine Roundtable in January 2026, calling 404s and 410s "not a negative quality signal" and adding that returning them for missing content is simply "how the web is supposed to work." Search engines expect content to disappear over time, and a clean error response is the correct, honest way to say a URL no longer resolves.

The tax shows up in three other places instead. First, soft 404s, pages that return a 200 OK while showing no real content, mislead crawlers into repeatedly requesting URLs that will never earn rankings, which chips away at the crawl budget available for pages that could actually rank. Second, redirect chains and loops add latency and processing overhead for every crawler that follows them, human or bot, and each additional hop increases the chance the chain gets abandoned before it resolves. Third, a generic or missing 404 page converts a recoverable visit into a lost one at the exact moment a visitor is already frustrated.

None of this is unique to Google anymore. AI crawlers like GPTBot, PerplexityBot, and ClaudeBot follow the same links, hit the same redirects, and have their own limited crawl allowances. A tangle of broken paths and multi-hop redirects wastes their budget the same way it wastes Googlebot's, which matters if you want your content cited in AI answers as much as ranked in blue links. A systematic technical SEO audit is the fastest way to surface how much of this debt has already accumulated on your site, and our technical SEO product is built to catch it automatically rather than waiting for a quarterly crawl.

404 vs. 410 vs. 301: The Right Status Code for Every Situation

The right status code is decided by one question: what actually happened to this URL? If the content moved permanently to a new URL, use a 301. If the content is gone and you are not certain it is coming back, use a 404. If the content is gone and you know for certain it will not return, use a 410.

Mueller has been explicit that the ranking difference between 404 and 410 is negligible. In a separate Reddit thread on r/SEO, he said "the difference in processing of 404 vs 410 is so minimal that I can't think of any time I'd prefer one over the other for SEO purposes," though he noted a 410 will sometimes fall out of the index a little faster than a 404. The practical implication is that you should stop debating 404 versus 410 for most one-off pages and instead put that energy into making sure the status code actually matches reality, and into never using a 301 as a workaround for content that has not actually moved anywhere.

That last point is where teams get into trouble. Redirecting every dead URL to the homepage or to a loosely related category page, instead of returning a proper 404 or 410, is one of the most common causes of soft 404s, because Google evaluates the destination content against the original URL's intent and frequently decides the "redirect" did not actually resolve anything.

ResponseWhat it tells crawlersBest use caseSEO effect
404 Not FoundThe page is missing right nowContent removed but status is uncertain, or a one-off broken linkDropped from the index over time; no penalty
410 GoneThe page is intentionally, permanently removedDiscontinued products, expired events, retired pages you are certain will not returnTends to fall out of the index a little faster than a 404, though the practical difference is minimal
Soft 404Server says 200 OK, but the page is empty or error-likeNever a deliberate choice; always a bug to fixWastes crawl budget, can suppress good pages, confuses AI crawlers
301 Moved PermanentlyThe content now lives at a new URL, for goodTrue merges, renames, and migrationsPasses the large majority of ranking signals to the new URL
302 Found (temporary)The content moved, but only temporarilyA/B tests, short-term promotions, planned maintenanceSearch engines may keep the original URL indexed rather than transferring signals
Page no longer works as before Content moved to a new URL Removed, might return later Removed for good, will not return 301 Redirect 404 Not Found 410 Gone Never let a removed page quietly return 200 OK. That mismatch is a soft 404.

Match the status code to what actually happened to the page: a genuine move gets a 301, an uncertain removal gets a 404, and a permanent removal gets a 410.

Diagnosing and Fixing Soft 404s Before They Bury Good Pages

A soft 404 is not a status code your server sends. It is a label Google applies after the fact, when a page returns a 200 OK but the content looks empty, broken, or irrelevant to what the URL implies. Google's own page-indexing documentation defines it this way, and the label matters because a soft 404 is invisible in a basic server log check. Everything looks like a healthy 200 response until you check Search Console.

Soft 404s tend to come from a small set of repeat offenders: an out-of-stock or discontinued product page that loads with no real content and no substitute, an internal search or filtered listing page that returns "no results found" with nothing else on it, a near-blank page where client-side JavaScript failed to render, and, ironically, a custom error page template that was built to look helpful but was wired to return a 200 status instead of a true 404. That last one is the most common self-inflicted version, and it means the redesign meant to fix your error experience can accidentally create a site-wide soft 404 problem.

To diagnose soft 404s systematically:

  1. Open Google Search Console, go to the Pages report under Indexing, and look for the "Soft 404" row under "Why pages aren't indexed."
  2. Export the affected URLs and group them by pattern: product pages, search results, category pages, or a shared template.
  3. Run the URL Inspection tool's Live Test on a sample from each group and view the rendered screenshot to see exactly what Google is reading.
  4. For each pattern, decide the correct fix: add substantive content if the page should exist, return a genuine 404 or 410 if it should not, redirect only if a truly equivalent page exists, or add a noindex tag if the page should stay live for users but stay out of the index.
  5. Re-test the fixed URL pattern in the Live Test tool before requesting a broader recrawl, and cross-check server logs to confirm the corrected status code is actually being served, not just rendered.

That last step matters because a template fix on the front end does not always change what the server header actually sends. Pairing Search Console's soft 404 report with log file analysis is the only way to confirm the fix took effect at the protocol level, not just the visual level.

Redirect Chains and Loops: Finding Them and Flattening Them

A redirect chain is a sequence of two or more redirects a crawler or browser must follow before reaching a live page. A redirect loop is the broken version of that pattern, where the chain eventually points back to a URL already in the sequence, so it never resolves at all. Chains accumulate quietly, usually from repeated migrations: a page moves in 2023, moves again during a 2025 redesign, and moves once more during a recent URL restructure, leaving three old URLs each redirecting to the next instead of straight to the current one.

Google's crawlers will follow a chain, but not indefinitely. John Mueller has recommended keeping chains under five hops, and Google's technical documentation confirms Googlebot will follow up to ten redirect hops before giving up and flagging a redirect error in Search Console, at which point the page is excluded from indexing entirely. In practice, even a chain well under that ceiling still costs you: every hop adds latency, adds a request that consumes crawl budget without reaching new content, and adds a point of failure where a single broken link in the chain turns the whole thing into a loop.

Redirect chain (slow, leaky) /old-page /2023-page /staging-page /final-page Flattened redirect (fast, clean) /old-page /final-page

A four-hop redirect chain forces every crawler and visitor through three unnecessary stops before reaching the live page; flattening it to a single 301 preserves speed and signal.

Finding chains requires a crawl, not a spot check. A site crawler that follows redirects and reports the full hop sequence, cross-referenced against Search Console's redirect error report and raw server logs, will surface every chain currently live on the site. Fixing them is mechanical once found: update every redirect rule so it points directly at the current, final URL, never at an intermediate one, and remove any redirect entries that point to another redirect entry in the same rule set. On large sites this is exactly the kind of cleanup that pays off in crawl budget, because every hop you remove is a crawl request freed up for a page that can actually rank. Treat this as a recurring audit, not a one-time cleanup, since new chains form every time a page moves without anyone checking what already redirects to it.

Custom 404 Pages: UX That Recovers the Visitor Google Already Sent You

A generic server or browser error page is a dead end by design. A well-built custom 404 page, by contrast, can meaningfully reduce that loss: customer-experience platform Cludo has found that intelligent, well-designed 404 pages recover an average of 1,510 visitors a month per site, routing them from a broken link to a genuinely relevant page instead of losing them for good. That recovery is not a ranking factor Google measures directly, but it is real revenue and real engaged sessions that a bare "Not Found" message throws away.

The essentials are simple and consistent across every good example in the space:

  • Plain-language messaging that says clearly what happened, without implying the visitor made a mistake.
  • Full site navigation intact, not stripped down, so the visitor is never more than one click from anywhere else on the site.
  • A visible search box, since a mistyped or outdated URL is often trying to reach content that still exists elsewhere on the domain.
  • Links to genuinely useful destinations: popular categories, top content, or the homepage, not a wall of unrelated suggestions.
  • On-brand tone and design, which does the work of reassuring the visitor they are still in the right place and have not been redirected somewhere broken.

One implementation detail gets missed constantly: the custom 404 template itself must still return an HTTP 404 status code. It is easy to build a beautifully designed error page and wire it into the CMS in a way that serves it with a 200 OK, which turns your entire error-handling layer into a soft 404 machine, the exact problem covered earlier in this guide. Test the actual header response on the live 404 page after every redesign, not just the visual output.

Handling Removed, Expired, and Out-of-Stock Pages at Scale

Ecommerce and content sites both generate large volumes of pages that eventually stop being current, and the right handling depends on whether the underlying thing is temporarily unavailable or permanently gone. Conflating the two is what creates most large-scale error problems.

For out-of-stock products that are expected to return, keep the page live with a 200 status, keep the existing content and reviews intact, and add a clear "back in stock" message alongside related or substitute products. That page still has real content and real intent behind it, so removing or redirecting it discards the equity it has already built. For products that are discontinued for good, a 410 is the cleanest signal, paired with a redirect only if a genuinely equivalent current product exists, never a blanket redirect to the parent category just to avoid a 404.

The same logic applies to expired job listings, past events, and retired service pages: temporary absence keeps the page live with honest messaging, permanent removal gets a 410, and a redirect only happens when there is a real destination on the other end. Programmatic and templated pages deserve extra scrutiny here, since a bulk content generation process that produces thousands of near-identical pages will also produce thousands of near-identical soft 404s the moment the underlying data goes stale, unless removal is built into the workflow from the start rather than handled reactively months later.

At scale, this becomes a triage exercise: pull a full inventory of URLs by type and last-updated date, then sort each batch into keep, update, redirect, or remove, and apply the matching status code in bulk rather than page by page. Treating error handling as part of routine content maintenance, instead of an emergency cleanup after a migration, is what keeps the problem from reappearing every quarter.

Building a Redirect Map for Migrations and Large-Scale Changes

Every migration, replatform, or major restructure lives or dies on the quality of its redirect map. The core discipline is a documented one-to-one mapping where every indexed URL on the old site has an explicit destination on the new site, even when that destination is the closest relevant page rather than an exact match.

A working redirect map process looks like this:

  1. Crawl the existing site and export every indexed URL, cross-referenced against Search Console's indexed-pages list so nothing gets missed just because it was not in the crawl's discovery path.
  2. Map each URL to its precise new destination in a spreadsheet or CSV, noting where no exact equivalent exists so those cases get a deliberate decision instead of a default.
  3. Flag any URL that would otherwise chain through an intermediate redirect and point it directly at the final destination before launch.
  4. Implement every mapped redirect as a genuine 301, and confirm no developer substituted a 302 or a client-side JavaScript redirect, which crawlers and users treat very differently from a server-level 301.
  5. Keep the full redirect set active for at least a year after launch, since reindexing and revisit cycles for less-frequently-crawled pages can take months to fully settle.
  6. Monitor Search Console's Coverage and Pages reports weekly in the first month for spikes in soft 404s or "Discovered, currently not indexed," which usually points to a mapping gap rather than a technical failure.

A site migration is the single highest-risk moment for accumulating both soft 404s and redirect chains at once, since old redirects from a prior migration frequently get layered under a new one instead of replaced by it. Auditing what already redirects to a URL before you move it again is the step most teams skip, and the one that causes the multi-hop chains covered earlier in this guide.

A Monitoring Cadence That Keeps Error Debt From Rebuilding

None of this stays fixed without a recurring check. New broken links, new soft 404s, and new redirect chains form continuously as content gets updated, pages get restructured, and old fixes get layered under new ones. The teams that keep error debt near zero treat it as a standing item, not a one-time project.

A practical cadence: review Search Console's Pages report for new soft 404s and 404 spikes weekly, run a full site crawl for redirect chains and loops monthly, and pair both with a log file analysis quarterly to see how crawlers are actually behaving against your error pages, not just how Search Console is reporting them after the fact. Log files will show you crawler hits on URLs that never appear in Search Console at all, including from AI crawlers that do not report through Google's tools. Folding this into a broader technical SEO audit on a regular schedule, rather than only after a traffic drop, is what keeps a redirect and error strategy from quietly decaying back into the mess it started as.

Frequently Asked Questions

Should I use a 404 or a 410 for a deleted page?

Use a 404 when you are not certain the page is gone permanently, and a 410 when you know for sure it will never come back. Google's John Mueller has said the SEO difference between the two is minimal, though a 410 sometimes drops out of the index a little faster. The bigger priority is making sure whichever code you use actually matches reality, rather than defaulting to a redirect out of habit.

What exactly is a soft 404 and why does Google flag it?

A soft 404 is a page that returns a 200 OK status while showing content Google judges to be empty, broken, or irrelevant to the URL, such as an out-of-stock page with no substitute content or a blank search-results page. Google applies this label after evaluating the rendered page, not from the HTTP header alone, which is why it can hide from a basic status-code check and only shows up in Search Console's Pages report.

How many redirect hops is too many?

Google's John Mueller has recommended keeping chains under five hops, and Google's own documentation confirms Googlebot will follow up to ten hops before flagging a redirect error and excluding the page from indexing. In practice, the target should be one hop: every redirect should point straight at its final destination, not at another redirect.

Do 301 redirects lose ranking power?

A properly implemented 301 passes the large majority of ranking signals to the new URL, and Google has said 301s do not carry an inherent SEO penalty. The loss happens when redirects are chained, when a 302 is used for something actually permanent, or when the destination page is not genuinely equivalent to the original, all of which weaken the signal transfer even though the status code itself is correct.

Should out-of-stock ecommerce products return a 404?

No, not if the product is expected to come back. Keep the page live with a 200 status, preserve existing content and reviews, and add clear back-in-stock messaging with related products. Reserve a 404 or 410 for products that are permanently discontinued, and avoid mass-redirecting discontinued products to an unrelated category just to sidestep a 404.

How long should I keep old redirects live after a migration?

Keep the full redirect map active for at least a year after launch. Search engines revisit older or less-frequently-crawled URLs on a slower cycle, and cutting redirects too early can strand any lingering traffic, backlinks, or bookmarks still pointing at the old URLs before they have been fully reindexed under the new ones.

Can a custom 404 page actually help SEO?

A custom 404 page does not directly influence rankings, but it protects the engagement and conversion value of the traffic search engines already sent you. Research from Cludo found that roughly 74 percent of visitors who land on a 404 page with no recovery path leave and never return, while well-designed error pages with real recovery paths route an average of 1,510 visitors a month per site back to relevant content instead of losing them. Just make sure the custom template still returns a true 404 status code, not a 200.

How do I find soft 404s and redirect chains at scale?

Start with Google Search Console's Pages report for soft 404s and its redirect error report for broken chains, then run a full site crawl to map every redirect's complete hop sequence and cross-check server logs to confirm what crawlers actually experience. Doing this as a recurring monthly or quarterly cadence, rather than only after a migration or a traffic drop, is what keeps the problem from silently rebuilding.

Sources