Discoverability
How to find and fix broken internal links
What 13x checks
This is rule discoverability.broken-links in the public registry: No broken internal links. It runs on every audit, against the pages we actually fetched, and its result is derived from the response rather than estimated.
- Surface
- Discoverability
- Score weight
- 10 of the readiness score
- Scope
- Reported as skipped when the page renders only with JavaScript
- Applies
- To every site
Registry version 2026-07-30. Every rule is published, and the audit is deterministic — the same page produces the same finding every time.
The fix
The same text the audit hands you when this check fails on your own site.
These internal links do not resolve. Each one is a visitor hitting a dead end and a crawler wasting budget.
For each: either fix the href, restore the page, or add a 301 to wherever the content moved.
Distinguish the two cases:
- 404 — the URL is wrong or the page is gone. If it ever had traffic or inbound links, redirect it rather than leaving it dead. - 5xx — the route exists and the code behind it is failing. This is a bug, not a link problem, and nobody will report it to you. Check the server logs for that path.
To keep them from coming back, add a link check to CI:
npx linkinator https://example.com --recurse --skip "^(?!https://example.com)"Does your site have this problem?
13x checks this and 112 others against your live URL in about 30 seconds. No account, and every finding comes with the fix for your framework.
No signup. Results in 30 seconds.
More discoverability checks
- robots.txt is blocking my whole siterobots.txt does not block the whole site
- Why is my site not appearing in Google — noindexNo accidental noindex
- How to add a sitemap.xmlsitemap.xml exists and is reachable
- How to set canonical URLs correctlyCanonical URLs are set and consistent
- How to add a robots.txt filerobots.txt exists and is valid
- How to declare a sitemap in robots.txtSitemap is declared in robots.txt