Skip to content
September 25, 2026

How to Find Broken Links on a Website: Complete Guide

How to Find Broken Links

How to Find Broken Links on a Website: Complete Guide for 2026

Broken links are one of the most common website maintenance problems. A page can work perfectly today and still contain broken links tomorrow because a URL was deleted, a page was moved, a domain changed, an external resource disappeared, or a server started returning an error.

The difficult part is not simply discovering that a URL returns an error. A useful broken-link audit needs to answer three questions:

  • Which link is broken?
  • Which page contains the broken link?
  • What should you do about it?

This guide explains how to find broken links on a website, how to understand different HTTP status codes, how to identify the page containing a broken link, how to fix common link problems, and how to verify that the problem is actually resolved.

For a fast website-wide check, you can also use a free broken link checker to crawl your pages and identify broken URLs and the pages where they were found.

What Is a Broken Link?

A broken link is a hyperlink that does not successfully take a visitor to the intended destination. The destination may no longer exist, the server may be unavailable, access may be blocked, or the URL may have been changed.

For example, imagine a blog post contains a link to:

https://example.com/old-guide/

If that page has been permanently removed and the server returns a 404 Not Found response, the link may now be broken.

Broken links can occur in:

  • Navigation menus
  • Blog posts
  • Product pages
  • Category pages
  • Footer links
  • Images and media resources
  • Internal links
  • External links
  • Download links
  • Buttons and calls to action
  • Older archived content

A broken-link audit is therefore more than checking whether your homepage works. You need to examine the links throughout the website.

Why Should You Find Broken Links?

Finding broken links is primarily a website quality and maintenance task, but it can also affect how users and search engines interact with your site.

1. Improve user experience

A visitor clicking a link expects to reach useful content. A dead link interrupts that journey and can make the website appear poorly maintained.

2. Keep internal navigation working

Internal links help visitors move between related pages. They also help search engines discover pages through the site’s link structure. Broken internal links can therefore create unnecessary navigation and crawling problems.

3. Maintain useful external references

External links can become outdated when another website removes or changes a page. Regularly checking external links helps you keep references useful and accurate.

4. Identify outdated content

A broken link can reveal a larger content-maintenance issue. For example, an old article may contain several links to pages that have been moved or retired.

5. Find URL changes after migrations

Website redesigns, domain migrations, URL structure changes, and CMS changes can create large numbers of broken links if old URLs are not updated correctly.

However, it is important not to assume that every 404 is a problem. A URL that intentionally no longer exists can correctly return a 404 or 410 response. The important question is whether your website still links to that URL when it should not.

Internal Links vs External Links

Before running an audit, understand the difference between internal and external broken links.

Type Example Typical action
Internal link A page on your website linking to another page on the same website Update the URL, restore the page, redirect it, or remove the link
External link Your website linking to another domain Verify the destination, replace the resource, or remove the link
Broken backlink Another website linking to a missing page on your website Consider restoring the page or redirecting the URL when appropriate

These three situations are related but should not be treated as the same problem.

How to Find Broken Links on a Website

There are several ways to find broken links. The right method depends on the size of your website and the type of information you need.

Method 1: Crawl the Website With a Broken Link Checker

For a website-wide audit, crawling is usually the most practical approach.

A crawler starts with a page, discovers links, follows eligible URLs, checks their responses, and builds a report of the links it encounters.

A useful broken-link report should provide more than just a list of failed URLs. Ideally, it should tell you:

  • The broken URL
  • The HTTP status
  • The page where the link was found
  • The link or anchor context
  • Whether the URL redirects
  • Additional response information when available

This source-page information is especially important. Knowing that a URL returns 404 is useful, but knowing which page contains the broken link makes the problem actionable.

ToolsVale’s Broken Link Checker is designed around this workflow: crawl a website, identify problematic links, and show where those links were found so you can investigate and fix them.

Method 2: Use Google Search Console

Google Search Console can help identify indexing and crawling issues associated with URLs Google has discovered.

It is particularly useful for investigating:

  • 404 pages
  • Soft 404s
  • Server errors
  • Indexed and non-indexed URLs
  • Crawling and indexing patterns

However, Search Console should not be considered a complete replacement for a website-wide broken-link crawler.

Search Console tells you about URLs Google knows about and problems Google encountered. A crawler can specifically inspect the links present throughout your website.

