links.missing-fragment
Same-page links (href="#name") point to an id that no element on the page has, so the link goes nowhere.
What to change
Give the target element the id the link names, or fix the link. If JavaScript handles the click (a menu or modal toggle), use a <button> instead of <a href="#...">.
A finding of this rule on a page carries the exact edits for that page: the markup it quotes, and what to write instead.
When it runs
Runs on every SEO audit: of a page, a crawl, a build directory or HTML. Info is a best practice: worth doing, rarely urgent, and --no-info leaves it out. Each finding takes 1 point off the page's score.
The severity here is the rule's usual one: a finding can be raised or lowered when the page gives a reason.
Run it, or skip it
Check a page for this rule alone, after a fix for instance:
npx @rivi-software/agentic-seo-check audit https://example.com --rule links.missing-fragment
Or from an assistant, with the MCP tool seo_audit_page:
{
"url": "https://example.com",
"rules": [
"links.missing-fragment"
]
}
To leave it out of an audit, pass --disable links.missing-fragment on the command, or disableRules: ["links.missing-fragment"] to a tool.
More in Links
All 13 rules- Warning
links.hash-routeInternal links whose fragment is a route ("#/products", "#!/products"). Google ignores the fragment, so it cannot reach these views as pages of their own. - Warning
links.insecure-internalInternal links use http:// while the page is served over https://. - Info
links.nofollow-internalInternal links carry rel="nofollow". - Info
url.uppercaseThe page's URL path has uppercase letters. Google treats /Page and /page as two URLs, so links that differ in case split signals or end in a 404. - Info
url.underscoresThe page's URL path separates words with underscores; Google recommends hyphens. - Warning
url.session-idThe page's URL or its internal links carry a session id (jsessionid, PHPSESSID, sid), so every visit creates new URLs for the same content. - Info
links.tracking-parametersInternal links carry campaign tracking parameters (utm_*, gclid, fbclid), which make crawlers fetch duplicate URLs and overwrite the visit's real traffic source in analytics. - Error
links.local-hostA public page's canonical, og:url, og:image, hreflang, images or scripts point to localhost, a .local or .test host, or a private network address, which work only on the developer's machine (error). Only <a> links there is info: a setup guide may mean them.