Skip to content
Technical SEO 8 min read By The Crawl Cove team

How to Find and Fix Broken Links Across a Site

Why broken links hurt SEO and UX, how to find every internal and external 404, and how to fix them the right way — redirect, update, or remove.

Part of Technical SEO: The Complete Guide

Key takeaways

  • Broken links hurt UX, waste crawl budget, and leak internal link equity
  • Crawl the whole site and cross-reference Google Search Console to find every dead link with its source page
  • Fix each one by 301 redirecting to a good equivalent, updating the link, or removing it
  • Reclaim broken backlinks with 301s and redirect proactively whenever URLs change

Broken links are one of those quiet problems that erode a site's quality without ever showing up on a single dashboard. A page gets renamed, a product is retired, an external resource moves — and suddenly links that used to work now lead nowhere. Left alone, they pile up. This guide explains how to find broken links on a website, why they matter more than most people assume, and exactly how to fix each one the right way.

Why broken links matter

A broken link is any link that points to a URL the server can no longer return successfully — most commonly a 404 Not Found. They hurt your site in three distinct ways.

User experience. A visitor who clicks a link expecting content and lands on an error page loses trust. They may leave entirely. Broken links in your main navigation, footer, or a high-traffic article do real damage to conversions and credibility.

Wasted crawl budget. Search engines have a finite amount of time and resources they'll spend crawling your site. Every dead URL a crawler hits is effort not spent discovering and refreshing your real content. On large sites especially, links to nowhere are a measurable drag on how efficiently your important pages get crawled and indexed.

Lost internal link equity. Internal links pass ranking signals between your pages. When an internal link points to a 404, that signal goes nowhere — it's wasted. A page that should be receiving authority from a dozen internal links might be getting far less because half of those links are broken or point to redirected, diluted URLs.

Internal vs external broken links

It helps to separate the two, because the fix is different for each.

  • Internal broken links point from one page on your site to another URL on your site that no longer works. You have full control here — you can fix the target, fix the link, or redirect. There is no excuse to leave these broken.
  • External broken links point from your site out to another domain that has since moved or disappeared. You don't control the destination, but you do control whether you keep linking to a dead resource. These need updating or removing.

There's also the reverse case — broken backlinks, where another site links to a page on your domain that now 404s. Those are worth reclaiming, and we'll cover them below.

Understanding the status codes

Not every "broken" link is the same, and fixing them well means knowing what each status code signals to a browser and a search engine.

Status Name Meaning What it tells search engines
404 Not Found The URL doesn't exist; it may or may not return later Page is gone for now; keep checking for a while
410 Gone The URL is permanently removed, on purpose Drop it from the index sooner than a 404
301 Moved Permanently The URL has a permanent new home Pass equity to the target; update the index
302 Found (temporary) The URL has moved temporarily Keep the original indexed; don't transfer equity
Soft 404 A page returns 200 OK but shows "not found" content Confusing; engines may flag and devalue it

The soft 404 is the sneaky one. The server says everything is fine (200 OK), but the page is effectively empty or shows a "sorry, nothing here" message. Crawlers can't tell from the status code that it's a dead end, so these waste crawl budget and can linger in the index. A genuinely missing page should return a real 404 or 410, not a 200. Google's own guidance on HTTP status codes and network errors explains how each code affects crawling and indexing.

Note

Use 410 Gone when you've intentionally and permanently removed a page with no replacement — a discontinued product line, an expired campaign. Use 404 when a URL is broken but might be restored. Both are valid; 410 just signals permanence more strongly.

How to find broken links on a website

The reliable way to find every broken link is to crawl the whole site the way a search engine does, then cross-reference what you find against Google Search Console.

1. Crawl the site. A desktop crawler requests every URL it can reach by following links from your homepage outward, recording the status code each one returns. Crawl Cove crawls the entire site and lists every broken internal link alongside the source page that contains it, with a plain-English explanation of what to do about each one — so you're not left staring at a raw list of status codes wondering which fix applies. It judges links against the pages it found on your own site and does not fetch third-party URLs, so outbound links need a dedicated link checker; the Search Console step below covers the rest.

The "source page" detail matters more than people expect. Knowing a URL returns 404 is only half the job; you need to know which pages link to it so you can actually go and fix them.

