Checks

Broken internal links

Checks that internal links across the crawl point at pages that actually returned a healthy response, rather than a 404 or server error.

Updated 2026-07-19majorLinks

What this check looks for

Using the crawl's link graph, this check joins every internal link edge against the status code of its crawled target. A page fails if one or more of its outgoing internal links point at a target that returned 4xx/5xx or couldn't be fetched at all — each broken link is listed with the status it received. Uncrawled targets (status unknown) are skipped rather than assumed broken. A page whose internal links all resolve cleanly passes; a scan with no link graph built reports "na".

Why it matters

A broken internal link wastes the crawl budget search engines spend discovering your site — every hop down a dead link is a hop the crawler didn't spend on a page that actually exists. It's also a direct, visible dead-end for real visitors following your own navigation, which erodes trust in the site regardless of how good the destination content would have been. AI systems that follow internal links to gather more context about a topic hit the same dead end, and a site riddled with broken internal links reads as poorly maintained — a signal that discourages a model from treating anything else on the domain as reliably current.

How to fix it

Update or remove links pointing at pages that no longer exist, or restore the missing page:

html
<!-- Points at a deleted product page -->
<a href="/products/discontinued-model">See the older model</a>
html
<!-- Fixed: either redirect the old URL server-side, or update the link -->
<a href="/products/current-model">See the current model</a>

Run this check after any URL restructuring or content deletion — that's when internal links break in bulk.

See how your site scores on this check

Run a free scan

See how your site scores on this check.

The free teaser scan checks a sample of your pages — no account, no card.