Broken links are rarely the “big problem.” They’re the paper cuts. One or two don’t matter much — but a bunch of them turns your site into a maze of dead ends.

This guide is a workflow you can actually run: discover → export → prioritize → fix → verify → repeat. No magical SEO tricks. Just the boring stuff that works.

What counts as a “broken link”?

People usually mean “404”, but you’ll want to catch a few categories:

  • 404 Not Found: page doesn’t exist (common after migrations and CMS changes).
  • 410 Gone: intentionally removed (fine if deliberate, but fix internal links pointing to it).
  • 5xx errors: server issues (these are urgent).
  • Redirect chains: A → B → C. “Works”, but slow and messy.
  • Redirect loops: A → B → A. Pure chaos.

Do broken links hurt SEO?

Not in the dramatic “your site is doomed” way. More like:

  • Users bounce when they hit dead ends (and they don’t politely tell you).
  • Crawlers waste time crawling broken paths instead of useful pages.
  • Internal linking gets weaker when links point to dead pages or chain redirects.

Fixing broken internal links is usually worth it. Fixing broken external links is worth it when they’re important to the page (citations, resources, conversion flow).

Step 1: Find broken links (use multiple sources)

Don’t rely on one data source. Each one catches different problems.

Option A: Crawl a page or site

For quick audits, start with a web-based crawler. Run TinyUtils Dead Link Finder, export results, and you immediately have something actionable.

Option B: Google Search Console (verification + discovery)

Search Console can show URLs Google encountered that returned errors. It’s great for “what Google actually saw”, especially after a migration.

Option C: Logs and analytics (prioritization fuel)

If you can access server logs or analytics, use them. A broken link that gets 5,000 visits a month is a different kind of problem than one nobody hits.

Option D: Backlink tools (if you care about link equity)

If the broken URL has backlinks, the right fix might be a redirect (or restoring the content). Backlink tools help you find those.

Step 2: Export + group the issues

Export your crawl results. If your tool supports it, include:

  • Broken URL
  • Status code (404/410/500/etc.)
  • “Found on” page(s)
  • Final destination (for redirects)

Then group by pattern. Patterns are your friend:

  • Trailing slash changes
  • HTTP → HTTPS
  • Old folder moved (/blog//guides/)
  • Case changes (/About vs /about)

Step 3: Prioritize (fix what matters first)

Use this order if you want maximum impact with minimal time:

  1. 5xx errors (site health emergencies).
  2. Broken internal links on key templates (nav, footer, homepage, top landing pages).
  3. Broken pages with backlinks (preserve link equity).
  4. Broken external links that are essential references or conversions.
  5. Everything else (cleanup sweep).

Step 4: Fix (choose the right repair)

Fix A: Update the link (best for internal links)

If your page links to the wrong URL, fix the link. Don’t rely on redirects forever.

Fix B: Add a redirect (best when an old URL should live on)

For removed/moved pages, a 301 redirect to the closest relevant page is often the right move. Try to avoid “redirect everything to the homepage” — it’s usually a bad user experience.

If you’re doing this at scale, use a mapping workflow: compare old vs new URL lists and generate rules. TinyUtils Sitemap Delta is built for this.

Fix C: Serve 410 (when it’s truly gone)

If content was intentionally removed and there’s no replacement, a 410 can be cleaner than a forever-redirect. But do make sure internal links stop pointing to it.

Fix D: Replace broken outbound links

If you link to external resources that died, replace them. Sometimes a Wayback snapshot is enough, sometimes you pick a better source. For bulk recovery workflows, see Wayback Fixer.

Step 5: Kill redirect chains

Redirects are fine. Redirect chains are not. If you can, update internal links so they point directly to the final URL. One clean hop beats three “it works” hops.

Step 6: Verify (don’t trust vibes)

  • Re-crawl after deployment to confirm errors dropped.
  • Spot-check key templates (nav/footer/critical pages).
  • Use Search Console to confirm Google sees fewer errors over time.
  • Schedule a follow-up crawl so issues don’t creep back.

Quick checklist (copy/paste)

  • ✅ Crawl and export broken URLs with “found on” pages
  • ✅ Fix internal links on templates first
  • ✅ Redirect important old URLs (avoid homepage dumping)
  • ✅ Remove redirect chains
  • ✅ Re-crawl and verify

FAQ

How often should I check for broken links?

For active sites: monthly is a good baseline. For large sites or frequent publishing: weekly checks can be worth it.

Should I redirect every 404?

No. Redirect pages that moved or still have value. If something is truly gone with no replacement, a 410 can be fine. The goal is helpful navigation, not “zero 404s at all costs.”

Next step

Start by crawling a key page (homepage or a top category page) with TinyUtils Dead Link Finder. Export the results and fix the first 10 issues. You’ll be surprised how much that alone cleans up.