Broken links
A broken link is invisible until someone clicks it. How they accumulate, what a 404 costs on a page that otherwise works, and how to catch them.
What it is
This check takes the links found on the scanned page and requests each one, preferring a HEAD request and falling back to GET for servers that refuse it. Anything answering 400 or above, or not answering inside the timeout, is reported with the status it returned.
It is bounded on purpose: a sample of the page's links rather than all of them, each with a few seconds to respond. An unbounded link check against a page with hundreds of outbound links is a denial-of-service attack you accidentally ran on someone else's server.
Why it matters
Broken links are the defect most likely to exist on a site nobody thinks is broken. They accumulate passively: an external site reorganises, a page is renamed, a product is retired, and nothing on your end emitted an error when it happened.
This is also the class of problem a single-page checker structurally cannot find. A link is only broken relative to its destination, so finding them means following them — which is why crawling exists as a category of tool at all.
How to fix it
Moved -> update the href to the new location
Gone -> remove the link, or point it at an archived copy
Yours -> add a 301 from the old path to the new one, so every other site's link keeps working
Flaky -> re-check before deleting: a timeout is not always a 404Related checks
4This is one of the 75 checks the scanner runs. See what we check for the full list, every severity weight, and how the score is computed from them.