404 vs Soft 404 vs 410: How to Handle Broken and Removed Pages
By Kavi, SEO Consultant · Last updated: 3 September 2026
A 404 means the page was not found and Google will retry it periodically. A 410 means the page is permanently gone and tends to be dropped faster. A soft 404 is a page that says “not found” to users while returning HTTP 200 to crawlers, which is always a bug. Broken internal links waste crawl budget; broken external links waste earned authority.
What is the difference between 404, soft 404, and 410?
| 404 Not Found | 410 Gone | Soft 404 | |
|---|---|---|---|
| HTTP status returned | 404 | 410 | 200 (incorrectly) |
| Meaning | Not found, may return | Permanently removed | Nothing coherent |
| Google’s handling | Retries periodically | Drops sooner | Detects and flags it |
| Correct to use? | Yes, the default | Yes, when deliberate | Never |
| Passes signals | No | No | No |
Having 404s is normal and is not a penalty. Google has been explicit that 404 errors do not harm rankings. The cost is indirect: crawl requests spent on dead URLs, users hitting dead ends, and, where the dead URL had external links, authority that no longer reaches anything. That last point is why this belongs in any technical SEO review.
Quick facts
| Item | Detail |
|---|---|
| Are 404s a ranking penalty? | No |
| Default for missing pages | 404 |
| 410 use case | Deliberate permanent removal |
| Soft 404 cause | Returning 200 for a missing or empty page |
| Worst kind of 404 | One reached from your own internal links |
| Most valuable 404 | One with external backlinks pointing at it |
| Where to find them | Search Console Pages report; server logs; a crawl |
Why does this matter?
Three distinct costs, worth separating because they have different fixes:
- Internal 404s waste crawl requests and send users to dead ends. Fix the link, not the destination.
- External 404s, URLs other sites link to, waste earned authority. Redirect these to the closest relevant page.
- Soft 404s pollute the index with empty pages and confuse Google’s understanding of your site. Fix the status code.
Prioritisation rule I use: sort your 404s by the number of referring domains, not by the number of hits. A dead URL with fifteen referring domains is a genuine asset sitting idle, and a single redirect recovers it. A dead URL with none is just tidy-up. Most 404 reports are read in the wrong order, which is why the valuable ones never get fixed.
When to use 404 versus 410
Use 404 when
- The URL never existed, for example a mistyped link.
- The page might come back.
- You are not certain about the removal.
- It is the default behaviour and you have no reason to override it.
Use 410 when
- You deliberately deleted content and it will not return.
- A product has been permanently discontinued with no successor.
- An expired event or job listing has no equivalent.
- You want the URL dropped from the index sooner.
The practical difference is modest. Google treats both as errors and removes the page; 410 signals more certainty and tends to be processed faster. If choosing between them costs you more than a minute, use 404.
When to redirect instead
Redirect only when a closely equivalent page exists. See 301 vs 302 redirects for the mechanics.
| Situation | Correct response |
|---|---|
| Page moved to a new URL | 301 to the new URL |
| Two articles merged | 301 to the merged article |
| Product discontinued, close successor exists | 301 to the successor |
| Product discontinued, no successor | 404 or 410; consider keeping the page with alternatives |
| Category removed | 301 to the parent category |
| Content deleted, nothing similar | 404 or 410 |
| Old URL has backlinks but no equivalent content | 301 to the most topically related page |
| Anything else | Do not redirect to the homepage |
Mass-redirecting unrelated URLs to the homepage is the single most common bad instinct here. Google treats an irrelevant redirect as a soft 404, so you get the drawbacks of both approaches and the benefits of neither.
Soft 404s: causes and fixes
| Cause | Fix |
|---|---|
| Custom error page returning 200 | Configure the server to return a real 404 |
| JavaScript-rendered “not found” message | Return the status server-side; see JavaScript SEO |
| Empty category or search results page | Return 404 when zero results, or add real content |
| Redirect to an unrelated page | Redirect only to relevant destinations |
| Out-of-stock product with no content | Keep the page with stock status and alternatives |
| Very thin page Google judges valueless | Expand it, merge it, or remove it |
Note the last row. Google sometimes classifies a technically valid page as a soft 404 simply because it judges the content too thin to be useful. That is a content signal wearing a technical label, and the fix is editorial rather than server configuration.
How to find and fix broken links
Step 1: Pull the data from three sources
- Search Console Pages report for what Google has encountered. See Search Console setup.
- A site crawl for internal links pointing at 404s, which tells you where the broken link lives.
- Server logs for the full picture including URLs no crawler would discover. See log file analysis.
Step 2: Separate internal from external
If your own pages link to it, that is an internal 404 and the fix is to correct the link at its source. If only external sites link to it, the fix is a redirect. The two require completely different work, so split the list before doing anything.
Step 3: Fix internal links at the source
Do not redirect your own broken links. Edit the link. A redirect is a permanent patch over a typo, and it adds a hop to every future visit.
Step 4: Redirect valuable external 404s
For each dead URL with referring domains, pick the closest relevant live page and 301 to it, in one hop. Work in descending order of referring domains.
Step 5: Build a useful 404 page
A good 404 page returns a 404 status, says clearly that the page was not found, offers search and navigation, and suggests relevant content. It should not auto-redirect, and it should not be a dead end.
Step 6: Remove dead URLs from your sitemap
404 and 410 URLs must not appear in your XML sitemap. Listing them tells Google you consider them important, which is the opposite of true.
Common mistakes
| Mistake | Consequence | Fix |
|---|---|---|
| Redirecting all 404s to the homepage | Treated as soft 404s; signals lost | Redirect only to relevant pages |
| Custom 404 page returning 200 | Empty pages get indexed | Return a real 404 status |
| Redirecting internal broken links | Papers over the real problem | Fix the link at its source |
| Blocking 404 URLs in robots.txt | Google cannot see they are gone | Leave them crawlable |
| Noindexing instead of returning 404 | Page still crawled indefinitely | Return the correct status |
| Ignoring 404s with backlinks | Wastes earned authority | Sort by referring domains and redirect |
| Trying to reach zero 404s | Wasted effort; some are unavoidable | Fix what matters, accept the rest |
| 404 URLs left in the sitemap | Contradictory signals | Regenerate the sitemap |
Decision guide
- Equivalent page exists: 301 redirect.
- No equivalent, might return: 404.
- No equivalent, permanently gone: 410.
- Page exists but is empty: add content, or return 404. Never 200 with nothing on it.
- Out of stock temporarily: keep the page live with stock status.
- Broken link on your own site: fix the link, do not redirect.
- Dead URL with strong backlinks: 301 to the most relevant page you have.
Checklist
- Custom 404 page returns an actual 404 status code
- 404 page offers search, navigation, and suggestions
- No auto-redirect from the 404 page
- Internal broken links fixed at source, not redirected
- 404s sorted by referring domains and the valuable ones redirected
- All redirects go to relevant pages, never blanket to the homepage
- Soft 404 count in Search Console is near zero
- Empty result pages return 404 rather than 200
- 410 used for deliberate permanent removals
- No 404 or 410 URLs in the sitemap
- 404 URLs not blocked in robots.txt
- Broken link check scheduled quarterly
Frequently asked questions
Do 404 errors hurt SEO?
No. Google has stated that 404s are a normal part of the web and do not damage rankings. The real costs are wasted crawling, poor user experience, and lost link value where the URL had backlinks.
Should I redirect all my 404s?
No. Redirect only where a closely relevant destination exists. Irrelevant redirects are treated as soft 404s and achieve nothing.
Is 410 better than 404?
Only when you are certain the page is permanently gone, and the difference is modest: Google tends to drop 410 URLs somewhat faster. When in doubt, 404 is the safe default.
Why does Search Console report soft 404s on pages that exist?
Usually because Google judges the content too thin or empty to be a real page, or because the page returns 200 while displaying an error. Check both the status code and the content quality.
How do I handle out-of-stock products?
Keep the page live, mark it out of stock, and link to alternatives. Removing or redirecting it discards the rankings and links it has accumulated, which you will want back when it returns.
How often should I check for broken links?
Quarterly for most sites, and always after a migration, a redesign, or a bulk content deletion.
What status should an expired job or event return?
410 if it is genuinely finished with no successor. If a similar current listing exists, 301 to it. Many job sites keep the page live with an “expired” notice and links to similar roles, which is often the best of both.
Key takeaways
- 404s are normal and are not a ranking penalty.
- 404 means not found; 410 means deliberately and permanently gone.
- Soft 404s are always a bug: the status code and the content disagree.
- Prioritise 404s by referring domains, not by hit count.
- Fix internal broken links at the source; never redirect them.
- Never mass-redirect unrelated URLs to the homepage.
- Zero 404s is not the goal and is not achievable.
Conclusion
Broken pages are only a problem when they waste something. Sort your dead URLs by referring domains, redirect the handful that carry real external authority, fix your own broken links where they are written, and make sure every page that says “not found” actually returns 404. Everything else on the list can wait.
Related articles
- Technical SEO guide
- 301 vs 302 redirects
- How to do a technical SEO audit
- Crawl budget explained
- Log file analysis for SEO