A 404 status code means the server could not find a page at the requested address — usually because it was deleted, moved without a redirect, or the link pointing to it contains a typo. A handful of these are completely normal on any website. They become a problem when they are widespread, when your own pages link to them, or when pages that once earned backlinks quietly disappear.
This guide covers how to find broken URLs on your site, how to decide what to do with each one, and the common mistakes that turn a small cleanup job into a ranking problem.
Why broken links matter for SEO
Search engines allocate a finite amount of crawling to every site. When internal links point at pages that no longer exist, that budget is spent retrieving nothing. On a small brochure site this is barely measurable. On a large catalogue or a publisher archive it is a genuine constraint — crawlers spend time on dead addresses instead of discovering your new content. This is covered in more depth in our guide to crawl budget optimization.
The more expensive problem is lost link equity. When another site links to one of your pages and that page later disappears, the authority that link passed is thrown away. The link still exists on the referring site, and people still click it — they simply arrive at nothing. Recovering that is usually a single redirect, which makes it one of the highest-return fixes in technical SEO.
There is a user cost too. Visitors who hit a dead end rarely hunt for the right page; they return to the results and pick a competitor. That behaviour is visible to search engines as a poor outcome for the query.
How to find broken URLs on your site
No single tool catches everything, because each one looks at a different signal. Use at least two.
- Google Search Console — the Pages report lists URLs Google tried to crawl and could not retrieve. This is the most important source because it reflects what Google itself encountered, including addresses you may not know exist.
- A site crawler — Screaming Frog, Sitebulb or similar will follow every internal link and report each broken destination along with the pages linking to it. That last detail matters: you need the source page to fix the link.
- Backlink tools — Ahrefs, Semrush or Moz can show dead pages on your domain that still have external links pointing at them. These are the highest-value fixes available, because each one is recoverable authority.
- Server access logs — the only complete record. Logs capture every request that returned a 404, including URLs no crawler would discover because nothing links to them, such as addresses printed in old marketing material.
- Analytics — if your 404 template fires a pageview or event, you can see which dead addresses real visitors actually reach, and where they came from.
Deciding what to do with each URL
Not every broken address deserves a redirect. Work through them in this order.
- The page moved. Redirect the old address to its new location with a permanent 301. This passes the accumulated ranking signals to the new URL. If you are unsure which status code to use, see 301 vs 302 redirects — using a temporary redirect for a permanent move is a common and costly mistake.
- The page was removed but a close equivalent exists. Redirect to the closest genuine match — a replacement product, an updated article, or the parent category. The test is whether someone who clicked the original link would consider the destination a reasonable answer.
- The page was removed and nothing is equivalent. Let it return a proper 404. This is the correct outcome, not a failure. Search engines handle a real 404 cleanly; they drop the URL from the index and move on.
- The page never existed. Broken addresses from typos in external links are worth redirecting if the intended target is obvious and the referring site has real authority.
- Fix the source. For every internally linked dead URL, update the link itself. A redirect is a safety net, not a substitute for correcting the link.
Mistakes that make things worse
Redirecting everything to the homepage. This is the single most common error. When a redirect target is not a reasonable equivalent of the original page, search engines frequently treat it as a soft 404 anyway — so you gain nothing and lose the clean signal a real 404 would have sent. It is also a poor experience: someone expecting a specific article lands on a generic page with no explanation.
Building long redirect chains. Each migration adds another hop. Page A points to B, which later points to C. Chains slow crawling and dilute the signals being passed. When you add a redirect, check whether the destination is itself already redirected, and point at the final address.
Returning 200 for missing pages. Some content systems display a "page not found" message while still returning a success status. Search engines cannot tell the page is missing from the status code, so they index an empty page or classify it as a soft 404. The status code must match what the page actually is.
Treating every 404 as urgent. Dead addresses with no inbound links and no traffic cost you nothing. Prioritise by links and traffic rather than trying to reach zero.
Soft 404s: the version most people miss
A soft 404 is a page that returns a success status but that search engines judge to be effectively empty. It will not be indexed, and unlike a genuine broken link it is invisible in most crawl tools — because as far as they are concerned, the page loaded fine.
Common causes are thin pages with almost no unique content, category or search pages that return no results, product pages for discontinued items that render an empty shell, and pages redirected to an irrelevant destination. The fix depends on intent: if the page should exist, give it enough genuine content to justify indexing; if it should not, return a real 404 or redirect it somewhere appropriate.
Search Console's Pages report lists these separately from ordinary crawl failures, and the URL Inspection tool will name the classification directly for any address you test.
Making your 404 page useful
Visitors will reach it regardless of how carefully you maintain the site — from old bookmarks, mistyped addresses, and links on sites you do not control. A default server message sends them away. A useful one keeps some of them.
- Say plainly that the page is not available, without technical jargon
- Include your normal navigation and a search box
- Link to your most popular sections so there is an obvious next step
- Keep the site's design, so it does not look broken or unsafe
- Make sure it returns a genuine 404 status, not 200
How often to check
For most sites a quarterly crawl is enough, alongside checking Search Console monthly. Audit immediately after any site migration, platform change, or bulk content cleanup — these are when the majority of broken links are created, and when catching them early matters most. If you publish frequently or run a large catalogue, monthly is more appropriate.
Broken link cleanup is unglamorous and rarely produces a dramatic ranking jump on its own. Its value is cumulative: it keeps crawling efficient, preserves authority you already earned, and removes dead ends for visitors. For a fuller picture of where it fits, see our technical SEO audit guide.
