Off-Page SEO·April 27, 2026·11 min read

How to find and fix broken links at scale

Broken links are silent equity loss - every internal 404 is wasted PageRank flow, every broken external link is a dead-end credibility cost. A practical playbook for the four sources of broken links on real sites, the bulk-fix workflow that scales beyond hand-fixing one link at a time, and the broken-backlink reclamation move that recovers equity from inbound links pointing at URLs that no longer exist.

Every site rots. Pages get deleted, slugs get renamed, content management systems get migrated, and over years you accumulate broken links - some internal (your own pages linking at 404s), some inbound (other sites linking at URLs that no longer exist on your site), some outbound (you linking to pages on other sites that have died). Each one is a small leak. Across a 5-year-old site, the cumulative leak is meaningful: lost PageRank flow internally, lost credibility externally, lost backlinks from sites that found your page after the rename.

This guide skips the basic "what are broken links" framing (the tool below covers that) and goes straight to the workflow: the four sources of broken links on real sites, the bulk-fix scaling approach, and the broken-backlink reclamation move that's the highest-ROI link-building activity most teams never do.

Crawl any page for broken links right now

Paste any URL below. The tool fetches every link on the page and checks each for 4xx / 5xx HTTP errors - a fast spot-check for individual high-traffic pages, useful both for outbound link audits and for catching deep-internal rot.

Try it inline

Broken Link Checker

Crawl a page and check every link for 4xx / 5xx errors. No login, works on any domain.

Open full tool
Loading tool…

The three categories of broken links (and which one to fix first)

Not all broken links are equal. Triage them by how much equity each one is leaking, then fix in order:

1. Inbound broken links (broken backlinks pointing at your URLs)

Highest ROI. Another site linked to your URL /old-product-page. You renamed it to /new-product-page without setting up a redirect. The inbound link from the other site is now pointing at a 404. Every visitor following that link bounces; every PageRank signal Google was passing through that link evaporates.

The fix is mechanical: a 301 redirect from the old URL to the new one. Find every broken inbound link via Search Console (Pages report → "Page indexing" → "Not found (404)"), via Ahrefs / Majestic ("Broken backlinks" report), or via Screaming Frog crawling your sitemap. For each, set up a 301 from the broken URL to the most contextually appropriate live URL.

This is the highest-ROI link work most teams never do - it doesn't require any outreach, the equity is already pointing at you, you just need to catch it.

2. Internal broken links (your pages linking at your own 404s)

Medium ROI. A blog post from 2021 links to /blog/old-post which was deleted in 2023. The link is now an internal 404. Visitors clicking it get a bad UX; Googlebot crawling it wastes crawl budget.

The fix: replace the broken internal link with a current relevant link, or delete the link if no replacement exists. Don't 301-redirect internal links - just edit the source page to link at a live destination directly.

