Server

404 Not Found — Causes, SEO Impact and When It Is Correct

Updated 2026-08-29~8 min read

A 404 means the server understood the request perfectly and found nothing at that address. Unlike most errors, it is not a malfunction — it is a correct answer to a question about something that does not exist.

That is why "fix all your 404s" is bad advice. Most 404s are harmless and some are actively desirable. The ones worth your attention are a small subset: pages that used to exist and still have links pointing at them, and the sneaky variant that returns a success code while displaying an error. This guide covers how to tell them apart.

404 vs 403, 410 and Soft 404

These four are related and Google treats each of them differently, which matters if you are deciding what to return for a page you are removing.

CodeWhat it meansHow Google reads it
404 Not FoundNothing here — may or may not come backRetries for a while, then drops the URL
410 GoneIt was here and it is permanently removedDrops it faster than a 404 — use when you mean it
403 ForbiddenIt exists but you may not have itCannot assess the page; keeps trying
Soft 404Shows "not found" but returns status 200Confused — wastes crawl budget on an empty page
💡 Soft 404 is the one that actually causes damage. If your error page returns 200, Google believes it is real content, indexes it, and crawls hundreds of identical empty pages. Check with "curl -I" — the first line must say 404, not 200.

The Usual Causes, Most Likely First

  • A typo in the URL, or a link that was mistyped when it was written. Harmless and by far the most common.
  • A page that was deleted or renamed without a redirect. This is the one that costs you traffic, because the links pointing at it still exist.
  • A changed permalink structure. Reorganising URLs without redirecting every old address turns your whole archive into 404s overnight.
  • A missing image, script or stylesheet. These do not show as an error page but they fill your logs and can break the layout.
  • A site migration that lost URL paths. Moving platforms rarely preserves URLs exactly unless someone plans for it.
  • Links from other sites to pages you never had. Nothing to fix — someone else made a mistake.
  • Bots probing for /wp-admin, /.env, /phpmyadmin and similar. Your logs will be full of these. A 404 is the correct response and nothing needs doing.

Work Through It in This Order

  • Confirm your error page actually returns 404. Run "curl -I https://yoursite.com/this-does-not-exist" and read the status line. If it says 200, fix that before anything else — it is the only entry on this list that is silently harmful.
  • Open Google Search Console, go to Pages, and look at "Not found (404)". This is the authoritative list of 404s Google has actually encountered, as opposed to every random bot probe in your logs.
  • Sort by whether the URL ever existed. Pages you deleted deserve a redirect; addresses that were never real deserve nothing.
  • Redirect the ones that matter to the closest equivalent page with a 301. Do not redirect everything to the homepage — Google treats that as a soft 404 and it is a poor experience besides.
  • Fix internal links pointing at dead pages. A 404 reached from your own navigation is entirely your own doing and the easiest kind to fix.
  • Use 410 rather than 404 for content you have deliberately removed for good. It tells Google the decision is final and gets the URL out of the index faster.
  • Leave the rest alone. A long tail of 404s from bots and mistyped links is normal for every site on the internet.

How Much Do 404s Actually Hurt Rankings?

Far less than most people assume. Google has said repeatedly that 404s are a normal part of the web and that having them does not directly penalise a site. A page returning 404 simply drops out of the index, which is the correct outcome for a page that no longer exists.

The real cost is indirect and it is about links. When a page that earned backlinks starts returning 404, the value those links carried has nowhere to go. That is a genuine loss, and it is why redirecting removed pages to a relevant replacement is worth doing — not to avoid a penalty, but to keep the link equity you already earned.

The second real cost is crawl budget, and it mostly applies to large sites. If Googlebot spends its visits crawling thousands of dead URLs, it has less time for the pages you care about. On a site with a few hundred pages this is not worth worrying about; on one with a hundred thousand it is.

Soft 404s are the exception that genuinely does harm. Serving a "page not found" message with a 200 status invites Google to index unlimited near-identical empty pages, which is far worse than any number of honest 404s.

What a Good 404 Page Contains

  • A plain statement that the page does not exist, in normal language rather than a status code.
  • A search box. It is the single most useful element, because the visitor knows what they wanted and you do not.
  • Links to your main sections, so there is an obvious next step rather than a dead end.
  • The site header and navigation intact — a stranded page with no way out sends people straight back to the search results.
  • The correct 404 status code in the HTTP header, regardless of how friendly the page looks.
  • No automatic redirect to the homepage. It is disorienting, and it hides the fact that a link is broken from both the visitor and from you.

When a 404 Is the Right Answer

Sometimes the correct action is to leave it broken, and recognising those cases saves a lot of pointless work.

Content that was genuinely removed and has no equivalent should return 404 or 410. Redirecting it somewhere vaguely related to avoid the error is worse for the visitor, who now lands on a page that does not answer their question and has no idea why.

Bot probes for admin panels and configuration files should return 404 forever. Those requests are looking for vulnerabilities, and a 404 is both correct and the least informative reply you can give.

Expired listings, sold products and finished events are legitimate 404s once there is nothing sensible to show. If a good replacement exists, redirect to it; if it does not, let the URL die honestly.

Need full control over redirects and error pages?

Cloud VPS with full root access — configure your own rewrite rules, status codes and error handling. From ฿150/month.

Frequently Asked Questions

Should I redirect every 404 to the homepage?

No. Google treats mass redirects to the homepage as soft 404s, and visitors find it disorienting — they clicked something specific and got somewhere generic. Redirect only where a genuinely equivalent page exists; otherwise let the 404 stand.

How do I find which 404s actually matter?

Search Console's Pages report shows the URLs Google encountered, and your server access log shows which ones real visitors hit and where they came from. A 404 with inbound links from other sites is worth redirecting; one that only bots ever request is not.

What is the difference between 404 and 410 in practice?

404 means "not here", which leaves open the possibility it returns. 410 means "gone, deliberately, permanently". Google drops 410 URLs from the index noticeably faster. Use 410 when you are certain the content is never coming back.

My 404 page looks fine but Search Console reports soft 404s. Why?

Because the page returns status 200 while displaying an error message. How it looks to a human is irrelevant — Google reads the HTTP status. Check it with "curl -I" and configure your framework or CMS to send a real 404 header.

Do broken images and scripts count as 404s?

They generate 404 responses and fill your logs, but they are not indexed pages so they do not appear in Search Console's page reports. They still matter — a missing stylesheet can break your layout, and a missing script can break functionality — so they are worth fixing for different reasons.