Broken links, dead anchors, redirect chains, and canonical conflicts are among the most common — and most overlooked — technical SEO problems on established websites. They accumulate silently as pages are renamed, deleted, or restructured, and they cost you crawl budget, link equity, and user experience simultaneously. This guide walks through every error type you need to find, the right tool for each, and how to prioritise fixes so the highest-impact problems get addressed first.
Why broken links hurt SEO
A broken link is any hyperlink that does not resolve to a live, accessible page. From a search engine's perspective, broken links create three distinct problems: they waste crawl budget on dead endpoints, they break the flow of PageRank between pages, and they signal poor content quality to ranking algorithms. From a user perspective, they erode trust — a visitor who clicks a link and lands on a 404 is more likely to leave the site entirely.
Crawl budget and PageRank leakage
Googlebot has a fixed crawl budget for each domain — a limit on how many pages it will crawl within a given timeframe. Every request to a broken URL consumes that budget and returns nothing useful. On large sites with thousands of pages, broken links can consume a meaningful fraction of crawl allocation, leaving newly published or updated pages undiscovered for weeks. The second issue — PageRank leakage — is more nuanced: link equity flows out through links but cannot flow into a 404 page, so it is effectively lost rather than redistributed.
The compounding effect of site migrations
Most broken links are not introduced gradually — they arrive in batches during URL restructures, CMS migrations, domain changes, and page deletions. A site that moves from `/blog/post-title` to `/articles/post-title` without setting up 301 redirects will break every internal and external link to every affected URL simultaneously. Running a complete audit immediately after any structural change catches the damage before crawlers index the broken state.
- Crawl budget waste: Every 404 response consumes crawl quota with no indexing benefit.
- PageRank leakage: Link equity sent to a dead URL is lost rather than redistributed across the site.
- Quality signals: Pages with high broken link density are associated with lower-quality content in ranking models.
- User experience: A visitor who clicks a dead link is significantly more likely to abandon the session.
- Broken anchor text signals: Internal link anchor text helps Google understand page topics — dead links remove that signal.
Note
Types of errors to audit
A complete broken link and error audit covers five distinct problem categories. Each category requires a different tool and produces different types of fixes. Understanding the full scope before you start prevents the common mistake of treating a broken link audit as simply "find dead URLs" — there are four other error types that are equally damaging and often missed.
The five error categories
- Broken internal links: Links between pages on your own site that point to deleted, renamed, or moved pages, including broken anchor fragment links (`#section-id`).
- Broken external links: Outbound links to third-party URLs that return errors, are malformed, use HTTP instead of HTTPS, or point to domains that have expired.
- Redirect chains and loops: URLs that redirect through multiple intermediate hops (chain) or that redirect in a cycle (loop), wasting crawl budget and degrading link equity.
- Canonical conflicts: Pages with canonical tags pointing to the wrong URL, using relative paths, referencing non-HTTPS targets, or self-referencing incorrectly.
- Sitemap and robots.txt errors: Sitemaps that include noindex pages, malformed XML, invalid URLs, or missing required elements; robots.txt files with directives that block key pages.
| Error type | SEO impact | User impact | Fix complexity |
|---|---|---|---|
| Broken internal links | High — wastes crawl budget, breaks PageRank | High — 404 page shown | Low — update href or add redirect |
| Broken fragment anchors | Medium — confuses crawlers, breaks ToC | Medium — page loads, scroll fails | Low — update anchor ID |
| Broken external links | Medium — quality signal degraded | Medium — external 404 | Medium — find replacement URL |
| Redirect chains (3+ hops) | Medium — PageRank dilution per hop | Low — usually transparent | Medium — consolidate to direct 301 |
| Canonical conflicts | High — incorrect page may be indexed | None — invisible to users | Low — fix canonical href |
| Sitemap errors | High — crawlers may miss pages | None — invisible to users | Low — fix XML structure |
A broken link audit is not a one-time task — it is a recurring quality check that should run after every significant content change and every deployment.
Finding broken internal links
Internal broken links fall into two categories: broken page links (the destination URL returns a 404 or has been removed from the site) and broken fragment links (the page loads correctly but the `#anchor-id` does not exist on the page). The second type is consistently underdetected because standard crawlers only check whether a page loads — they do not verify whether the specified fragment target exists within the loaded HTML.
Check fragment targets with the Broken Internal Link Checker
Paste the HTML of any page into the Broken Internal Link Checker. The tool parses every `href` attribute, extracts fragment references (`href="#section-id"`), and verifies that a matching `id` attribute exists somewhere in the same HTML document. It also flags placeholder hrefs (`href="#"`), empty href values, and duplicate IDs — all of which cause silent navigation failures that crawlers and users encounter equally.
Export and cross-reference page URLs
For inter-page broken links, export your sitemap and cross-reference every internal href across your HTML output. Tools like Screaming Frog or Ahrefs Site Audit handle this at scale. For smaller sites, you can use a batch approach: collect all unique internal URLs from your templates and check each for a 200 response. Any URL returning 404, 410, or 5xx is a broken internal link that needs either a 301 redirect or an updated href.
Prioritise by link source authority
Not all internal broken links are equally urgent. Prioritise fixes starting with broken links on your highest-traffic pages, then broken links on pages with strong external backlinks (since those pages distribute the most PageRank to their link targets), then pages linked from navigation menus or site-wide footer links. A broken link in your main navigation is worth fixing immediately regardless of the traffic level of the destination.
Broken Internal Link Checker
Paste any page HTML and detect broken fragment targets, placeholder anchors, and duplicate IDs that break navigation — browser-local, no upload.
Finding broken external links
External broken links point to third-party URLs you do not control. The most common causes are websites going offline, pages being deleted, URLs changing structure without preserving the old path, and domains expiring. From an SEO perspective, external broken links are a quality signal — a page full of dead outbound references looks stale and unreliable. From a user experience perspective, they are simply frustrating.
What the Broken External Link Checker detects
Paste your page HTML into the Broken External Link Checker and the tool analyses every outbound `href` attribute that points to an external domain. It flags malformed URLs (missing protocol, invalid characters, improperly encoded path segments), insecure HTTP links on HTTPS pages, and suspicious link patterns associated with low-quality outbound link profiles. All analysis happens in your browser — the tool does not make outbound HTTP requests to the linked URLs, which makes it fast and private but means you need to separately verify that the flagged URLs actually return errors.
When to replace vs. remove a broken external link
For every broken external link you find, the decision tree is: does a replacement exist at a different URL? If yes, update the link. If no, check whether the Wayback Machine has an archived version — link to `web.archive.org/web/*/url` as an archived citation. If neither exists and the link is only loosely relevant, remove it. Never leave a broken external link in place — it provides negative value to both users and crawlers.
Tip
Broken External Link Checker
Identify malformed external URLs, insecure outbound links, and link quality issues in any page HTML — browser-local, instantly.
Redirect chains and canonical issues
Redirect chains and canonical tag conflicts are two of the most impactful technical SEO errors because they directly affect which page Google decides to index and how much link equity each page accumulates. Neither error produces a visible user-facing problem — both are invisible to visitors — which is why they persist on sites for months or years without being noticed.
Detecting and fixing redirect chains
A redirect chain forms when a URL has a redirect that itself redirects, creating a sequence of hops before reaching the final destination. Google's crawlers follow chains up to a limit, but each additional hop reduces the PageRank passed from the original URL to the destination. A chain of three redirects passes measurably less equity than a single direct 301.
The Redirect Chain Checker analyses your redirect map or server logs and identifies chains longer than a single hop, redirect loops (URL A → B → A), and mixed HTTP/HTTPS sequences. The fix for a chain is always to update the source to redirect directly to the final destination URL, bypassing all intermediate steps.
Canonical tag audit
A canonical tag tells search engines which version of a page is the preferred one for indexing. Common canonical errors include: a page canonicalising to a URL that does not exist, a canonical tag using a relative path rather than an absolute URL, the canonical pointing to an HTTP URL when the site is HTTPS, and a page canonicalising to a different page that itself canonicalises back — a canonical loop. Any of these can cause Google to index the wrong version of a page or to distrust the canonical signal entirely.
The Canonical URL Checker validates canonical tags and URL mappings for all of these conflict patterns. Run it on any page where you suspect indexing problems, on all paginated series pages (which commonly have misconfigured canonicals), and on any page that has been migrated from an old URL.
Warning
Sitemap and robots.txt audit
Your sitemap tells search engines which pages exist and should be crawled. Your robots.txt tells crawlers which paths they are allowed to access. Both files are simple in principle but surprisingly easy to misconfigure — and errors in either can result in important pages being ignored or, worse, actively blocked.
What to check in your sitemap
- Noindex pages included: Any URL in the sitemap that also has a `noindex` robots directive sends a contradictory signal. Remove noindex pages from the sitemap.
- HTTP URLs in an HTTPS site: Every URL in your sitemap should use the HTTPS protocol. An HTTP URL in a sitemap on an HTTPS domain causes the crawler to follow a redirect on every crawl of that URL.
- 4xx and 5xx URLs: Sitemaps should only contain live, accessible pages. A broken URL in the sitemap wastes crawl budget every time Googlebot checks it.
- Missing required elements: The sitemap protocol requires a `<urlset>` wrapper and `<loc>` elements for every URL. Missing these elements renders the sitemap unparseable.
- Exceeding the 50,000 URL limit: A single sitemap file cannot contain more than 50,000 URLs. Use a sitemap index file and multiple chunk files for larger sites.
The Sitemap XML Validator checks all of these structural and protocol compliance issues from a paste of your sitemap file. No URL is fetched — the validation is entirely structural, which makes it safe for sitemaps containing internal URLs you do not want to expose. For sitemaps that are over the size limit, the Sitemap Index Splitter chunks the file into compliant pieces and generates the index file automatically.
robots.txt audit
The robots.txt Disallow directive is a blunt instrument — a single misconfigured rule can block an entire section of your site from being crawled. The most common robots.txt errors are: a `Disallow: /` directive that blocks the entire site (often left over from a staging environment), blocking CSS or JavaScript files that Google needs to render pages, and conflicting Allow/Disallow rules where the more restrictive rule takes precedence unexpectedly.
The Robots.txt Validator checks your robots.txt file for syntax errors, invalid directives, path issues, and structural best practices. Paste the file content — it never requires a live fetch of your domain — and the validator reports every issue with a plain-language description of the potential impact.
Warning
Audit workflow and prioritisation
A broken link and error audit generates findings across five categories, and not all findings are equal. Trying to fix everything simultaneously is impractical on any site larger than a few dozen pages. A prioritised workflow focuses effort on the errors with the highest SEO and user experience impact first, working down to lower-priority cleanup over subsequent sprints.
Recommended audit order
- Fix broken internal links on high-traffic pages and navigation menus — these affect both users and PageRank distribution immediately.
- Fix canonical conflicts on your most important pages — incorrect canonicals cause the wrong URL to be indexed, directly displacing your target page from rankings.
- Consolidate redirect chains to single-hop 301s — this recovers PageRank that is currently being diluted across the chain.
- Update or remove broken external links — lower urgency than internal issues but a measurable quality signal.
- Fix sitemap errors — ensures newly published pages are discovered efficiently.
- Fix robots.txt errors — critical if any blocking is suspected, otherwise lower urgency than the above.
Building a recurring audit schedule
For sites publishing content regularly, a monthly audit cadence catches accumulation before it compounds. For sites undergoing migrations or redesigns, run an audit immediately before the change to establish a baseline and again immediately after to verify every redirect is in place. Integrating automated checks into your deployment pipeline catches newly introduced broken links before they reach production — most CI/CD frameworks support simple URL validation scripts that can run as a post-deployment step.
Combining link audits with a full SEO health check
A broken link audit is one component of a broader technical SEO review. Once link and redirect issues are resolved, extend the audit to cover meta tags with the Meta Tag Analyzer tools, structured data validity with the Structured Data Validator, and HTML quality with the HTML Validator. These four checks together cover the most common technical SEO issues that prevent well-written content from ranking at its potential.
Tip
Key takeaways
- A complete broken link audit covers five error types: internal links, external links, redirect chains, canonical conflicts, and sitemap/robots.txt errors — each requires a different tool.
- Broken internal links waste crawl budget and interrupt PageRank flow; fix them starting with your highest-traffic pages and navigation menus.
- Use the Broken Internal Link Checker to detect fragment anchor failures (#section-id links) that standard crawlers miss.
- Redirect chains longer than one hop dilute PageRank — use the Redirect Chain Checker and consolidate every chain to a single direct 301.
- Canonical conflicts cause the wrong page version to be indexed — the Canonical URL Checker catches relative paths, non-HTTPS targets, and canonical loops.
- Validate your sitemap with the Sitemap XML Validator to remove noindex pages, HTTP URLs, and broken endpoints before they waste crawl budget.
- Run a broken link audit after every significant content change, URL restructure, or site migration — errors compound silently and are cheapest to fix immediately.