links.tracking-parameters
Internal links carry campaign tracking parameters (utm_*, gclid, fbclid), which make crawlers fetch duplicate URLs and overwrite the visit's real traffic source in analytics.
What to change
Link to the clean URL. Campaign parameters belong on links from emails, ads and other sites, not on links between your own pages; to measure which banner or menu item was clicked, use an analytics event instead.
The documentation on developers.google.comA 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.tracking-parameters
Or from an assistant, with the MCP tool seo_audit_page:
{
"url": "https://example.com",
"rules": [
"links.tracking-parameters"
]
}
To leave it out of an audit, pass --disable links.tracking-parameters on the command, or disableRules: ["links.tracking-parameters"] 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. - 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. - Info
links.missing-fragmentSame-page links (href="#name") point to an id that no element on the page has, so the link goes nowhere.