URL parameters
URL parameters are the key=value pairs after a question mark. They control sorting, filtering, tracking and sessions, and every mix is a distinct URL to crawlers. This page shows what to keep, what to block and how to measure impact for a small site.
By Théophile Louvart, founder of Porteur · Updated 14 September 2026 · Markdown
What URL parameters create
Parameters create alternate views of one base page. /hoodies?sort=price, /hoodies?color=red and /hoodies?sort=price&color=red are different URLs.
Filters, sorts and pagination help users. Crawlers see them as separate addresses. That multiplies pages fast and can drown the canonical in duplicates.
Tracking tags like UTM add more combinations. Each click from an email or ad can spawn a fresh copy of /pricing with ?utm_source=newsletter and friends.
Why this matters for a small site
You have little crawl budget. Let crawlers spend it on /hoodies and /pricing, not on 200 versions with sort, page and colour toggles.
Duplicate URLs split signals. Links and clicks land on variants, not the clean page. Rankings wobble when crawlers cannot pick the right canonical.
UTM parameters pollute internal links if you let them. That leaks tracking junk into your own crawl space and index as of 2026.
How to find and measure parameter URLs
- Run a site: search for question marks: site:yourproduct.com ? in the query. Scan which paths repeat with different keys.
- Export top pages in Search Console Performance. Sort by Page. Look for clusters of the same path with ? and without.
- Open a few parameter URLs in the URL Inspection tool. Check the Canonical chosen by Google and if it matches your preferred clean URL.
- Crawl your site with your tool of choice. Count URLs containing ?. Group by parameter key: sort, page, color, utm_source.
- Check your server logs if you have them. Are bots spending time on ?sort, ?ref or ?utm links instead of the base pages?
A healthy small site has parameter URLs present but not indexed. The clean page holds impressions and clicks for its topic, like /hoodies, not /hoodies?sort=price.
Controls that remain after Google’s tool retired
Google’s URL Parameters tool was retired in 2022. You cannot declare parameter behaviour in Search Console now. Use on site controls instead.
- Canonical tag: on parameter URLs, point rel=canonical to the clean URL. Example: /hoodies?sort=price canonical to /hoodies.
- Robots.txt: disallow crawl of stable parameter patterns you never want crawled, like /*?sort= and /*?ref=. Do not block pages you need indexed.
- Noindex: if a parameter view must exist for users but should not be in the index, add meta robots noindex,follow to that template.
- Consistent parameter order: always output keys in the same order, like ?color=red&size=m, to reduce duplicate variants.
- Internal links: never link to parameter URLs in menus, breadcrumbs or body copy. Always link to the clean version.
Fix one template at a time. For a collection page, set canonical to the base, block crawl of ?sort in robots.txt, and remove any internal links that carry ?sort.
Common traps
- Blocking with robots.txt but keeping internal links. Bots will still try, and the variants will linger in reports.
- Noindexing a URL that is disallowed in robots.txt. If it is disallowed, Google may not see the noindex and the URL can remain known.
- Canonical from a weak variant to another variant. Always set to the clean, crawlable, indexable page.
- Letting UTM leak inside your app. Stripping and redirecting to the clean path avoids split signals.
- Faceted filters creating infinite combos like ?color=red&color=blue&in=stock&price=low. Constrain filters, and expose a few crawlable facets only if they have search demand.
Questions
They are key=value pairs after a question mark that change a page view. Crawlers treat each unique combination as a separate URL, which can cause duplicates and index bloat if left uncontrolled.
Use clean paths for core categories and key landing pages. Keep most filters and sorts as parameters. Canonicalise them to the clean page, and avoid linking to them internally unless a filtered view deserves its own page.
They are fine on external links from ads, email and social. Do not add them to internal links. If a UTM arrives on your site, strip it or canonicalise to the clean URL so signals consolidate.
Pick a consistent order for keys, like ?color=red&size=m&sort=price. Canonical to the clean version unless the exact combo is a page you want indexed for search intent.
Short, readable, stable paths like /pricing and /hoodies. Keep parameters for user controls. Avoid exposing parameter URLs to crawlers and internal links unless they are intentional landing pages.
Yes, for clear patterns you never want crawled. Combine with canonical tags and removing internal links. Do not disallow something you intend to index, and avoid blocking while relying on noindex on the same URL.
Check my site, free
Paste your collection or pricing URL to see which parameter patterns show up on your site and rivals, and three fixes you can ship today, free in about thirty seconds.
- Free check, no card
- Read-only, your own accounts
- Readable by your agent
Read next
- GlossaryCanonical URL
- GuideCanonical tags: what they do and the mistakes that cost rankings
- GlossaryNoindex
- GuideInternal linking for a small site: which pages link to which
- GuideFaceted navigation SEO: which filters to index and how to hide the rest
- GuideHow to use the URL Inspection tool in Search Console
- GuideHow to check your Google ranking without fooling yourself
- GlossaryURL