Fix invalid links
SkillWeb & browsinginvalid-links is a skill for auditing a page's link elements for crawlability. It checks web pages for broken or non-crawlable links, including ones missing proper href attributes, and is useful when reviewing JavaScript-heavy SPAs where navigation may not use <a href> tags or when checking that dynamically generated links have valid href values.
Use Fix invalid links in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Fix invalid links and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Fix invalid links skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have an AI agent that can load and use skills.
What your AI can do with it
- Audit a page's link elements for crawlability
- Detect links missing proper href attributes
- Review JavaScript-heavy SPAs where navigation may not use <a href> tags
- Check that dynamically generated links have valid href values
- Identify broken or non-crawlable links
Getting started
- Have an AI agent that can load and use skills.
- Add the invalid-links skill to the agent's available skills.
- Ask the agent to audit a page's links, review a SPA's navigation, or check dynamically generated links.
What this skill tells your AI
The instructions your AI receives, as published by thedaviddias/front-end-checklist in skills/invalid-links/SKILL.md and read by ahel’s review.
Google can only follow links declared as valid <a href> elements with crawlable URL values. Invalid links — empty hrefs, JavaScript voids, or non-URL content — prevent PageRank from flowing to linked pages and stop Googlebot from discovering those destinations.
Quick Reference
- Invalid
<a>tags (empty href, JavaScript voids, non-URL values) are not crawlable — Googlebot cannot follow them - Links must use crawlable
<a href='...'>elements with valid absolute or relative URLs to pass PageRank and be followed - JavaScript-only navigation (onClick handlers without
href) is invisible to search engine crawlers
Check
Parse all <a> elements on the page. Flag links where href: (1) is empty (href='' or href='#' with no meaningful target). (2) starts with javascript: (e.g., href='javascript:void(0)'). (3) starts with mailto: or tel: — these are valid but not crawlable for page discovery. (4) contains only a fragment identifier that references an anchor not present on the page. (5) is absent entirely (<a> without any href attribute). Report the count per type.
Fix
- For links using
href='javascript:void(0)'orhref='#'as navigation triggers:- Add a real URL as the href value
- Use JavaScript to enhance the navigation, not replace it
- Before:
<a href="javascript:void(0)" onclick="openModal()">View Details</a> - After:
<a href="/products/details" onclick="openModal(event)">View Details</a>
- For
<a>elements without href (used as button-like elements):- If they trigger navigation: add href
- If they trigger actions only: change to
<button>elements
- For empty
href='': either add the correct URL or remove the<a>wrapper - For
href='#'anchors: use meaningful fragment IDs that reference actual page sections (href='#features'whereid='features'exists)
Explain
Google's documentation states that crawlable links must be <a> tags with an href attribute containing a valid URL. Links with javascript: hrefs, empty hrefs, or no href attribute are not followed by crawlers. This means pages only reachable through invalid links are not discovered by Googlebot, and any intended PageRank flow is blocked.
Code Review
Query all <a> elements in the rendered DOM. For each, extract the href attribute. Flag: absent href, empty string, '#' only, values starting with javascript:, values starting with void. Separately flag <div>, <span>, or <button> elements with onclick navigation handlers that lack a corresponding <a href> — these are not crawlable.
For full implementation details, code examples, and framework-specific guidance,
see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/seo/invalid-links
Signals
- GitHub stars
- 74k
- Forks
- 7k
- Last commit
- Oct 2026
Questions
- When should this skill be used?
- Use it when auditing a page's link elements for crawlability, reviewing JavaScript-heavy SPAs where navigation may not use <a href> tags, or checking that dynamically generated links have valid href values.
- What does it check for?
- It checks web pages for broken or non-crawlable links, including ones missing proper href attributes.
- Does it work on single-page applications?
- Yes, it is intended for reviewing JavaScript-heavy SPAs where navigation may not use <a href> tags.
Advanced
- Item type
- skill
- Key
invalid-links- Source
- github.com/thedaviddias/front-end-checklist
github.com/thedaviddias/front-end-checklist
Related picks
Skill · aaron-he-zhu
The pick for SEOseo-audit
Skill · aeonfun
The pick for SEObrowser-use
Skill · browser-use
More in Web & browsingwebapp-testing
Skill · anthropics
More in Web & browsingplaywright-cli
Skill · microsoft
More in Web & browsingbenchmark
Skill · affaan-m
More in Web & browsing