Glossary
URL parameter
A URL parameter is a key and value in the query string after the question mark. Parameters divide into two kinds with very different consequences: those that change what the page returns — a filter, a page number, a search term — and those that do not, such as campaign tags a crawler has no reason to treat as a separate page. Confusing the two is how a site ends up with thousands of URLs serving the same content.
The two kinds, and why the distinction matters
Content-changing parameters produce genuinely different pages: a category filter, a sort order, a pagination offset, a search query.
Tracking parameters change nothing about the response and exist for attribution — campaign tags, referral identifiers, session markers appended by a third party.
A crawler discovering the same page under twenty tracking parameters has twenty URLs for one piece of content, and ranking signals are divided among them.
The canonical tag is what resolves this: every variant declares the clean URL as the version that should be indexed.
Where parameters multiply out of control
Faceted navigation, where several independent filters combine. Five filters with four options each is over a thousand URLs, most of them near-identical.
Sort orders applied on top of filters, which multiply the count again without changing what is on the page.
Session or tracking identifiers appended automatically, which give every visitor's shared link its own URL.
The crawl consequence is real: a budget spent on combinations is a budget not spent on the pages that matter.
What to do about them
Canonical tags on every parameterised variant, pointing at the clean URL. This is the single most effective measure and it costs one tag.
A robots directive to stop crawling the combinations that carry no value, which preserves budget and does not consolidate signals on its own.
Consistency: the same parameters in the same order producing the same URL, rather than the same page answering at several orderings.
Not removing the parameters. They serve a purpose — the point is telling crawlers which URL is the one that counts.
How it is observed
Scheme, host variant, trailing slash, case and parameters are compared across the URLs really fetched, which is what surfaces the same page answering at several addresses.
Canonical tags are read on parameterised URLs, since that is where they do most of their work.
Whether a parameter changes the content is inferred from the responses observed, which is a strong indication rather than a certainty.
Combinations the crawl did not reach are not measured, so a large faceted space is sampled rather than enumerated.
Fragments are not parameters
Everything after a hash is a fragment, and it is never sent to the server — the browser keeps it.
Which means two URLs differing only by fragment are one URL as far as a server, a cache or a crawler is concerned.
Applications that route on the fragment therefore serve one page to crawlers regardless of how many views they present to a person.
A query parameter is the opposite: it travels with the request, so every distinct value is a distinct URL to everything in the path.
Frequently asked questions
- Do tracking parameters hurt SEO?
- They create duplicate URLs for one page, which divides signals and spends crawl budget. A canonical tag pointing at the clean URL resolves both without removing the parameters.
- Should I block parameters in robots.txt?
- It preserves crawl budget and does not consolidate ranking signals — a blocked URL cannot be crawled, so its canonical tag is never read. Use both, for different jobs.
- Does parameter order matter?
- To a crawler, yes: two orderings are two URLs. Serving one consistent order, or declaring a canonical, keeps them from being treated as separate pages.
Sources
Related
VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.
Scan a website