2. Cross-reference Google Search Console. A crawler finds links that exist on your site today. Search Console shows you URLs that Google has tried to crawl — including old URLs still linked from external sites or sitemaps that your internal crawl won't surface. Check the Pages (indexing) report for Not found (404) and Soft 404 entries. Combining both sources gives you the complete picture: what your own pages link to, plus what the outside world and Google's memory still point at.

Tip

Run the crawl and the Search Console review together, not separately. The crawler is best for internal link integrity; Search Console is best for catching dead URLs that external sites and old sitemaps still reference. Neither alone is complete.

How to fix each broken link

Once you have the list, every broken link resolves to one of three actions. Here's the decision guide.

Redirect (301) — when there's a good equivalent

If the broken URL has a clear replacement — a renamed page, a newer version of a product, a merged article — set up a 301 redirect from the old URL to the best equivalent. This preserves the link equity the old URL had accumulated and sends both users and crawlers to the right place.

The key word is equivalent. Don't redirect every dead page to your homepage; an irrelevant redirect is treated by search engines much like a soft 404 and frustrates users. Redirect to the closest matching content.

Update the link — when the target moved

If your own page links to a URL that has a known correct address (an internal page you renamed, or an external resource that simply moved), the cleanest fix is to edit the link to point at the correct URL directly. This is better than relying on a redirect chain, because it removes the extra hop entirely. For external links, updating to the current correct URL is usually the right move.

Remove the link — when there's no good target

If the content is genuinely gone with no equivalent — an external site that shut down, a resource that no longer exists — remove the link from your page. For an internal page you're permanently retiring with nothing to redirect to, let it return 404 or 410 and remove the internal links pointing at it so you're not bleeding crawl budget or link equity into a dead end.

Here's the decision in short:

  • Has a clear equivalent? → 301 redirect to it.
  • Target just moved to a known URL? → Update the link to the new URL.
  • Nothing relevant to point to? → Remove the link; let the URL 404/410.

Reclaiming broken backlinks

Broken backlinks are external sites linking to a page on your domain that now 404s — often because you changed a URL without redirecting it. This is lost link equity sitting on the table. Find these in Search Console (404s with external referrers) or a backlink tool, then 301 redirect the old URL to the most relevant live page. You recover ranking signals you'd otherwise have thrown away, without needing to contact anyone.

Preventing broken links going forward

Fixing is reactive; the goal is fewer breaks in the first place.

  • Redirect on every URL change. Whenever you rename, move, or delete a page, set the redirect (or intentional 410) in the same step. Most broken internal links are self-inflicted by changes made without a redirect.
  • Audit on a schedule. Sites drift. A monthly or quarterly crawl catches new breakage before it accumulates. With Crawl Cove's versioned audits, you can re-run the crawl after fixing and confirm in the comparison that the broken links are actually gone — not just assume it.
  • Watch external links. External targets break without warning. Periodic crawls catch them so you can update or remove before users hit the dead end.

If you're maintaining sites for multiple clients, doing this once per project on a repeatable schedule is far cheaper than firefighting complaints — see pricing for how that scales across projects.

Wrap-up

Broken links are low-glamour, high-impact maintenance. They cost you user trust, waste crawl budget, and leak internal link equity — and almost all of it is fixable. The workflow is simple: crawl the whole site and cross-reference Search Console to find every dead link with its source page, then resolve each one by redirecting to a good equivalent, updating the link, or removing it. Reclaim broken backlinks with 301s, redirect proactively whenever URLs change, and re-crawl to confirm the fixes held. Do that consistently and broken links stop being a problem you discover and become one you've already prevented.

Frequently asked questions

What is a broken link?
A broken link points to a URL the server can no longer return successfully, most often a 404 Not Found, sending users and crawlers to a dead end.
Do broken links hurt SEO?
Yes. They waste crawl budget on dead URLs and stop internal links from passing ranking signals, so important pages receive less authority than they should.
What is a soft 404?
A soft 404 is a page that returns 200 OK but shows not-found content, so crawlers cannot tell it is a dead end. A genuinely missing page should return a real 404 or 410.

Audit your site the easy way

Crawl Cove finds these issues on your machine and tells you exactly what to fix first. See the features or compare the plans.

Download Crawl Cove

Keep reading