For a complete maintenance workflow, use both sources for their respective purposes.

Method 3: Use a Desktop SEO Crawler

Desktop crawlers such as Screaming Frog can perform detailed website crawls and provide information about broken responses and the pages linking to them.

This approach can be useful for larger technical audits where you need detailed crawl controls, filters, exports, and advanced analysis.

For a simple broken-link check, however, many website owners may prefer a browser-based tool that does not require installing desktop software.

Method 4: Use an SEO Platform

Platforms such as Ahrefs and Semrush provide website auditing functionality that can identify broken links and related technical SEO issues.

These platforms are useful when broken links are only one part of a larger SEO audit.

If your immediate goal is simply to answer “Which links on my website are broken?”, a dedicated broken-link checker can be a faster workflow.

Method 5: Check Individual URLs Manually

For a small number of links, you can open the destination URLs manually.

This is useful when verifying a result, but it does not scale well.

Imagine a website has 5,000 pages with dozens of links on each page. Manually opening every destination is not a practical website-wide audit strategy.

The Best Workflow for Finding Broken Links

A reliable broken-link audit should follow a simple process:

  1. Crawl the website.
  2. Identify URLs returning errors or unexpected responses.
  3. Find the page containing each problematic link.
  4. Verify the result.
  5. Determine why the link is no longer working.
  6. Choose the appropriate fix.
  7. Run the crawl again.

This is much better than blindly deleting every URL that returns something other than HTTP 200.

How to Find the Page Containing a Broken Link

This is one of the most important parts of a broken-link audit.

Suppose your crawler reports:

Broken URL:
https://example.com/old-guide/

Status:
404 Not Found

You still need to know where the link exists.

The useful report should identify something similar to:

Found on:
https://example.com/blog/seo-guide/

Anchor text:
Read our old SEO guide

Now the problem is actionable.

You can open the source page, locate the link, understand its context, and decide whether to replace, remove, restore, or redirect it.

This source-page relationship is particularly important on large websites because a single missing destination may be referenced by many pages.

What Do Different HTTP Status Codes Mean?

Not every non-200 response means exactly the same thing.

Status Meaning What to investigate
200 OK The resource responded successfully
301 Permanent redirect Check whether the link should point directly to the final URL
302 Temporary redirect Verify whether the redirect is intentional
404 Not Found Determine whether the destination should still exist
410 Gone Determine whether removal is intentional
403 Forbidden Check access restrictions and crawler behavior
429 Too Many Requests Check rate limiting and retry behavior
500 Server Error Investigate the destination server
503 Service Unavailable Check whether the problem is temporary

The correct response is therefore not always “delete the link.” You should understand the response and verify the destination before taking action.

What Is a 404 Error?

A 404 means that the server could not find the requested resource.

For example:

https://example.com/this-page-does-not-exist/

might return:

404 Not Found

A 404 is not automatically an SEO problem.

If a page has intentionally been removed and there is no appropriate replacement, allowing that URL to return a proper 404 can be completely appropriate.

The problem occurs when another page on your website still contains a link that should lead visitors to useful content but instead sends them to an unintended missing page.

What Is a 410 Error?

A 410 response indicates that a resource is intentionally gone.

For link auditing, the important question remains the same:

Should your website still be linking to this URL?

If the answer is no, the link may need to be removed or replaced regardless of whether the destination returns 404 or 410.

What Is a Soft 404?

A soft 404 is a situation where a page effectively behaves like a missing page but returns a successful HTTP response such as 200.

For example, a website may return a normal 200 response for a page displaying:

This page no longer exists.

That can make automated analysis more complicated because the HTTP status alone does not always describe the usefulness of the page.

This is why a good technical audit should consider both the HTTP response and the actual page content.

Are Redirects Broken Links?

Not necessarily.

A 301 or 302 response means the requested URL redirects somewhere else. The destination may still be perfectly valid.

However, a website with many redirects can often be cleaned up by updating old links to point directly to the final destination.

For example:

Old URL
    ↓
301 redirect
    ↓
New URL
    ↓
200 OK

If your page still links to the old URL, updating it to the final URL may reduce unnecessary redirect steps.

But a redirect should not automatically be classified as a broken link.

How to Fix Broken Internal Links

Once you have identified an internal broken link, choose the fix based on why the destination stopped working.

1. Update the link

If the content moved to a new URL, update the source page so it points directly to the new location.

