Not Found (404): What It Means + How to Fix It
“Not found (404)” under Not indexed in Google Search Console means Google found a URL some other way and it 404s — different from a submitted-sitemap 404. Here's why it happens and exactly how to fix it.
“Not found (404)” means Google discovered a URL on its own — an old link, an external backlink, a URL it crawled once before — and that URL now returns a 404. This is different from “Submitted URL not found (404),” which is specifically about a URL listed in your sitemap. Most of the time this status is completely normal (pages get retired) and not worth fixing; it only matters if the URL should still resolve or deserves a redirect.
This status sits under Not indexed, and it's easy to confuse with a similarly-named status in the Errors section — but they mean different things, and mixing them up leads people to "fix" the wrong thing.
"Not found (404)" here means Google found this URL through some path other than your sitemap — an old internal link nobody updated, an external site linking to a page you've since removed, or a URL Google crawled and remembered from months or years ago — and when it went to check on that URL, the page was gone. You never told Google this URL should be indexed. Google just stumbled into a dead end on its own.
That's the opposite situation from Submitted URL not found (404), which lives in the Errors section and is specifically about a URL you listed in your sitemap that 404s — a contradiction between what you asked Google to index and what your server actually serves. If your affected URL is in your current sitemap, you're looking at that status, not this one. This page is for URLs Google found on its own.
Confirm which status you're actually looking at
Before doing anything, make sure you're diagnosing the right one.
Open Pages → Why pages aren't indexed, click into "Not found (404)" under the Not indexed grouping (not the similarly-named entry under Errors), and pull an affected URL. Check whether it's currently listed in your sitemap:
- Not in your sitemap — correct, this is genuinely the "Not found (404)" status this page covers. Continue below.
- Is in your sitemap — you're actually dealing with Submitted URL not found (404), which has a different (and narrower) set of causes centered on why a submitted URL is broken.

The two statuses share a name because they share a root cause — Google requested a URL and got a 404 — but they answer different questions. "Submitted" tells you your sitemap is out of sync with reality. This one tells you Google has old or external knowledge of a URL that's no longer there. The fix for one rarely fixes the other.
Find out where Google learned about the URL
Since you didn't submit it, the useful question is how did Google find it — that tells you whether it's worth doing anything.
1. An internal link on your own site still points to it
A page elsewhere on your site links to the now-deleted URL — a stale link in navigation, a related-posts widget, an old blog post referencing a page you've since removed.
Tell: search your own site (or crawl it with a site-audit tool) for the exact URL path and find where it's still linked from.
2. An external site links to it
Another website — a partner, a press mention, a forum post, a backlink from years ago — links to a page that used to exist on your site.
Tell: check Links → Top linking pages in GSC, or a backlink tool, for external referrers pointing at the dead URL.
3. Google simply remembers it from a past crawl
The page existed at some point, Google indexed or crawled it, you removed it since, and Google is still periodically re-checking a URL it has history with — no active link required.
Tell: no internal or external links point to it anymore, but the page clearly used to exist (you recognize it, or it appears in an old sitemap or CMS trash).
The fix
Not every one of these needs action. Work through causes 1 and 2 first — those are the ones actually creating ongoing problems.
- Fix your own stale internal links
For cause 1, this is the one genuinely worth fixing regardless of the page's importance: a dead internal link is a broken experience for real visitors, not just a Google-reporting issue. Find the link and either update it to point at the correct current URL, or remove it if there's no relevant replacement.
- Decide whether the external-linked page deserves a redirect
For cause 2, the question is whether that inbound link carries value worth preserving. If a decent number of external sites (or one important one) link to the dead URL, and you have a genuinely relevant current page, add a 301 redirect from the old URL to it — you recover some of that link's value. If there's no good replacement, don't force a redirect to an unrelated page (see below); let it 404.
- Leave old, unlinked history alone
For cause 3, there's usually nothing productive to do. Google re-checking a URL it remembers from the past, with no current links pointing to it, is completely normal and will taper off on its own over time as Google's memory of the old URL ages out.
- Don't mass-redirect to your homepage
Regardless of cause, resist the urge to 301 every dead URL to your homepage as a blanket fix. Google treats an irrelevant catch-all redirect as a soft 404 — it doesn't pass real value and doesn't actually resolve the underlying signal. Redirect only to a genuinely relevant replacement; otherwise a clean 404 (or 410 if you want to explicitly signal permanent removal) is the honest, correct response.
Platform notes
- WordPress — stale links often live in nav menus, widgets, or old post content; a broken-link-checker plugin surfaces these faster than manual review. Check Trash first — a restored page resolves the 404 instantly.
- Shopify — happens when a product is deleted (not unpublished) or a handle changes; Shopify won't auto-redirect a deleted product's old URL, so add one manually (Settings → Apps and sales channels → URL Redirects) if worth preserving.
- Next.js (React) — check for hardcoded
<Link>/<a>references to a removed route; a dynamic route whose CMS/data source item was deleted 404s by default unless you add an explicit redirect innext.config.js. - Webflow — check the CMS Collection for deleted (not unpublished) items, and audit nav/footer links for anything still pointing at a removed page.
How to verify it's fixed
- If you fixed an internal link — recrawl your own site (a site-audit crawler, or manually) and confirm nothing on your domain still links to the dead URL. This is the fastest, most direct confirmation and doesn't require waiting on Google.
- If you added a redirect — check it resolves correctly with
curl -ILor a redirect checker, then re-run URL Inspection on the old URL to confirm Google sees the redirect. - Pages report — the URL should eventually drop out of "Not found (404)" as Google re-crawls and updates its record. This can take weeks, since Google has no urgency re-checking a URL with no active links pointing to it — don't expect it to clear quickly even after your fix.
When to ignore it
This is the default case for most URLs under this status, not the exception. A retired blog post, a discontinued product, an old promotional page — all correctly return 404, and Google eventually stops checking as its memory of the URL fades. Don't spend time chasing every entry here. Prioritize only the ones with real internal links (fix the link) or meaningful external backlinks worth redirecting (add a 301 to a genuinely relevant page). Everything else is Google doing normal housekeeping on URLs it once knew about.
Most of these 404s are nothing — the work is finding the few that are costing you a broken internal link or a wasted backlink. Percy connects to Search Console, tells you which "Not found" URLs are actually worth a redirect versus safe to ignore, and checks weekly.
Frequently asked
What's the difference between “Not found (404)” and “Submitted URL not found (404)”?
Do I need to fix every URL under “Not found (404)”?
Where do these 404'd URLs usually come from if I never submitted them?
Should I redirect all of these to my homepage?
We surface these issues automatically.
Connect Search Console once. Every issue like this gets ranked by impact, with a fix you can ship today.
Related issues
- Submitted URL Not Found (404): What It Means + How to Fix It“Submitted URL not found (404)” in Google Search Console means you submitted a URL that returns a 404. Here's why it happens — and exactly how to fix it.
- Discovered – Currently Not Indexed: What It Means + How to Fix It“Discovered – currently not indexed” in Google Search Console means Google knows your page exists but hasn't crawled it yet. Here's why — and exactly how to fix it.
- Soft 404 Error: What It Means + How to Fix It“Soft 404” in Google Search Console means a page returns a 200 OK status but looks empty or missing to Google. Here's why it happens and exactly how to fix it.
- Redirect Error: What It Means + How to Fix It“Redirect error” in Google Search Console means Googlebot couldn't follow your redirect to a working page. Here's why it happens — and exactly how to fix it.