Not Found (404)
What "Not found (404)" means in Google Search Console's Page Indexing report — why Google found URLs you never submitted, why 404s usually don't hurt SEO, and the small set of 404s that are actually worth fixing.
"Not found (404)" in Google Search Console's Page Indexing report means Googlebot requested a URL Google says it discovered on its own — via a link, or a page that used to exist, not from an explicit request from you — and got a 404, so it isn't indexed. That's a description of how Google found the URL, not proof it's absent from your current sitemap. A correctly-returned 404 usually isn't a sitewide problem — Google's own crawl documentation says 4xx statuses other than 429 don't affect crawl rate — but a 404 on a URL that should work (linked, in a sitemap, with backlinks, or with traffic) still costs you broken links, lost equity, or lost users, so fix those by restoring the page or 301-redirecting it to a genuinely relevant live page (the ones with inbound links are the priority, to recover the equity). Leave genuinely-gone pages as 404 (or 410, which in my own experience tends to drop a touch faster, though Google treats 4xx codes other than 429 the same). Don't mass-redirect everything to the homepage — that gets treated as a soft 404.
TL;DR — “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404)” in Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. means Google asked your server for a page and got a “not found” answer, so it didn’t indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. it. Google found the URL on its own — usually from a link somewhere, or because the page used to exist — which describes how it was discovered, not proof it’s missing from your current sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.. This is normal and usually fine, but only for URLs that are actually supposed to be gone. You only need to fix it if the URL should work, in which case you bring the page back or redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. it to the right replacement.
What “Not found (404)” means
This label means Google received an HTTP 404 when requesting the URL. Evidence for this claim Google reports Not found 404 when the page returned a 404 response when requested. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Google treats persistent 4xx responses other than 429429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content. as if the content does not exist. Evidence for this claim Google treats 4xx responses other than 429 as if content does not exist and removes persistently returning URLs from the index. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes
Open the Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. report in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. and you’ll see a list of reasons pages aren’t indexed. “Not found (404)” is one of them. It means GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. requested the URL, and your server replied with an HTTP 404 (Not Found) — the standard “this page doesn’t exist” response. Because the page returned a 404, Google didn’t index it.
The part that surprises people: Google says it found this URL without an explicit request from you. That describes how Google discovered it — usually one of two places below — not a guarantee it’s missing from your current sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.. If the same URL is still sitting in a sitemap you submit, that’s a separate, fixable problem (a stale sitemap entry), not a contradiction of what the report is telling you:
- A link. Something on the web links to that URL — one of your own pages, or a page on another site — and Google followed the link.
- A page that used to exist. The URL was live and indexed before, then you deleted it or changed the URL. Google still remembers it and re-checks it.
Do 404s hurt my SEO?
This is the question everyone really wants answered, so here it is up front: no, not automatically. 404s are a normal part of how the web works. Pages get removed, URLs change, and other sites occasionally link to addresses that never existed. A page returning 404 when it’s genuinely gone is the correct behavior — Google’s own documentation says 4xx responses other than 429 don’t affect your site’s crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor., and a correct 404 isn’t a penalty on the rest of your site.
That “correct” label only applies to URLs that are actually supposed to be gone, though. A 404 on a page you still link to, that’s sitting in your sitemap, or that other sites still link to isn’t harmless just because it’s technically valid — it’s a broken link, lost link equity, or a visitor hitting a dead end. So for genuinely dead pages with nothing pointing at them, “Not found (404)” in your report is nothing to panic about. For the rest, it’s worth a look — see the next section.
When a 404 is actually worth fixing
The 404s worth your attention are the ones for URLs that should work:
- A page you still link to from your own navigation or content (a broken internal link).
- A URL that’s in your sitemap (it shouldn’t be — sitemaps are for live, indexable pages).
- A page that other sites link to (you’d be wasting those links).
- A URL that still gets traffic or that people clearly meant to reach.
For those, you have two good options:
- Bring the page back if it was deleted by mistake.
- Redirect it to the most relevant live page (a 301 redirectA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank.). This sends visitors somewhere useful and, importantly, passes along the value of any links pointing at the old URL.
One thing not to do: don’t redirect every dead URL to your homepage. Google treats an irrelevant redirect like that as a “soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing.” — which is its own problem. Redirect to a genuinely related page, or just let it 404.
Want the full version — 404 vs 410 vs 301 vs noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed., how to find what’s linking to a 404, and how long these linger in the report? Switch to the Advanced tab.
TL;DR — “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404)” means GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. requested a URL Google describes as discovered on its own — a link, or a previously-indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. page — not through an explicit request from you, and got a 404, so it’s not indexed. That description explains the original discovery, not proof the URL is absent from your current sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.. 404s are a normal part of the web, and Google’s own documentation says 4xx responses other than 429429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content. don’t affect crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor.; a 404 for a removed page with no replacement is correct and isn’t a sitewide penalty — but a 404 on a URL that should exist (linked internally, in a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., with backlinks, or with traffic) still costs you broken links, lost equity, or lost users. For those: restore the page, or 301 it to a genuinely relevant live page — prioritizing the ones with inbound links to recover equity. Leave the rest as 404. In my own experience 410 tends to drop a touch faster, though Google treats 4xx codes other than 429 the same. Don’t mass-redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. to the homepage (soft-404 risk). GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. keeps re-checking old 404s with decreasing frequency, which is why they linger in the report — that’s normal, not a penalty.
What Google is actually telling you
The report states the observed 404; it does not by itself explain which link, historic URL, or application route produced it. Evidence for this claim Google reports Not found 404 when the page returned a 404 response when requested. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Google’s general 4xx documentation describes the indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. behavior. Evidence for this claim Google treats 4xx responses other than 429 as if content does not exist and removes persistently returning URLs from the index. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes
Google’s definition of this status is short: “This page returned a 404 error404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often). when requested.” The surrounding context is the part that matters — Google discovered the URL without any explicit request or sitemap from you. That’s what separates “Not found (404)” from the indexing errors you submitted yourself.
That sentence describes how Google originally found the URL — it’s not a claim that the URL has never appeared in, or isn’t currently sitting in, one of your sitemaps. If you check a live sitemap and the same URL is still listed there, that’s a real (and separate) problem worth fixing — a stale sitemap entry — not a contradiction of what the report is telling you about discovery.
So the URL came from one of these:
- An internal or external link. Google extracts links as it crawls. A typo’d internal linkAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., an old link on someone else’s site, or a link in a comment can all point Googlebot at a URL that 404s.
- A previously-indexed page you deleted or whose URL you changed. Google remembers URLs it has seen and re-requests them for a long time.
- Scraped, malformed, or fabricated URLs. Other sites sometimes mangle your URLs, append junk, or invent paths. Google may try them. None of that is your fault, and none of it requires action.
That last point is worth internalizing: finding a 404 in this report does not mean you did something wrong. Google discoversGoogle Discover is a personalized, mobile-first content feed built into the Google app, Chrome's mobile New Tab page, and google.com that surfaces articles and videos based on a user's interests and activity — not a response to a search query. There's nothing to 'rank' for in the traditional sense; eligibility is governed by Discover's content policies plus the same helpful-content, image, and page-experience signals Google Search already uses. URLs from all over the web.
Does “Not found (404)” hurt SEO? (the verdict first)
No — not automatically, and this is the single biggest misconception about the report. 404s are how the web is supposed to work when content is gone, and Google’s own crawl documentation says 4xx status codes other than 429 have no effect on a site’s crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor.. A correctly-returned 404 on a genuinely gone page is not a sitewide penalty.
That’s a narrower claim than “404s never matter,” though. A 404 doesn’t drag down the rest of your site by itself, but a 404 on a URL that should work — one with internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., external backlinks, or real traffic — still costs you something concrete: a broken link, lost link equity, or a visitor hitting a dead end. The report itself isn’t the problem; leaving the 404s that shouldn’t exist unfixed is.
This matches my own read of HTTP status codesAn HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index. generally: 4xx responses cause the specific page to drop out of the index, but that’s the page going away cleanly — not a penalty applied to your domain. The page that 404s simply isn’t in the index anymore; everything else is unaffected.
Google’s own help docs make the same point about indexing in general: it’s fine for a URL not to be indexed for the right reasons, and “a 404 for a page that you’ve removed and have no replacement for” is explicitly one of those right reasons. A 404 on a genuinely-dead page is the correct end state, not a to-do.
What Google does with a 404 internally
From Google’s HTTP-status documentation, the mechanics are clean: for a previously-indexed URL, the indexing pipeline removes it from the index. Newly encountered 404s simply aren’t processed — there’s nothing to index. And Googlebot doesn’t forget the URL immediately: it keeps re-requesting it, with the crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. frequency gradually decreasing over time.
That re-checking behavior is why old 404s keep appearing in your report long after you’ve dealt with them. Google is periodically confirming the page is still gone, in case it comes back. It’s not a sign of a problem, and it’s not wasting a meaningful amount of crawl budgetThe number of URLs an engine will crawl in a timeframe. on a normal-sized site.
When a 404 is worth fixing — and when it isn’t
The decision rule is simple: fix the 404 only if the URL should exist. The signals that a URL “should exist”:
- You link to it internally (a broken link in your nav, content, or footer).
- It’s in your sitemap (it shouldn’t be — sitemaps should list only live, indexable URLs).
- It has external backlinks pointing at it.
- It still gets traffic, or clearly matches something people are looking for.
If none of those are true — the page is genuinely gone and nothing of value points at it — leave it as a 404. That’s the correct response and there’s nothing to do.
How to fix the ones that matter
For URLs that should resolve, you have a short menu:
- Restore the page if it was removed by mistake or you have equivalent content to put back.
- 301 redirectA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. it to the most relevant live page. This is the usual move for a removed page that has a sensible replacement. As I’ve put it before about pages showing up as 4xx: more than likely you just need to 301 redirect each of these to a relevant page. The redirect sends users somewhere useful and passes the ranking value of any links along to the new URL.
- Leave it as a 404 (or use 410) when the page is genuinely gone and has no good replacement. This is not a failure — it’s the right answer.
Prioritize by inbound links. The highest-value 404s are the ones with external backlinks, because a dead URL with links is leaking equity that you could recover with a single redirect to a relevant page. Pull the 404 URLs that have backlinks (a backlink tool or your link report will show these), and 301 those first. A 404 with no links and no traffic can simply stay a 404 — redirecting it accomplishes nothing.
Don’t redirect everything to the homepage. A redirect to an unrelated page —
classically, dumping every dead URL onto / — gets treated as a soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. by
Google, because the destination isn’t a real replacement for what was requested.
Redirect to a relevant page or don’t redirect at all.
404 vs 410 vs 301 vs noindex
These get muddled constantly. The full decision table is in the Cheat Sheets tab; the short version:
- 404 (Not Found) / 410 (Gone) — the page doesn’t exist. Both drop the URL from the index, and Google’s own documentation says it treats 4xx status codes (other than 429) the same. In my own practitioner experience, 410 tends to drop a touch faster, but the difference is minimal either way. Use 410 if you want to signal “this is never coming back”; 404 is otherwise completely fine.
- 301 (Moved Permanently) — the content moved; consolidate signals onto the new URL. This is the tool for a removed page that has a relevant replacement.
- noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. — the page exists and should stay live, but you don’t want it in search. Different tool for a different goal — don’t reach for it on a page that’s genuinely gone.
On 404 vs 410 specifically, my own framing has been that 404s and 410s get a similar treatment — both drop pages from the index, and in my own experience 410s go a little faster, even though Google’s documentation treats 4xx codes (other than 429) identically. So don’t agonize over the choice; pick 410 for “gone forever,” 404 for everything else, and move on.
How to find what’s linking to a 404
To fix a 404 (or decide whether to bother), find what points at it:
- In GSC: open the “Not found (404)” status, click an example URL, and check Referring page under Discovery. Treat it as one possible clue, not a complete link inventory — Google describes it as a page it possibly used to discover the URL, which can be a direct link, a higher-level page the link was found through, or simply absent if the information isn’t available. Pair it with the methods below rather than stopping there.
- With a crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. / site audit: Ahrefs Site Audit or Screaming Frog will list your broken internal links — the in-house 404s you can fix directly by editing the link.
- With a backlinks tool: check broken backlinks to find dead URLs on your site that external sites link to. These are your 301 priorities.
- In server logs: the ground truth for which URLs are being requested and what status codes they return at scale.
The response is only the first fact; the right action depends on whether a useful replacement exists and what still links to the URL.
Check the affected URL list and export the non-200 results with my free HTTP Status Checker Free
- Confirm the final status for every affected URL.
- Restore URLs that should exist; redirect only when a close replacement exists.
- Rerun the same list after changing links or redirects.
The result shows one tested URL returning HTTP 404, grouped in the 4xx filter and labeled as a broken link. The follow-up action remains contextual: confirm whether the page should exist or has a relevant replacement before changing the response.
Validate the fix and what to expect
Once you’ve restored or redirected the URLs that should exist, you can hit Validate Fix in the Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason.. It’s optional, not required — Google says it can pick up a correction on its own the next time it crawls the page, whether or not you validate. Hitting Validate Fix just lets you track that review as it happens; it doesn’t come with a guaranteed timeline or a promise of faster reprocessing. Don’t expect the count to drop to zero right away either way: Google re-crawls 404s on a tapering schedule, so even correctly-handled URLs can linger in the report for a while. That lingering is the re-check behavior, not a sign the fix didn’t take, and there’s no fixed point at which Google guarantees it’s done. (And there’s no reason to validate a 404 that’s genuinely correct just to try to make it disappear from the report — validation is for confirming a fix, not for dismissing a working 404.)
For very large sites generating mass bogus 404s (millions of junk URLs from a broken template or a spider trapA spider trap (also called a crawler trap) is a site structure that generates an effectively infinite number of URLs — from faceted filters, calendars, session IDs, or redirect loops — so crawlers waste their budget on low-value, near-duplicate pages instead of your real content.), crawl efficiency becomes a real concern and you’ll want pattern-based fixes rather than one-by-one work — but for typical sites, the crawl-budget cost of 404s is negligible.
Where this sits among its siblings
“Not found (404)” is the clean case: the server correctly said “not found.” Its
neighbors in the Page Indexing report are different situations — don’t conflate
them. A soft 404 is a not-found message served with a 200 (or an
irrelevant redirect), which Google flags separately. Blocked due to other 4xx
issue covers 401/403 and the rest of the 4xx family. Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\" is a
broken redirect, distinct from the normal “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\")..” And
server error (5xx) means the server failed, not that the page is gone. The
fixes diverge, so identify which status you’re actually looking at first.
For the report as a whole, see the GSC Page Indexing hub; for the underlying mechanics of how bots request URLs in the first place, see crawling.
AI summary
A condensed take on the Advanced version:
- What it means: GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. requested a URL Google describes as discovered on its own — a link, or a previously-indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. page — not through an explicit request from you, and got an HTTP 404, so the page isn’t indexed. Google’s definition: “This page returned a 404 error404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often). when requested.” That’s a description of discovery, not proof the URL is missing from your current sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — a URL that’s still listed there is a separate problem worth fixing.
- Where the URL came from: internal/external links, pages you deleted or renamed, or scraped/malformed/fabricated URLs from elsewhere. Finding a 404 here doesn’t mean you did something wrong.
- SEO impact: not automatic. Google’s own documentation says 4xx statuses other than 429429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content. don’t affect crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor., and a correctly-returned 404 for a removed page with no replacement is not a sitewide penalty. But a 404 on a URL that should work — linked, in a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., with backlinks, or with traffic — still costs broken links, lost equity, or lost users.
- What Google does: removes a previously-indexed URL from the index; doesn’t process newly-foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. 404s; keeps re-checking the URL with decreasing frequency — which is why old 404s linger in the report (normal, not a penalty).
- When to fix: only URLs that should exist — linked internally, in a sitemap, with backlinks, or with traffic.
- How to fix: restore the page, or 301 it to a genuinely relevant live page. Prioritize 404s with inbound links to recover equity. Leave genuinely-gone pages as 404 (or 410, which Google treats the same as 404 in its own documentation, though in practitioner experience it tends to drop a touch faster).
- Don’t: mass-redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. everything to the homepage — irrelevant redirects get treated as soft 404sA soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing..
- 404 vs 410 vs 301 vs noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.: 404/410 = gone (both drop from index); 301 = moved (consolidate onto a replacement); noindex = keep the page live but out of search.
- Find the links via GSC “Referring page” (one possible clue, not a complete link list), a crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. (broken internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them.), a backlinks tool (broken backlinks), or server logs. Validate Fix is optional — Google can detect a correction without it, and neither path has a guaranteed timeline.
Official documentation
Primary-source documentation from the search engines.
- Page indexing report — the report this status lives in, including the “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404)” definition and the “it’s fine for a URL not to be indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. for the right reasons” guidance.
- HTTP status codes, network errors, and DNS errors — how Google handles 4xx: removing previously-indexed URLs, not processing newly-found 404s, and the gradually-decreasing crawl frequencyCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial..
- Redirects and Google Search — how to set up the 301 redirectsA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. you’ll use to send the 404s that should exist to relevant live pages.
- How to remove a page from search (block indexing) — when you want a live page out of search (noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.), which is a different goal from a 404.
Bing / Microsoft
- Bing Webmaster Tools — Site Explorer & URL inspection — Bing’s crawl information surfaces 404s the same way; the handling guidance aligns with Google’s (fix the ones that matter, let genuine dead pages 404).
Quotes from the source
On-the-record statements from Google. Each link is a deep link that jumps to the quoted passage on the source page.
Google — the “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404)” definition
- “This page returned a 404 error404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often). when requested.” — Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Help, Page indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason.. Jump to quote
Google — it’s fine for a URL not to be indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.
- “It’s fine for a URL not to be indexed for the right reasons—for example, an expected robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. rule on your site, a noindex tagNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. on the page, a duplicate URL, or a 404 for a page that you’ve removed and have no replacement for.” — Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Help, Page indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason.. Jump to quote
Google — how 4xx is handled in indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.
- “In the case of Google Search, the indexing pipeline removes the URL from the index if it was previously indexed. Newly encountered 404 pages aren’t processed.” — Google Search Central, HTTP status codesAn HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index. documentation. Jump to quote
- “The crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. frequency gradually decreases.” — Google Search Central, HTTP status codesAn HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index. documentation. Jump to quote
404, 4xx) in places; the wording above is reproduced verbatim with that formatting normalized. Rep statements on 404 vs 410 (e.g. John Mueller’s remarks that the processing difference is minimal and that 404s aren’t a negative SEO signal) circulate via Reddit/LinkedIn and secondary coverage; I’ve paraphrased those in the article rather than quoting them, pending confirmation against the live sources. The mental models
1. Discovered ≠ submitted. “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404)” specifically means Google found the URL on its own — a link, an old indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. page, a mangled URL from another site — not from your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.. So the first question isn’t “how do I fix it” but “should this URL even exist?”
2. 404 is the correct answer for a dead page. A 404 isn’t an error to eliminate; it’s the right HTTP response when content is gone. It’s not a quality signal and not a ranking signal. The goal is accuracy — have URLs return what’s actually true — not a zero count in the report.
3. Fix only what should exist. Run every 404 through one test: is it linked internally, in a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., backed by external links, or still getting traffic? Yes → restore or 301 to a relevant page. No → leave it as a 404. This one rule resolves most of the report.
4. Recover equity before you recover URLs. Among the 404s worth fixing, the ones with inbound external links come first — a 301 to a relevant page reclaims that link value. A 404 with no links and no traffic is fine to leave alone; redirecting it gains you nothing.
5. Relevant redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. or no redirect. A 301 only helps when it lands on a genuinely related page. An irrelevant redirect (everything → homepage) gets treated as a soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing.. When there’s no good destination, the right move is to keep the 404, not to invent one.
Triaging your “Not found (404)” list
Work the report top to bottom:
- Open the “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404)” status in the Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. and review the example URLs.
- For each URL, click in and check Referring page under Discovery — a possible clue to where Google found the link, not a guaranteed complete inventory.
- Flag any URL that is linked internally — fix the broken internal linkAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. at the source (this is the cleanest win).
- Flag any URL that is in your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — it shouldn’t be; remove it or restore the page.
- Pull the 404 URLs that have external backlinks (broken-backlinks report) — these are your 301 priorities to recover equity.
- Check which 404s still receive traffic or clearly match user intent.
- For each “should exist” URL: restore the page, or 301 it to a genuinely relevant live page (not the homepage).
- Leave genuinely-gone URLs with no links/traffic as 404 (or 410 if you want a slightly faster drop).
- Confirm no live redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. dump unrelated URLs onto
/(soft-404 risk). - Optionally hit Validate Fix (Google can also pick up a real fix on its own) — then expect a slow taper, not an instant zero, with no fixed timeline.
- Confirm you’re triaging the right status (not soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing., other 4xx, redirect error, or 5xx — the fixes differ).
Playbook: respond to a sudden 404 spike
- Confirm the spike is real. Compare Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. examples with a live crawl or server responses; reports can lag behind current behavior.
- Group by cause and template. Look for a deployment, URL-pattern change, internal-link bug, deleted section, or malformed generated URL rather than fixing rows individually.
- Prioritize URLs with value. Restore or redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. URLs that should exist, have meaningful backlinks or traffic, or remain in internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. and sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing..
- Leave legitimate removals alone. A truly gone URL with no replacement should
keep returning
404or410; do not redirect it to an irrelevant page. - Repair the source. Update templates, internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., and sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. generation so they stop producing or promoting the broken pattern.
- Validate and watch recurrence. Test representative URLs and monitor the pattern. Exit when valuable URLs resolve correctly and newly discovered 404s return to the expected baseline.
404 cheat sheets
Which response for which situation
| Situation | Use | Page stays live? | Drops from indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.? | Notes |
|---|---|---|---|---|
| Page genuinely gone, no replacement | 404 (Not FoundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore.) | No | Yes (over time) | The correct default; no action needed |
| Page gone for good, never coming back | 410 (Gone) | No | Yes (a touch faster, in practitioner experience) | Google’s own docs treat 4xx codes the same |
| Page moved / has a relevant replacement | 301 (Moved Permanently) | No (moved) | Consolidates onto target | RedirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. to a relevant page, recovers link equityPageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems. |
| Page deleted by mistake | Restore it | Yes | n/a | Bring the content back |
| Page should stay live but out of search | noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. | Yes | Yes | Different goal — not for dead pages |
| Dead URL → unrelated page (e.g. homepage) | Avoid | — | — | Treated as a soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. |
Should I fix this 404? — decision flow
| Is the URL… | Then |
|---|---|
| Linked from your own pages? | Fix the internal linkAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., or 301 to the right page |
| In your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.? | Remove it or restore the page |
| Linked by external sites? | 301 to a relevant page (priority — recovers equity) |
| Still getting traffic / clearly intended? | Restore or 301 to the best match |
| None of the above (genuinely gone)? | Leave it as a 404 — nothing to do |
Fast facts
- “Not found (404)” = Google describes finding the URL without an explicit request from you — that’s how it was discovered, not proof it’s absent from your current sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing..
- A correctly-returned 404 is not automatically a sitewide quality or ranking penalty — but a 404 on a URL that should work still costs links, traffic, or users.
- Google removes a previously-indexed URL on 404; doesn’t process new 404s.
- GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. keeps re-checking old 404s with decreasing frequency → they linger.
- 404 vs 410: Google’s docs treat 4xx codes (except 429) the same; in practitioner experience 410 drops a touch faster.
- Don’t redirect everything to the homepage → soft 404.
- Crawl-budget cost of 404s is negligible except on very large sites with mass bogus URLs.
Common issues
The 404 count suddenly spikes in the Page Indexing report
Likely cause: a broken template is generating junk URLs (bad paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does. parameters, a faceted-nav bug, session IDs leaking into links), a spider trapA spider trap (also called a crawler trap) is a site structure that generates an effectively infinite number of URLs — from faceted filters, calendars, session IDs, or redirect loops — so crawlers waste their budget on low-value, near-duplicate pages instead of your real content., or another site is scraping and mangling your URLs. Fix: pull a sample of the new 404 URLs and look for a shared pattern (a query parameter, a path prefix). If it’s your own template, fix the code generating the bad links. Check via server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. or /tools/log-file-analyzer to confirm the pattern and see whether it’s real crawl volume or just a handful of examples.
You fixed a URL but it still shows “Not found (404)” weeks later
Likely cause: GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. re-checks 404s on a tapering schedule, so the report count lags behind the actual fix — this is expected, not a sign the fix failed. Fix: confirm the live URL is actually returning the right status now (200 if restored, 301 if redirected) using curl -I or /tools/http-status-checker. You can optionally hit Validate Fix in GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — it’s not required, since Google can also pick up a correction on its own — and expect the count to taper down gradually rather than drop instantly, with no fixed timeline for when it clears.
A removed URL shows up as “soft 404” instead of “Not found (404)”
Likely cause: the page is returning HTTP 200HTTP 200 OK is the standard 2xx success status code, meaning the server received, understood, and fulfilled the request and is returning the resource. It's the code every page you want indexed should return — but a 200 alone doesn't guarantee Google will index the page. with a “not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore.”-looking message instead of an actual 404/410 status, or it’s redirecting to an irrelevant page. Fix: check the response code with curl -I or /tools/http-status-checker — if it’s a 200, configure the server (or CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms.) to return a real 404/410 for that path instead of a soft error page.
A 301 you set up shows as “soft 404” for the destination
Likely cause: the destination page isn’t a genuine replacement for what was requested — Google reads a mismatched redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. target the same way it reads an irrelevant one. Fix: re-check the target with /tools/redirect-checker and point the 301 at a page that actually matches the original URL’s topic, not the nearest category page or the homepage.
The report lists a URL you never created or linked to
Likely cause: a scraped, malformed, or fabricated URL from another site, or a page from years ago that Google still remembers and periodically re-checks. Fix: click the URL in the report and check Referring page under Discovery — a possible clue, not a guaranteed source, since Google may not have that data available. If it’s external and clearly mangled, no action is needed — it isn’t something you broke.
Scripts and snippets
Check a URL’s live status (macOS/Linux)
Confirm what status code a URL is actually returning before you decide whether it needs fixing:
curl -I https://example.com/old-pageLook at the first line of the response (e.g. HTTP/2 404 or HTTP/2 301).
If it’s a redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., curl shows the location: header with the destination.
Check a URL’s live status (PowerShell)
$response = Invoke-WebRequest -Uri "https://example.com/old-page" -Method Head -UseBasicParsing
$response.StatusCodeAdd -MaximumRedirection 0 if you want to see the raw 301/302 without
PowerShell following it automatically.
Grep server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. for 404 hits (regex)
Run this against an Apache/Nginx “combined” format access log to pull every request that returned a 404:
grep -oP '"\S+ \K\S+(?=.*" 404 )' access.logCapture-group breakdown: "\S+ \K skips past the HTTP method (GET/POST) and
discards it from the match; \S+ captures the requested path; the lookahead
(?=.*" 404 ) requires that the rest of the log line contains a 404 status
before matching. The output is a plain list of the URLs that 404’d — pipe it
through sort | uniq -c | sort -rn to rank them by frequency.
DevTools Console — check status without leaving the page
Paste into the Console panel to check a specific URL’s status from the browser you’re already in:
fetch("https://example.com/old-page", {method: "HEAD"}).then(r => console.log(r.status, r.url));Bookmarklet — check the current page’s status
Drag this into your bookmarks bar (it’s a bookmarklet — click it while on any page to check that page’s own response status):
javascript:(function(){fetch(location.href,{method:"HEAD"}).then(function(r){alert(r.status+" "+r.url);});})(); Patrick's relevant free tools
- Website Down Checker — Check whether one URL or a small sample is reachable right now from one Cloudflare location, with response timing, redirects, DNS fallback evidence, and connection-status details.
- Google Index Checker — Check one URL’s observable indexability blockers, or reconcile sitemap, crawl, and supplied Search Console evidence across a URL set before verifying Google’s actual state in URL Inspection.
- Canonicalization Checker — Audit HTML and HTTP canonical signals, test the canonical target, and identify observable conflicts that can cause Google to choose a different URL.
Tools for finding and fixing 404s
This site’s tools
- /tools/http-status-checker — check the live HTTP status of any URL before deciding whether it needs a redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., a restore, or nothing at all.
- /tools/redirect-checker — confirm a 301 you set up actually resolves in a single hop to the intended destination, with no chains or loops.
- /tools/log-file-analyzer — parse server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. to see the actual URLs GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. is hitting that return 404s, and at what frequency.
- /tools/site-audit-lite — crawl your own site to surface broken internal links (the 404s you can fix directly by editing the link at the source).
Third-party tools
- Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — the Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. itself; open a “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404)” example and use the Referring pages view to see what linked to it, and Validate Fix once you’ve made a change.
- Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. — the equivalent crawl-error surface for Bing.
- Ahrefs or Screaming Frog — full-site crawls that list broken internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., and backlink reports that surface broken backlinks (external sites linking to a dead URL on your site) — your priority list for 301s.
Validating a 404 fix
Run these after restoring or redirecting a URL that should exist, to confirm the fix actually took effect rather than just assuming it did.
Live status check on the fixed URL
Test to run: curl -I on the URL, or /tools/http-status-checker.
Expected result: 200 if you restored the page, or a 301 to the correct
destination if you redirected it. Failure interpretation: still 404, a
5xx, or a redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. pointing at the wrong page means the fix didn’t actually
deploy. Monitoring window: immediate. Rollback trigger: wrong status
or wrong destination — fix the server rule and re-check before moving on.
Redirect path check
Test to run: /tools/redirect-checker on the old URL. Expected result: a single-hop 301 landing directly on the relevant live page — no chain, no loop. Failure interpretation: multiple hops, a loop, or landing on an unrelated page (soft-404 risk). Monitoring window: immediate. Rollback trigger: any chain, loop, or irrelevant destination — correct the redirect rule.
GSC Validate Fix
Test to run: in the Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason., open “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404)” and hit Validate Fix (optional — Google can also detect a real correction on its own without it). Expected result: status moves through “Validation started” to “Passed,” and the affected URL count tapers down. Failure interpretation: validation fails, or the count doesn’t move over an extended period — re-check that the live URL is actually fixed and that nothing still links to the old one. Monitoring window: ongoing, with no fixed completion date (Google re-checks 404s on a tapering schedule, not instantly, and gives no guaranteed timeline). Rollback trigger: repeated validation failure — re-verify the fix at the server level.
Crawl behavior in server logs
Test to run: /tools/log-file-analyzer on requests to the old URL. Expected result: GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.’s hits on the old URL taper off over time while requests shift to the new URL. Failure interpretation: GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. keeps hitting the old URL at an unchanged rate well after the change, suggesting it hasn’t picked up the redirect (or something still links to the old URL directly). Monitoring window: ongoing, over an extended period (crawl frequency decreases gradually, per Google’s own documentation, with no fixed schedule). Rollback trigger: no tapering after an extended period — confirm the redirect is server-side (not a JS or meta-refresh redirect) and audit for lingering internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. to the old URL.
Quiz
Five questions to check what actually sticks about “Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404).”
Not found (404)
A Google Search Console Page Indexing status meaning Googlebot requested a URL it says it discovered on its own — not proof it's absent from your current sitemap — and got a 404 Not Found, so the page isn't indexed. Usually fine unless the URL should still exist.
Parent concept: Page Indexing report · Related: Blocked due to other 4xx issue, Redirect error, Crawling
Not found (404)
Not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. (404) is a status in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’s Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason., under “Why pages aren’t indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..” It means GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. requested the URL and the server returned an HTTP 404 (Not Found), so the page wasn’t indexed. The defining detail: Google says it discovered this URL without any explicit request or sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. from you. That describes how Google found the URL — not proof it has never appeared in, or isn’t currently sitting in, one of your sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.; a URL still listed in a live sitemap is a separate, fixable problem. Google usually found it as a link from another page (yours or someone else’s), or it’s a page that existed before and was deleted.
A “Not found (404)” status is not necessarily a problem. 404s are a normal part of the web, and Google’s own crawl documentation says 4xx statuses other than 429429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content. don’t affect a site’s crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor. — a correctly-returned 404 isn’t a sitewide penalty. A 404 for a page you removed and won’t replace is the correct outcome, not an error to chase. But a 404 on a URL that should still work — one that’s linked, in a sitemap, or has backlinks — still costs you something (a broken link, lost equity, a lost visitor), so it’s worth diagnosing rather than dismissing on sight.
It only needs fixing when the URL is one that should exist — ones you link to internally, list in a sitemap, that have external backlinks, or that still get traffic. For those, restore the page or 301 redirectA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. it to the most relevant live page. Genuinely-gone pages should keep returning 404 (or 410). This is distinct from its siblings: “Blocked due to other 4xx issueA Google Search Console Page Indexing status: Googlebot got a 4xx client error not covered by another issue type (e.g. 400, 405, 410, 429, 451) when crawling the URL, so the page can't be indexed.” (401/403/other 4xx), “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” (a broken redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.), and “Soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing.” (a not-found message served with a 200).
Parent concept: Page Indexing report · Related: Blocked due to other 4xx issue, Redirect error, Crawling
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Bounded four overstated claims flagged by the 2026-07-16 research refresh: reconciled the 'discovered without a sitemap' opening with the article's own current-sitemap diagnosis, qualified URL Inspection's Referring page as one possible discovery clue rather than a complete link source, dropped the Validate Fix speed promise (validation is optional and has no guaranteed SLA), and narrowed the 'not a quality/ranking signal' claim so it no longer implies a 404 on an important linked URL is harmless. Also removed several invented specific timeframes (2-4 weeks, 'several weeks', 'a month') that Google does not commit to, and attributed the 404-vs-410 speed difference to Patrick's own practitioner observation rather than stating it as platform fact, since Google's documentation treats 4xx codes other than 429 identically.
Change details
-
Reframed the sitemap-discovery language across beginner/advanced/cheat-sheets/glossary to describe how Google found the URL, not proof it's absent from a current sitemap.
-
Qualified Referring page (GSC/Advanced/Checklist/Troubleshooting) as a possible discovery clue, not a guaranteed complete link inventory, per Google's URL Inspection documentation.
-
Removed the Validate Fix speed claim and all invented week/month timelines in the Validate section, Troubleshooting, and Validation Tests lenses; replaced with 'optional, no guaranteed SLA' language.
-
Narrowed 'not a quality or ranking signal' to 'not automatically a sitewide penalty' throughout, adding that a 404 on a URL that should work still costs broken links, lost equity, or lost users.
-
Attributed the 410-drops-faster claim to practitioner experience rather than platform fact, noting Google's documentation treats 4xx codes other than 429 the same.
Full comparison unavailable — no prior snapshot was archived for this revision.