Checks / Links, canonical and speed
Internal links carry tracking or language parameters
Links such as /pricing?src=nav or /?lang=es make a new address for the same page. Crawlers see many copies, split the page's links between them, and search engines can pick the tagged copy as the page to show.
internal_param_links · Links, canonical and speed · Warning
What triggers it
Internal links in a page's HTML carry a tracking parameter (such as utm_source) or a language parameter. Not flagged when every tagged address names itself as canonical.
What to change
Link to the clean address. Track clicks with an event, not a parameter, and switch language with a path (/es/), not ?lang=. Keep each page's canonical on the clean address.
Example
HTML to put in the page:
<a href="/pricing">Pricing</a>
How to confirm the fix
- Open the page, hover the links in the menu and footer: no ?utm_, ?src=, ?from= or ?lang= in the address
- Run a new crawl
How common it is
In the audits of our own sites on 26 Oct 2026 (4 sites): finding judged right on citedby.eu, civiqpass.com, hexaciv.com, resaleiq.dev.
Source: finding audit 2026-10-26 (English).
About this check
| Check ID | internal_param_links |
|---|---|
| Report section | Links, canonical and speed |
| Severity | Warning |
| How it is decided | Measured: read directly from the page or the server's response. |
| Added | Version 6, 24 October 2026 |
| Status | Measured in every report |
| Report gives the code | No, the fix is described in words |
Related checks
- Oversized images
- Internal links use #/ routes
- Links send readers to a page in another language
- Mixed content (HTTP resources on an HTTPS page)
See whether it applies to your site
Paste your address and we crawl up to 10 pages and show every issue we find, with its fix. No account, no card.
Every plan crawls up to its page limit and lists these checks with the fix: plans.
How an audit works: method