2. Restore the missing page

If the page was accidentally deleted and is still valuable, restoring it may be the appropriate solution.

3. Redirect the old URL

If the old URL has been permanently replaced by a relevant new URL, a properly configured redirect can preserve the intended destination.

4. Replace the link with another relevant resource

If the original resource no longer exists, find a suitable replacement that serves the same purpose.

5. Remove the link

If there is no useful replacement and the link is no longer necessary, remove it.

How to Fix Broken External Links

External links require a slightly different workflow because you do not control the destination website.

When an external link fails:

  1. Open the destination manually.
  2. Check whether the resource has moved.
  3. Search the destination website for the replacement page.
  4. Check whether another authoritative resource provides the same information.
  5. Replace the URL if an appropriate alternative exists.
  6. Remove the link if it no longer provides useful information.

Do not replace an external link simply because a crawler received an error once. Temporary server problems, rate limits, bot protection, and network issues can produce results that require verification.

How to Find Broken Backlinks

A broken backlink is different from a broken link on your website.

Consider this situation:

Other website
      ↓
https://yourwebsite.com/old-page/
      ↓
404 Not Found

In this case, another website is linking to a page on your domain that no longer exists.

Depending on the value and relevance of the old URL, you may consider restoring the page or redirecting the old URL to a closely related replacement.

Broken backlink analysis is therefore a separate but related part of link maintenance.

Can Broken Links Hurt SEO?

There is an important distinction between having a URL that returns 404 and having a website filled with broken links that prevent users from reaching intended content.

A genuine 404 page is not automatically a search-engine penalty. Websites naturally have URLs that are removed over time.

The more useful question is:

Are broken links preventing users or crawlers from reaching pages that should be accessible?

That is why broken-link auditing should focus on the relationship between the source page and the destination URL, rather than treating every 404 response as an emergency.

Why Different Broken Link Checkers Can Find Different Results

If you test the same website with two different tools, you may not always receive identical results.

This can happen because different crawlers use different:

  • Starting URLs
  • Crawl limits
  • URL discovery methods
  • Redirect handling rules
  • User agents
  • Timeout settings
  • Retry behavior
  • JavaScript rendering capabilities
  • Robots.txt handling
  • URL normalization rules

A website can therefore appear healthy in one test and produce additional issues in another.

This does not automatically mean one tool is wrong. The crawlers may simply be examining different parts of the website under different conditions.

Can JavaScript Affect Broken-Link Crawling?

Yes.

Modern websites can generate links dynamically using JavaScript. A crawler that only examines the initial HTML may discover a different set of links from a crawler that renders the page and processes the resulting DOM.

This is especially relevant for:

  • JavaScript applications
  • Client-side navigation
  • Dynamic menus
  • Lazy-loaded content
  • Interactive components
  • JavaScript-generated URLs

For this reason, advanced website audits should consider how links are actually rendered and discovered.

Can an XML Sitemap Help Find Broken URLs?

Yes, but a sitemap and a link crawler serve different purposes.

An XML sitemap provides a list of URLs that a site wants search engines to discover and crawl.

A crawler following internal links discovers URLs through the website’s link structure.

Using both can provide better coverage.

For example:

Internal links
       +
XML sitemap
       +
Known URL lists
       ↓
Broader URL discovery
       ↓
More complete audit

This is particularly useful for websites containing pages that are not well connected through internal links.

How Often Should You Check for Broken Links?

The ideal frequency depends on how often your website changes.

Website type Suggested approach
Small static website Check periodically and after major changes
Business website Run regular automated audits
Active blog Audit regularly as content and references change
E-commerce website Check frequently because products and URLs change often
Large website Use scheduled or repeatable crawling workflows

You should also run a new audit after:

  • A website migration
  • A domain change
  • A major URL restructuring
  • A CMS migration
  • A large content deletion
  • A redesign
  • Changing navigation
  • Removing products or categories

Common Broken-Link Checking Mistakes

Mistake 1: Treating every 404 as a problem

A 404 can be intentional. First determine whether your website should still link to the missing URL.

Mistake 2: Looking only at the broken URL

Always identify the page containing the link. The source page tells you what needs to be changed.

Mistake 3: Ignoring redirects

Redirects are not necessarily broken, but old links pointing through unnecessary redirects can often be cleaned up.

Mistake 4: Trusting one crawler result without verification

