Fixing 404 Errors: Which Ones Matter and What to Do
Search Console's list of "Not found (404)" URLs makes a lot of site owners panic. A few hundred errors sounds like a disaster. Usually it isn't. Google's own guidance is that 404 errors on URLs that shouldn't exist are a normal part of the web and don't harm your site's rankings.
The skill here is triage: telling apart the dead URLs that are costing you something from the ones that never mattered.
What a 404 means
A 404 status code tells browsers and crawlers that nothing exists at that address. A 410 says the page is gone deliberately and permanently. Google treats them similarly, though a 410 may lead to slightly faster removal from the index.
A URL returns 404 for many reasons: a page was deleted, a slug changed without a redirect, someone mistyped a link, a bot guessed at URLs, or an old site structure is still referenced somewhere.
Where to find them
- Search Console > Pages, under "Not found (404)". Click into the list and use URL Inspection to see where Google found the link.
- A site crawl with Screaming Frog, Sitebulb or a similar tool. This shows 404s linked from your own pages, which are the ones visitors actually hit.
- Analytics. Filter page views by the page title of your 404 template to see which broken URLs real people are landing on.
- Backlink tools. Ahrefs, Semrush and others list external links pointing to URLs on your site that return 404.
- Spot checks with the free broken link checker on important pages.
Which 404s to fix
Sort the list into four groups.
1. Broken internal links
These are your own mistakes, and they're worth fixing every time. A visitor clicks a link in your menu or blog post and hits a dead end. Update the link to point to the correct page. If the target was removed, link somewhere else or remove the link.
2. Pages with backlinks
If other sites link to a URL that now 404s, you're losing the value of those links. Set up a 301 redirect to the most relevant live page. For an online tea shop in Darjeeling that removed a "first flush 2024" product page, the right redirect might be the current first flush product or the first flush category, not the homepage.
This is the same idea behind broken link building, except applied to your own site, and it's often the fastest link "win" available.
3. Pages that had traffic
Check analytics for URLs that used to get visits. If a popular article was deleted, either restore it, redirect it to a closely related article, or accept the loss if it was genuinely obsolete.
4. Junk URLs
Random strings, bot probes like /wp-login.php on a non-WordPress site, URLs with broken encoding, and links from scraper sites. Leave these alone. Returning a 404 is the correct response, and redirecting them adds nothing.
Soft 404s
A soft 404 is a page that returns a 200 status but tells the visitor nothing is there: "No products found", an empty category, or a "this listing has expired" message. Google detects many of these and reports them as "Soft 404" in Search Console. They're worse than real 404s because they look like real pages and waste crawling.
Fixes:
- Return a real 404 or 410 status for removed content.
- For temporarily empty categories, add useful content or links so the page has value, or noindex it until it fills up.
- Don't 301 large numbers of removed pages to the homepage. Google often treats those as soft 404s too, so the redirect does nothing.
Should you redirect or let it 404?
| Situation | Action |
|---|---|
| Content moved to a new URL | 301 to the new URL |
| Close replacement exists | 301 to the replacement |
| Removed, no replacement, had backlinks | 301 to the parent category or most relevant page |
| Removed, no replacement, no links or traffic | Let it 404 or 410 |
| Typo in an external link | 301 to the intended page if it has value |
| Bot noise | Ignore |
The 301 vs 302 redirects article covers which redirect type to use.
Build a useful 404 page
Some people will hit dead URLs no matter what you do. A good 404 page keeps them:
- Says clearly that the page wasn't found, in plain language.
- Includes a search box and links to your main categories or most popular pages.
- Matches the rest of the site's design and navigation.
- Returns an actual 404 status code. Check this with a header checker; some themes serve a pretty error page with a 200 status, creating soft 404s across the site.
Skip the jokes if your audience is in a hurry. A customer looking for a GST invoice template doesn't want a cartoon; they want the link to the right page.
Prevent new 404s
- Add a redirect whenever you change a URL slug. Shopify and some WordPress plugins can do this automatically.
- Keep a redirect map during migrations.
- Crawl the site monthly or after big content changes.
- When deleting content, check first for backlinks and internal links.
Export your 404 list from Search Console, then cross-reference it with a backlink tool's list of linked pages. Any URL that appears in both gets a redirect this week. Everything else can wait or be ignored.