How to Find and Fix Broken Links on Your Website in 2026
Broken links are one of the most overlooked technical SEO problems. Every 404 error on your site wastes crawl budget, leaks link equity, and frustrates users. This guide walks through the complete process of finding broken links using free and premium tools, then fixing them with the right strategy for each situation.
On this page
A study by Semrush found that 42 percent of websites have broken internal links. That is nearly half of all sites on the web leaking ranking potential through dead-end URLs. The problem gets worse over time as content is updated, pages are reorganized, and external sites change their URL structures.
Finding and fixing broken links is one of the highest-impact, lowest-effort technical SEO tasks you can perform. Unlike complex algorithm changes or content strategy overhauls, broken link fixes are straightforward and their impact is immediate. Once you set up a system for regular monitoring, the process becomes almost automatic.
This guide covers everything from understanding why broken links damage your SEO to implementing redirects in various platforms. We will use our Internal Link Analyzer and Redirect Chain Checker as diagnostic tools alongside Google Search Console and Screaming Frog.
Why Broken Links Hurt Your SEO
Broken links cause damage through three distinct mechanisms. Understanding each one helps you prioritize which broken links to fix first and which fixes will produce the biggest improvement.
Three Ways Broken Links Damage Rankings
Crawl Budget Waste
Google allocates a finite crawl budget to every website. When Googlebot follows a link and encounters a 404 error, that crawl request is wasted. On large sites with hundreds of broken links, this can significantly reduce how much of your site Google indexes. New content gets discovered slower, and updates take longer to appear in search results.
Link Equity Loss
When an external site links to a page on your domain that no longer exists, the link equity (PageRank) from that backlink is completely lost. It does not flow anywhere. If that backlink came from a high-authority domain, you are losing significant ranking power. Fixing this with a 301 redirect recovers approximately 90 to 99 percent of the original link equity.
User Experience Degradation
Users who click a link and land on a 404 page are likely to leave your site entirely. This increases bounce rate and decreases session duration. While Google has not confirmed these as direct ranking factors, the correlation between strong user engagement metrics and higher rankings is well documented.
The cumulative effect is significant. A site with 100 broken internal links and 50 broken inbound links could be losing thousands of dollars per month in organic traffic. The fix for most of these is a five-minute 301 redirect. The return on investment for broken link fixes is among the highest of any technical SEO activity.
Types of Broken Links
Not all broken links are the same. Each type requires a different identification method and fix strategy.
| Type | Description | SEO Impact | Fix Priority |
|---|---|---|---|
| Broken internal links | Links within your site pointing to deleted pages | Crawl budget + UX | High |
| Broken inbound links | External sites linking to your deleted pages | Link equity loss | Critical |
| Broken outbound links | Links from your site to external sites that return 404 | UX + trust | Medium |
| Redirect chains | Multiple redirects in sequence (A to B to C) | Speed + equity loss | High |
| Soft 404s | Pages that return 200 status but show error content | Index bloat | High |
Step-by-Step: Finding Broken Links
Use multiple tools to build a complete picture. Each tool catches different types of broken links, and relying on a single tool will leave gaps.
Method 1: Google Search Console
Google Search Console is the most authoritative source for broken link data because it shows what Google itself has encountered while crawling your site.
- Open Google Search Console and navigate to Pages (formerly Coverage)
- Click on Not indexed to see pages Google found but did not index
- Look for Not found (404) entries
- Click each URL to see referring pages (where the broken link lives)
- Export the full list for systematic fixing
Method 2: Screaming Frog Crawl
Screaming Frog is the industry standard for comprehensive site crawls. The free version crawls up to 500 URLs, which is sufficient for small to medium sites.
- Download and install Screaming Frog SEO Spider
- Enter your domain URL and start the crawl
- When complete, go to Response Codes tab and filter by Client Error (4xx)
- Switch to the Inlinks tab to see which pages link to each broken URL
- Export to CSV for analysis and fixing
Method 3: Our Internal Link Analyzer
Our Internal Link Analyzer scans your site structure and identifies broken internal links, orphan pages (pages with no internal links pointing to them), and pages with excessive internal links. It also shows your internal PageRank distribution so you can see where link equity flows across your site.
Method 4: Browser Developer Tools
For quick spot-checks on individual pages, use your browser DevTools to see failed requests:
- Open Chrome DevTools (F12) and go to the Network tab
- Reload the page
- Filter by status codes: look for 404 entries in red
- These show broken resource links (images, scripts, stylesheets) and API calls
Quick Audit Checklist
- 1. Export all 404 pages from Google Search Console
- 2. Run a Screaming Frog crawl filtered by 4xx status codes
- 3. Check Internal Link Analyzer for broken internal links
- 4. Use Redirect Chain Checker to find redirect loops and chains
- 5. Check backlink tools (Ahrefs, Semrush) for broken inbound links
- 6. Prioritize by impact: high-authority broken inbound links first
Fixing Broken Links with 301 Redirects
A 301 redirect is the correct solution when content has moved to a new URL or when you need to capture link equity from broken inbound links. The 301 tells search engines that the move is permanent and that all ranking signals should transfer to the new URL.
Apache .htaccess Redirects
.htaccess - 301 redirect examples
# Single page redirect
Redirect 301 /old-page /new-page
# Redirect with full URL (useful for domain changes)
Redirect 301 /blog/old-post https://example.com/blog/new-post
# Pattern-based redirects using RewriteRule
RewriteEngine On
# Redirect an entire directory
RewriteRule ^old-section/(.*)$ /new-section/$1 [R=301,L]
# Redirect all URLs with a specific parameter
RewriteCond %{QUERY_STRING} ^id=123$
RewriteRule ^product$ /products/widget-name? [R=301,L]
# Redirect non-www to www
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]Nginx Redirects
Nginx - Server block redirect examples
server {
# Single page redirect
location = /old-page {
return 301 /new-page;
}
# Redirect entire directory
location /old-section/ {
rewrite ^/old-section/(.*)$ /new-section/$1 permanent;
}
# Regex redirect for pattern matching
location ~ ^/blog/(\d{4})/(\d{2})/(.+)$ {
return 301 /blog/$3;
}
}Next.js Redirects
For Next.js applications (like this website), redirects are configured in the next.config.ts file:
next.config.ts - Next.js redirect configuration
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
async redirects() {
return [
// Simple redirect
{
source: '/old-blog-post',
destination: '/blog/new-blog-post',
permanent: true, // 301 redirect
},
// Wildcard redirect for entire section
{
source: '/old-section/:slug*',
destination: '/new-section/:slug*',
permanent: true,
},
// Redirect with path parameter
{
source: '/products/:id(\\d+)',
destination: '/shop/product/:id',
permanent: true,
},
// Redirect based on query parameter
{
source: '/search',
has: [{ type: 'query', key: 'category', value: 'seo' }],
destination: '/blog/seo',
permanent: true,
},
]
},
}
export default nextConfigWordPress Redirects
For WordPress sites, the Redirection plugin is the most reliable option. It provides a GUI for creating redirects and automatically logs 404 errors so you can catch new broken links as they appear. For larger sites, managing redirects at the server level (Nginx or Apache) is more performant than PHP-based plugin redirects.
When to Update Links Instead of Redirecting
Redirects are not always the best solution. In several scenarios, directly updating the link is the better approach:
Broken Outbound Links
When a link from your site to an external site is broken, you cannot create a redirect on someone else's server. Instead, find the current URL for that content (it may have moved) or find an alternative resource, and update the href in your content.
Internal Links to Deleted Content
If you deleted a page because the content is no longer relevant and there is no replacement page, the best fix is to remove the link entirely rather than redirecting to an unrelated page. Redirecting users to irrelevant content creates a worse experience than removing the link.
Typos in URLs
If a link is broken because of a typo in the href (like /blog/seo-stratagy instead of /blog/seo-strategy), fixing the typo directly is cleaner than creating a redirect. Search your codebase for the misspelled URL and correct every instance.
For large Next.js codebases, you can find all instances of a broken URL using a simple search across your source files. In smaller projects, a find-and-replace across your content files handles this efficiently. Our Internal Link Analyzer maps every internal link on your site, making it easy to identify every page that contains a specific broken URL.
Finding and Fixing Redirect Chains
Redirect chains happen when one redirect leads to another. For example: /old-page redirects to /renamed-page which redirects to /final-page. Each hop adds latency (typically 50 to 200 milliseconds) and Google may drop a small percentage of link equity at each step. Use our Redirect Chain Checker to identify these on your site.
Redirect chain example and fix
# Problem: Redirect chain (3 hops)
/old-page -> 301 -> /renamed-page
/renamed-page -> 301 -> /new-section/page
/new-section/page -> 301 -> /final-page
# Fix: Update all redirects to point directly to final destination
/old-page -> 301 -> /final-page
/renamed-page -> 301 -> /final-page
/new-section/page -> 301 -> /final-pageRedirect Loops
A redirect loop is worse than a chain. It occurs when page A redirects to page B, which redirects back to page A. The browser will try to follow the loop several times before giving up and displaying an error. This makes the page completely inaccessible to both users and search engines.
Identifying and fixing redirect loops
# Redirect loop (broken)
/page-a -> 301 -> /page-b
/page-b -> 301 -> /page-a
# Browser error: ERR_TOO_MANY_REDIRECTS
# Fix: Remove one of the redirects and decide which URL is canonical
# Keep /page-b as the canonical URL:
/page-a -> 301 -> /page-b
# Delete the /page-b -> /page-a redirect entirelyCommon causes of redirect loops include conflicting rules in .htaccess and server config files, HTTP-to-HTTPS redirects that conflict with www-to-non-www redirects, and CMS plugins that create redirects without checking for existing rules. Always test your redirects after adding them using a tool like our Redirect Chain Checker or the curl command line utility:
Testing redirects with curl
# Follow redirects and show each hop
curl -IL https://example.com/old-page
# Expected output for a clean redirect:
# HTTP/2 301
# location: https://example.com/new-page
# HTTP/2 200Preventing Broken Links from Occurring
The best approach to broken links is preventing them in the first place. Build these practices into your workflow to minimize the number of broken links that appear on your site.
Create Redirects Before Deleting Pages
Before removing any page from your site, check whether it has inbound links (both internal and external). Use Google Search Console and your backlink tool of choice. If the page has backlinks, create a 301 redirect to the most relevant replacement page before deleting the original. This should be a required step in your content management workflow.
Use Relative URLs for Internal Links
Relative URLs like /blog/seo-guide are less prone to breaking than absolute URLs like https://example.com/blog/seo-guide because they survive domain changes, protocol changes (HTTP to HTTPS), and subdomain changes without modification.
Set Up Automated Monitoring
Schedule a weekly or monthly crawl with Screaming Frog or a similar tool to catch new broken links before they accumulate. Many tools can email you a report automatically. For continuous monitoring, services like Little Warden or ContentKing check your site daily and alert you the moment a new 404 appears.
Build a Custom 404 Page
When broken links do occur, a well-designed 404 page minimizes the damage by keeping users on your site. Include a search bar, links to your most popular content, and a clear message that the page has moved:
Next.js - Custom 404 page (app/not-found.tsx)
export default function NotFound() {
return (
<div className="min-h-screen flex items-center justify-center">
<div className="text-center max-w-lg px-6">
<h1 className="text-6xl font-bold text-gray-900 mb-4">404</h1>
<p className="text-xl text-gray-600 mb-8">
This page has moved or no longer exists.
</p>
<div className="space-y-4">
<a href="/" className="block bg-indigo-600 text-white
px-6 py-3 rounded-lg font-semibold hover:bg-indigo-700">
Go to Homepage
</a>
<a href="/blog" className="block text-indigo-600
font-medium hover:text-indigo-800">
Browse Our Blog
</a>
<a href="/free-seo-audit" className="block text-indigo-600
font-medium hover:text-indigo-800">
Get a Free SEO Audit
</a>
</div>
</div>
</div>
)
}A good 404 page reduces the bounce rate from broken link encounters by 30 to 50 percent. It also provides an opportunity to capture leads who might otherwise leave your site entirely. For a comprehensive overview of all link-related issues, consider running our full SEO audit which covers broken links alongside 50 other technical factors. You can also start with a free SEO audit to see how your site scores.
Frequently Asked Questions
How do broken links affect SEO?
Broken links hurt SEO in three ways. They waste crawl budget because search engines follow dead links and receive 404 errors instead of useful content. They create a poor user experience that increases bounce rates. And broken inbound links lose the link equity that was passed from referring domains, meaning you forfeit ranking power from those backlinks.
How often should I check for broken links?
Check for broken links at least monthly for small sites (under 500 pages) and weekly for large sites or sites with frequently changing content. Set up automated monitoring with a crawler scheduled on a regular basis. Also run a manual check after any major content migration, URL structure change, or site redesign.
Should I use a 301 redirect or fix the link directly?
Use a 301 redirect when content has moved to a new URL and you need to preserve link equity from external backlinks. Update the link directly when dealing with outbound links to external sites, internal links caused by typos, or links pointing to content that has been deleted with no equivalent replacement page.
What is a redirect chain and why is it bad?
A redirect chain occurs when one redirect leads to another redirect, creating multiple hops before reaching the final destination. Each hop adds 50 to 200 milliseconds of latency and can cause search engines to lose a small percentage of link equity. Fix chains by pointing all intermediate redirects directly to the final destination URL.
Do broken external links hurt my SEO?
Broken external links (links from your site to other sites that return 404 errors) do not directly hurt your rankings. However, they damage user experience and perceived content quality. Users who encounter dead links may question the reliability of your information. Fix broken external links as part of routine content maintenance.
How do I find broken links pointing to my site from other websites?
Use Google Search Console to find pages returning 404 errors that have inbound links. You can also use tools like Ahrefs or Semrush to check your backlink profile for links pointing to non-existent URLs. For each broken inbound link from a high-authority domain, create a 301 redirect to the most relevant existing page to recover that link equity.
Related Articles
Technical SEO Audit Checklist
Complete checklist covering every technical factor that affects rankings.
Advanced Link Building Strategies
Build high-quality backlinks with proven outreach and content strategies.
Top 15 Technical SEO Issues
The most common technical problems and how to fix each one.
How to Do an SEO Audit
Step-by-step guide to running a comprehensive SEO audit on any website.