Temporary server failures, rate limiting, bot protection, and network issues can produce misleading results.

Mistake 5: Checking only internal links

External resources can disappear or move just as easily as internal pages.

Mistake 6: Checking only the homepage

A website can have a perfectly functioning homepage while thousands of deeper pages contain outdated links.

Mistake 7: Fixing links without rechecking them

After making changes, crawl the website again and confirm that the original problem is actually resolved.

How to Find Broken Links With ToolsVale

If you want a straightforward way to audit a website, ToolsVale’s Broken Link Checker provides a dedicated workflow for finding broken links.

The basic process is:

  1. Enter the website you want to audit.
  2. Start the crawl.
  3. Allow the crawler to discover links across the site.
  4. Review URLs returning problematic responses.
  5. Check the page where each link was found.
  6. Investigate the destination and determine the appropriate fix.
  7. Make the required changes on your website.
  8. Run the crawl again to verify the result.

The most useful part of this workflow is not simply finding a 404. It is connecting the broken destination to the page that contains the broken link.

That turns a technical error into an actionable maintenance task.

A Simple Broken-Link Audit Checklist

Use this checklist whenever you audit a website:

  • ☐ Crawl important website pages
  • ☐ Identify 404 responses
  • ☐ Check 410 responses
  • ☐ Review 5xx server errors
  • ☐ Investigate timeouts
  • ☐ Review 403 and access-related results
  • ☐ Check redirects
  • ☐ Identify the source page for each problematic link
  • ☐ Review the anchor text and context
  • ☐ Separate internal and external links
  • ☐ Check important external references
  • ☐ Investigate broken backlinks separately
  • ☐ Review sitemap URLs where appropriate
  • ☐ Fix or remove genuinely broken links
  • ☐ Re-crawl the website
  • ☐ Confirm that fixes are working

Frequently Asked Questions

What is the easiest way to find broken links on a website?

The easiest approach for a website-wide audit is to use a broken link checker that crawls the site automatically. This is much faster than opening individual URLs manually and can also identify the page where a broken link was found.

How do I find broken links for free?

You can use free tools such as website broken-link checkers and Google Search Console for different parts of the audit. A dedicated crawler is useful when you need to scan pages and identify the source pages containing broken links.

How do I check if a link is broken?

Open the destination URL and check its response. For larger websites, use a crawler that checks URLs automatically and reports HTTP status codes and source pages.

Are all 404 links bad?

No. A 404 can be intentional when a page has genuinely been removed. The important question is whether your website contains a link that should lead users to a valid resource but instead points to a missing page.

What is the difference between a broken link and a broken backlink?

A broken link is usually a link on your website that points to a problematic destination. A broken backlink is when another website links to a URL on your website that is missing or no longer available.

Can broken links hurt SEO?

Broken links can create usability and website-maintenance problems, and broken internal links can interfere with navigation and discovery. However, an individual legitimate 404 is not automatically an SEO penalty.

Should I remove every link that returns 404?

No. First determine why the destination returns 404 and whether the page should still exist. You may need to update the URL, restore the page, redirect it, replace the resource, or remove the link.

How often should I check my website for broken links?

Websites that change frequently should check more often than static websites. You should also run a fresh audit after migrations, redesigns, URL changes, large content updates, or major content removals.

Can I find broken external links too?

Yes. A website crawler can check external destinations linked from your pages. External links should be verified before replacement because temporary server failures or access restrictions can sometimes produce errors.

Final Takeaway

Finding broken links is not simply a matter of collecting URLs that return 404.

A useful audit connects the broken destination with the page that contains the link, explains what the HTTP response means, verifies whether the problem is genuine, and helps you choose the appropriate fix.

The most effective workflow is simple:

Find
  ↓
Verify
  ↓
Locate the source page
  ↓
Understand the problem
  ↓
Fix
  ↓
Re-crawl
  ↓
Confirm

For a quick website-wide check, use a dedicated broken link checker to discover broken URLs and identify where they occur. For larger technical audits, combine crawling with tools such as Google Search Console, sitemap analysis, and other SEO crawlers.

Most importantly, don’t treat every error as identical. A 404, redirect, timeout, 403, and server error can require completely different actions. The goal of a good broken-link audit is not to eliminate every non-200 response—it is to make sure your website’s links lead users and crawlers to the resources they are actually supposed to reach.