Indexing issues

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.

Updated Sep 1, 2026
TL;DR

“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.
Google Search Console Pages report filtered to 'Not found (404)' under Not indexed, showing the affected-page count and trend.
The 'Not found (404)' view under Not indexed — URLs Google found through crawling or links, not through your sitemap, that return a 404.

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.

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.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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 in next.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

  1. 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.
  2. If you added a redirect — check it resolves correctly with curl -IL or a redirect checker, then re-run URL Inspection on the old URL to confirm Google sees the redirect.
  3. 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.

Let Percy watch this

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.

Connect Search Console

Frequently asked

What's the difference between “Not found (404)” and “Submitted URL not found (404)”?
“Submitted URL not found (404)” is specifically about a URL you told Google to index — via your sitemap or a direct URL Inspection submission — that 404s. It's a contradiction you created. “Not found (404)” under Not indexed is about a URL Google found some other way (an old internal link, an external backlink, a page it crawled in the past) that now 404s. You never submitted it; Google just ran into it during normal crawling.
Do I need to fix every URL under “Not found (404)”?
No, and trying to would waste a lot of time. Most of these are pages that were legitimately retired — old blog posts, discontinued products, expired promotions — and a 404 is the correct response. Only act on ones that still carry real backlinks, meaningful direct traffic, or were removed by accident.
Where do these 404'd URLs usually come from if I never submitted them?
Old internal links from other pages on your own site that were never updated after a page was removed or renamed, external backlinks pointing at a page that no longer exists, or URLs Google indexed and crawled in the past that you've since taken down. Google keeps trying URLs it has any record of, even years after it last saw them live.
Should I redirect all of these to my homepage?
No. A blanket redirect to the homepage for unrelated 404s reads to Google as a soft 404 and passes little to no real value. Only redirect a URL if there's a genuinely relevant replacement page. Otherwise, leave it as a real 404 (or use 410 if you want to signal the removal is permanent) and, if it's an internal link causing the problem, fix the link itself.
Percy

We surface these issues automatically.

Connect Search Console once. Every issue like this gets ranked by impact, with a fix you can ship today.

Start free

Related issues

Browse by topic