Link Checker Module¶
Module ID: links | Type: Conditional (always included) | Profiles: All profiles
The Link Checker module performs HTML-level link quality analysis: classifying internal vs external links, validating anchor fragments, checking mailto and tel links, and verifying rel attributes.
What It Checks¶
| Check | What It Looks For |
|---|---|
| Internal links | Links to the same domain, checking for broken anchors |
| External links | Links to other domains |
| Anchor fragments | #section links that reference valid IDs on the page |
| Mailto links | Valid email addresses in href="mailto:..." |
| Tel links | Valid phone numbers in href="tel:..." |
| Rel noopener | rel="noopener" on target="_blank" external links |
| Rel nofollow | Identifies nofollow usage patterns |
| Empty links | Links with no text content or aria-label |
| JavaScript links | href="javascript:..." anti-pattern |
| Hash-only links | href="#" placeholder links |
Scoring Breakdown¶
| Criterion | Deduction | Condition |
|---|---|---|
| Broken anchor fragments | -3 per link | Links to non-existent IDs |
| External links without noopener | -2 per link | Up to -10 total |
| Empty links | -3 per link | Up to -9 total |
| JavaScript href | -5 per link | Up to -15 total |
| Hash-only links | -2 per link | Up to -6 total |
| Invalid mailto | -3 per link | Malformed email addresses |
| Invalid tel | -3 per link | Malformed phone numbers |
Auto-Detection¶
The links module is universally useful and is included in every audit by default. It activates alongside the core modules.
Example Findings¶
P2 MEDIUM: 3 broken anchor links
Links point to #pricing, #team, and #faq but no elements with those
IDs exist on the page.
Fix: Either add id="pricing", id="team", id="faq" to the target
elements, or update the links.
Effort: Low
P2 MEDIUM: 5 external links missing rel="noopener"
Links with target="_blank" without rel="noopener" expose the opener
to window.opener access from the target page.
Fix: Add rel="noopener" (or rel="noopener noreferrer") to all
target="_blank" links.
Effort: Low