How To Find (And Fix) Broken Links
Every Wednesday. 28,400+ operators. Zero fluff.
✓ Check your inbox — click the confirmation link to complete sign-up.
✓ You're subscribed!
✓ You're already on the list.
Table of contents
Open Table of contents
Understanding Broken Links
A broken link is a hyperlink that fails to reach its intended destination. That can mean an internal page you deleted, an external page that moved, a file you renamed, or simply a typo in the URL you entered.
Common causes
- Typos in the URL — a missing slash, a wrong character, or forgetting
https://makes the link invalid from the start. - Page moved or deleted without a redirect — if you change a URL and don’t set up a 301, every link pointing to the old address breaks instantly.
- External page removed — the site you linked to deleted or restructured that page and didn’t redirect the old URL.
- CMS migration — during a platform switch, URL slugs or path structures often change, leaving orphaned internal links.
- Renamed or removed files — links to PDFs, images, or documents break when those assets move.
- Site down or geo-restricted — temporary outages or region-based blocks can make links appear broken during a crawl.
Types of Error Codes
When a link is broken, the server responds with a status code that tells you what went wrong:
- 404 Not Found — most common. The page doesn’t exist at that URL, but it might come back.
- 410 Gone — explicit signal that the content is permanently removed. Google treats this more definitively than a 404.
- 400 Bad Request — the URL itself is malformed and the server can’t parse the request.
- 5xx Server Errors — the server failed to respond. Not always a broken link per se, but worth flagging during an audit.
For SEO purposes, 404s and 410s are the most important to resolve. Google’s crawlers flag them, and any link equity flowing into those URLs is wasted.
Why Broken Links Hurt SEO
Google crawls your site following your internal link graph. Every 404 a Googlebot hits is a dead end — crawl budget spent on nothing. More importantly, internal links pass PageRank between pages. A broken internal link drops that equity on the floor.
For external links, the damage is reputational: linking to dead pages signals a poorly maintained site to both users and search engines.
The practical impact: I’ve seen sites with high crawl error rates where key landing pages were underperforming simply because the internal linking structure was fragmenting equity into 404 pages from old migrations.
How To Find Broken Internal Links
1. Google Search Console (free, start here)
GSC’s Pages report (under Indexing) shows pages Google tried to crawl and couldn’t. Look for the “Not found (404)” bucket. This is real data from Google’s actual crawl — the most authoritative source.
For internal link errors specifically, check Settings > Crawl Stats to see total crawl requests and error rates over time.
2. Screaming Frog SEO Spider (best for full site crawl)
Screaming Frog crawls your site locally and surfaces every broken link, including internal and external. The free version handles up to 500 URLs; the paid plan covers unlimited.
Steps:
- Enter your domain and run a crawl.
- Filter by Response Codes > Client Error (4xx).
- Use the Inlinks tab to see exactly which pages link to each broken URL.
- Export the full list and triage by page importance.
Screaming Frog also integrates with GSC and GA4 so you can layer in traffic data and prioritize high-traffic broken pages first.
3. Ahrefs or Semrush Site Audit
Both platforms run ongoing crawls and flag broken internal and external links in their Site Audit tools. Ahrefs’ Broken links report and Semrush’s Errors section both surface 4xx and 5xx URLs along with which pages link to them.
The advantage here is automation — you can schedule recurring audits and get alerts when new broken links appear, without manually triggering a crawl.
4. Google Analytics 4 (supplementary)
GA4 doesn’t natively show 404 pages, but you can surface them by setting up a custom event or checking which pages have near-zero engagement time and high bounce rates. A page titled “404” in your page path report is a reliable signal.
Alternatively, configure your 404 template to send an event to GA4 with the broken URL in the event parameters — then you get real-time broken link detection from actual user traffic.
How to Fix Broken Internal Links
Once you have the list, fixing is straightforward. The right fix depends on why the link is broken.
1. Set up a 301 redirect
If the destination page still exists but at a different URL, implement a 301 (permanent) redirect from the old URL to the new one. This preserves link equity and routes users correctly. On most CMS platforms this is a simple redirect rule; on static sites, handle it in your _redirects file or server config.
Use 301 for permanent moves. Use 302 only for genuinely temporary redirects (rare in practice).
2. Correct the link at the source
If the destination page is fine but the link URL is just wrong — a typo, a path that was never right — edit the source page and fix the URL directly. This is the cleanest fix for internal links within your own CMS.
3. Remove the link
If the destination content is gone permanently and there’s no equivalent page to redirect to, just remove the link. A missing link is better than a broken one.
4. Restore or recreate the page
If the 404 is for a page that should still exist (e.g., accidentally deleted), restore it from backup or recreate it. Check GSC to see if Google was indexing it and if it had backlinks worth preserving.
Fixing Broken External Links
For links pointing to third-party pages:
- Check if the page moved — search for the content and see if it lives at a new URL. Update your link.
- Use the Wayback Machine — if the external content is gone entirely, you can link to an archived version at web.archive.org instead.
- Remove or replace — if the external page is just dead and no archive exists, remove the link or find a better source.
Making It Systematic
One-time audits aren’t enough on a growing site. Here’s the lightweight system I use:
- Weekly: Check GSC’s Pages report for new 404s from Google’s crawl.
- Monthly: Run a Screaming Frog crawl or check the Ahrefs/Semrush Site Audit dashboard.
- After every migration or URL change: Immediately crawl affected sections and verify redirects are in place before publishing.
- Custom 404 page: Design a useful 404 that links to your homepage and popular content, and optionally includes a contact form so users can report broken links they hit. This catches edge cases your crawlers miss.
The goal is to catch new broken links within days, not months.
Broken Links — 2026 FAQ
Does fixing broken links directly improve Google rankings?
Not always directly, but fixing them removes crawl waste and restores link equity flow — both of which contribute to better indexing and ranking for pages that were losing equity to dead URLs. The impact is most visible on large sites with many internal links.
Should I use 301 or 302 redirects for broken links?
Use 301 for anything permanent — which is almost every case when fixing a broken link. A 302 signals “temporary” and may not pass full link equity. Only use 302 if the page is genuinely going to return at the original URL.
How often should I audit for broken links?
For small sites (under 500 pages), monthly is sufficient. For larger or frequently updated sites, weekly GSC checks plus monthly full crawls. After any CMS migration, audit immediately.
Is Screaming Frog still the best tool for this in 2026?
It remains one of the most thorough crawlers for local site audits. Ahrefs and Semrush Site Audit are competitive alternatives with the advantage of automated scheduling. GSC is always the right free starting point since it shows what Google is actually finding.
Related reading: Top 3 Backlink Building Strategies · How to Use Link Building for Lead Generation · How to Get Sitelinks on Google Search Results
The shorter version
If you’re reading this because the workflow it describes is eating your week, that’s the kind of loop I build AI agents for. Two build slots open at a time.
Updated for May 2026
A short note from May 2026: the workflow this post describes was checked against the current state of the underlying tools and platforms. Where specific tools, UIs, or features have evolved, the structural advice still holds — the implementation will look slightly different in 2026. If you hit a step that doesn’t match what you see on screen, that’s likely a UI refresh, not a fundamental change in approach. Drop a note via the contact form and I’ll patch it explicitly.
Every Wednesday. 28,400+ operators. Zero fluff.
✓ Check your inbox — click the confirmation link to complete sign-up.
✓ You're subscribed!
✓ You're already on the list.
Get the AI playbook in your inbox
Every Wednesday. 28,400+ operators. Zero fluff.
Check your inbox.
We sent you a confirmation email — click the link inside to complete your subscription. Check spam if you don't see it within a minute.
You're subscribed.
Welcome — the next edition lands in your inbox soon.
You're already on the list — look for it every Wednesday.