Skip to content

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