Checkers
Every link on the page requested, with blocked and broken told apart
A 404 in your navigation is the least arguable defect an audit can find, and it is invisible to every static check - the markup is perfectly valid, the destination just is not there any more.
Every link on the scanned page is requested and its status recorded. What makes the result trustworthy is the part most link checkers get wrong: a huge share of the web sits behind Cloudflare or a WAF that answers automated clients with 403 or 429 while serving humans normally. LinkedIn, Instagram and most news sites do exactly this.
So results are sorted into three buckets and only one is scored. Broken is 404 or 410 - the destination says it does not exist. Server error is 5xx, which may be transient. Unverified is 401, 403, 429 or a timeout: our checker was refused, which is information about us, not about your link. Telling you to fix a working link would discredit every other finding in the report.
Why this matters
A link works on the day you publish it. Later the destination is renamed, a supplier reorganises their site, or a PDF is re-uploaded under a new filename. Your page still renders the link exactly as before and nothing on your side goes red, so the only person who finds out is the visitor who clicked.
Headers and footers are shared, so a single dead href in your navigation is a dead end on every page of the site. The people who hit it are the ones looking for contact, pricing or delivery - the pages visitors go to when they are close to buying.
Your own team uses the same five pages every day. The ones that rot are the supplier reference, the PDF price list, the booking URL and the citation in a three-year-old post. They fail on someone else's server, so nothing shows up in your own logs.
A crawler follows the same dead link and spends a fetch on a page that does not exist, and anything reachable only through that link stops being reached at all. You usually learn about it weeks later from a coverage report in Search Console, long after visitors started hitting the same dead end.
404 and 410 count as broken and nothing else does: a connection that never completed, a server that refuses the lightweight request tried first, and any status the checker does not recognise are all filed as unverified. The default is to say we could not tell, rather than to put a defect on your page.
Every result carries the number of links checked and the number not checked, and states whether the per-scan cap or the time budget was the reason. If nothing could be checked at all, the report stays silent rather than showing three passes earned by checking none.
The same run also checks the markup around your links - hrefs that are empty, hrefs that only work once JavaScript has run, pages with almost no internal links out. Every finding cites its source, here RFC 9110 for the status codes and Google's own guidance on crawlable links.
This check runs on its own here, and as part of the full audit alongside the other 985 rules. Either way the findings carry their evidence and their citation, and the report is never published or kept.
Not every reported failure is a broken link. Sorting real breakage from bot protection first saves fixing things that were never wrong.
Fix genuine 404s by correcting the URL or restoring the page. These are the ones costing you visitors and crawl budget.
Replace links to permanently moved pages with the final destination rather than relying on the redirect, so link equity is not lost to a chain.
Update http:// links to https:// where the target supports it, to avoid an unnecessary redirect on every click.
Treat 403 and 429 responses with scepticism — many large sites refuse automated requests, and the link works perfectly in a browser. Verify by hand before removing it.
Re-check after any site migration or CMS change, which is when most link rot is introduced at once.
Just the domain is enough — example.com, with or without the https. No account, no card, no crawl of your whole site.
Your page opens in a real browser and JavaScript runs to completion, so what gets audited is the page a person actually sees — not the raw HTML your server sent. A screenshot comes back with the report as evidence of exactly what we measured.
Up to 986 checks run against that rendered page. Each finding names the rule, quotes the evidence found on your page, cites the public specification behind it, and says what to change. Nothing is a judgement call — run it twice on an unchanged page and the score is identical.
Named because provenance is the product. Every finding in your report says which of these produced it, so you can check the reasoning rather than take a score on faith.
This page answers these searches too — they are the same job, so they share one page rather than being split across near-identical ones:
No signup, no credit card. Quick answers in seconds; a full audit takes about a minute.
Run a free scanNo signup. No credit card. Nothing stored but the result.