3. Outbound broken links (your pages linking at other sites' 404s)

Lowest ROI but easiest. A 2022 article cited an external blog post that's since been deleted. The outbound link is broken; visitors who click it land on the destination's 404 page (which makes you look careless and them look unmaintained).

The fix: replace with a current authoritative source on the same topic, or with a Wayback Machine archive URL if the original is genuinely gone. Don't just delete the link - the citation supported the article's argument.

The four sources of broken links on real sites

If you're hunting broken links systematically, this is where they almost always come from. Knowing the source lets you catch them at the source instead of one-by-one.

1. Slug renames without redirects

The single biggest source. Someone updated a blog post's slug ("optimization" was changed to "audit"), the new URL went live, but no 301 was set up from the old URL. Every external link, internal link, and bookmark pointing at the old URL is now broken.

The fix at the source: any CMS workflow that allows slug changes should auto-emit a 301 from the old slug to the new one. WordPress's Yoast SEO does this; many custom CMSes do not. Audit your slug-change workflow before fixing the symptoms.

2. Mass-deletion campaigns without 410 handling

You discontinue a product line, archive a category, retire 100 blog posts. The deletion runs cleanly internally, but every URL is now serving 404. Inbound links to those URLs are leaking equity; visitors hitting them get a bad UX.

The fix at the source: any mass-deletion should serve 410 Gone for the deleted URLs (faster Google deindexing) and ideally redirect them to the closest topical replacement. Bulk deletion should never just "let them 404" - that's a multi-month equity drain.

3. CMS / framework migrations

Site moved from WordPress to Next.js. The slug structure changed: /blog/2023/post-name/ became /blog/post-name. Without a comprehensive 301 map covering every old URL, the entire blog's inbound link equity is broken on launch day.

The fix at the source: every migration should ship a 301 redirect map covering the top 95% of inbound-traffic URLs. Use Search Console's top-traffic URL list to prioritize the redirect map; tail URLs can fall back to a generic 410.

4. External-link rot over time

Your outbound citations slowly age into 404s as cited domains die or pivot. By year 3 of a long-lived article, 5-15% of outbound links are typically broken. This is the slowest-rot source but it accumulates relentlessly.

The fix at the source: a quarterly external-link audit on top-traffic articles. Replace broken citations with current sources or Wayback Machine archives.

Checklist

Broken link cleanup DOs & DON'Ts

DO

  • Triage by category - inbound first, then internal, then outbound

    Inbound broken links (broken backlinks) are highest ROI - the equity is already trying to flow at you. Internal next, outbound last.

  • Use 301 to recover broken-backlink equity

    Search Console's "Not found (404)" report sorted by impressions is the priority list. For each high-traffic 404, set up a 301 to the most contextually appropriate live URL.

  • Auto-emit 301 on slug renames

    Any CMS workflow that allows slug changes should auto-redirect the old slug to the new one. WordPress's Yoast SEO does this; many custom CMSes don't. Fix the workflow, not just the symptoms.

  • Serve 410 on mass deletions

    Discontinued products, archived categories, retired posts - serve 410 Gone for faster Google deindexing AND set up 301s to topical replacements. Never just "let them 404."

  • Replace broken outbound links with current sources or Wayback archives

    Don't just delete an outbound citation - the citation supported the article's argument. Replace with a current authoritative source or with <code>https://web.archive.org/web/&lt;date&gt;/&lt;url&gt;</code>.

DON'T

  • Don't 301 internal broken links

    Just edit the source page to link at a live destination directly. Internal 301s waste a redirect hop where a direct link would be cleaner.

  • Don't 301 every broken URL to the homepage

    Generic homepage redirects pass much less equity than topically-relevant ones. <code>/blog/seo-tips-2022</code> should redirect to your current SEO tips guide, not the homepage.

  • Don't ignore the Search Console Pages report

    It's the cheapest broken-backlink reclamation source. The URLs at the top of the "Not found" list are receiving traffic and impressions you've already earned.

  • Don't skip the post-fix verification

    Run the redirected URL through an HTTP status checker. Confirm 301 → 200 in one hop. A misset redirect that 301s to another 404 is worse than the original break.

  • Don't expect broken-link recovery to be a one-time fix

    Sites rot continuously. Quarterly audits compound - each quarter's audit catches the 5% of new breaks; the cumulative recovery over 4 quarters is meaningful.

The biggest opportunity: broken-backlink reclamation

If you only do one piece of broken-link work this quarter, do this. Inbound broken links are SEO equity that's already trying to flow at you - you just need to catch it.

The workflow:

  1. In Search Console, open the Pages report. Filter by "Not found (404)." Sort by impressions or clicks descending. The top of this list is URLs that USED to rank, are still receiving traffic, and are currently 404ing.
  2. For each high-traffic 404, identify the most contextually relevant live URL on your site. If the broken URL was /blog/seo-tips-2022, redirect it to your current SEO tips guide, not to the homepage. Topic relevance matters - Google passes more equity through topically-relevant redirects.
  3. Set up the 301. In Vercel, edit vercel.json; in Nginx, edit your config; in WordPress, use Redirection plugin. The redirect should fire on the next deploy.
  4. Verify the redirect via the HTTP status checker (or our HTTP status playbook). Confirm the broken URL resolves to a 301 to the new URL, which then returns 200.
  5. Pull broken-backlink reports from Ahrefs / Majestic / Semrush. These tools index broken external links pointing at your domain and surface URLs that 404 with significant inbound link counts. Each one is a candidate for the same redirect treatment.
  6. For broken backlinks where the link is on a high-quality site, consider outreach: email the linking site's webmaster, mention the broken link, and suggest a replacement URL on your site. Conversion rate is typically 10-30% on legitimate broken-backlink replacement requests.

This work is undramatic but compounds. A quarterly broken-backlink audit on a 5-year-old site routinely recovers 20-40% of "lost" inbound link equity for the cost of one developer's afternoon.

What a clean broken-link audit looks like

Run this quarterly. Internal broken links + outbound broken links should be a 1-2 hour spot-check; broken-backlink reclamation can take a full day on an established site (and the ROI justifies the day).

  1. Run the page-level checker on the top 20 pages by impressions. Catches outbound rot and internal-link bugs in the highest-traffic content.
  2. Crawl the full site with a tool (Screaming Frog free version handles up to 500 URLs; paid handles unlimited). Filter for 404s in internal-link targets - these are the internal broken links to fix.
  3. Pull Search Console "Not found (404)" report. Filter to URLs with non-zero impressions or clicks. These are the highest-priority broken-backlink reclamation candidates.
  4. Pull broken-backlink reports from Ahrefs / Majestic / Semrush if you have access. Higher-fidelity than Search Console for understanding which sites are linking at your 404s.
  5. Set up 301 redirects for every high-traffic broken URL. Verify with the HTTP status checker. Each one now starts passing equity again on the next crawl.
  6. Email outreach for the highest-value broken backlinks. If a major site is linking at one of your 404s, an email pointing them at the new URL recovers the equity and often opens a relationship.
  7. Re-crawl 4-6 weeks later to verify the redirects fired and the 404 reports are clearing. Watch your "Not indexed" counts in Search Console - they should trend down quarter over quarter if the audit is working.

Grab the one-page audit checklist

A printable version of the broken-link triage workflow, the broken-backlink reclamation outreach template, the four-source diagnosis tree, and the WordPress / Next.js / Nginx redirect snippets that automate the most common 301 patterns.

Free download

The Broken Link Cleanup Checklist

A printable one-pager with the broken-link triage workflow, the broken-backlink reclamation outreach template, the four-source diagnosis tree, and the WordPress / Next.js / Nginx redirect snippets that automate the most common 301 patterns.

Quick quiz: are you ready to audit your own broken links?

Five questions, takes two minutes. We'll show you the right answer and a one-line explanation after each one.

Quick quiz · 5 questions

Broken link cleanup - quick check

5 randomized questions drawn from a pool of 12. Different every time you take it. Takes about two minutes.

You've finished the Off-Page SEO pillar

That's the full Off-Page SEO and Link Architecture pillar: anchor text, internal linking, external links, link rels, and broken-link cleanup. Each guide has a working tool, a checklist, a download, and a quiz - the four embeds are deliberate, because the goal is to close the loop from "I read about it" to "I can map and fix my own site's link graph right now."

The next pillar in the SEOGraphy Learn hub is Keyword Research and Content, covering keyword intent mapping, content length and depth, duplicate content cleanup, content briefs that rank, and the analytics setup that closes the SEO measurement loop.

Keep learning

More in Off-Page SEO

Anchor text best practices for SEO

11 min read

How to plan an internal linking strategy

12 min read

When external links help (and when they hurt)

11 min read

Skip the writing. Keep the SEO.

SEOGraphy drafts, illustrates, and publishes articles that follow the playbook above - automatically.

Try SEOGraphy free →