URL parameters filter, sort or track pages. For SEO, make sure Google crawls and indexes one clean version of each page.

URL parameters are the parts of a web address after a question mark, such as ?colour=black or ?utm_source=newsletter, that filter, sort or track a page. For SEO, the goal is to make sure search engines crawl and index one clean version of each page, not hundreds of parameter variations of it.
Parameters are normal and often useful. Filters help shoppers, and tracking tags tell you where visitors came from. The trouble starts when every combination creates a new URL that search engines can find, crawl and treat as a separate page.
Handled badly, parameters waste crawl time, split ranking signals across duplicate URLs and fill the index with thin pages. Handled well, they’re invisible to search and you keep all their benefits for visitors.
What URL parameters are
A parameter is a key and a value added to the end of a URL. The first follows a question mark, and any more are joined with an ampersand, as in /shoes/?colour=black&size=9.
Parameters fall into two broad groups:
- Parameters that change the content. Filters, sorting, pagination, internal search and language selection. The page looks different depending on the value.
- Parameters that don’t. Tracking tags such as UTM codes, click IDs from ad platforms and session IDs. The page is identical, only the URL changes.
Both can cause problems, but in different ways. Tracking parameters create pure duplicates. Filter parameters create huge numbers of near duplicates, many of them thin.
How URL parameters cause SEO problems
Most parameter problems come down to search engines treating one page as many. The common effects:
- Duplicate content. The same page is reachable at many addresses, and Google has to guess which one to show.
- Wasted crawling. Crawlers spend time on endless filter combinations instead of new or updated pages. On a large shop this can mean important pages are crawled less often.
- Split signals. Links and other signals spread across several versions of a page instead of building up on one.
- Thin indexed pages. Filter results with one or two products, or none at all, end up in the index.
- Messy URLs in results. A long URL full of codes is less appealing to click and harder to share.
How to handle URL parameters for SEO
There’s no single fix. Use the right tool for each type of parameter:
| Method | Best for | Watch out for |
|---|---|---|
| Canonical tag to the clean URL | Tracking parameters and sort orders | It’s a hint, not a rule, and the page still gets crawled |
| Consistent internal linking | Every site | Never use tracking tags in internal links |
| Noindex | Thin filter and internal search pages | Google must be able to crawl the page to see it |
| Robots.txt disallow | Crawl traps such as endless filter combinations | Google can’t see canonicals or noindex on blocked URLs, and they can still be indexed |
| Static, indexable URLs | Filters people actually search for, such as a colour or brand | Each one needs unique, useful content |
In practice, most sites follow a few simple rules:
- Link internally to clean URLs only. If your own menus and links point to parameter versions, you’re telling Google those are the real pages.
- Canonicalise tracking and sort parameters to the version without them.
- Turn valuable filters into proper pages. If people search for “black running shoes”, give that its own static URL, a unique heading and some written content.
- Keep low-value filters out of the index with noindex, or stop them being crawled with robots.txt if there are so many that they’re draining crawl time.
- Keep paginated pages crawlable. Let page two and beyond canonicalise to themselves, not to page one, so the products on them can still be found.
- Keep parameter order consistent. Generate parameters in the same order every time so the same filter set always produces the same URL.
Be careful about combining methods. A URL blocked in robots.txt can’t pass on a canonical or noindex, because Google never reads the page. If you’ve blocked parameters and Search Console shows Indexed, though blocked by robots.txt, that’s usually why. Our guide to robots.txt covers the rules in more detail.
The Search Console URL Parameters tool has gone
Google retired the URL Parameters tool in Search Console in 2022, saying its systems had become good at working out which parameters matter. There’s no longer a setting to tell Google how to treat each parameter, so everything above has to be handled on the site itself.
You can still see how parameters affect you. Crawl the site with an SEO crawler to count parameter URLs, and use log file analysis to see how much of Googlebot’s time goes on them. The Page Indexing report shows whether parameter URLs are being indexed or flagged as duplicates. Our guide to indexability explains what each status means.
Parameter handling is a regular part of our technical SEO work, especially for ecommerce sites with large filter systems. If you think parameters are diluting your rankings, book a free strategy session and we’ll take a look.
Related reading: our guides to running a site crawl and technical SEO.
Common questions
Are URL parameters bad for SEO?
Not on their own. They cause problems when search engines can crawl and index many parameter versions of the same page.
Should I block URL parameters in robots.txt?
Only for crawl traps with huge numbers of combinations. Blocked URLs can’t pass on canonical or noindex signals and can still be indexed.
Do UTM parameters hurt SEO?
Not if you only use them on external links such as emails and social posts. Never add them to internal links, and canonicalise pages to the clean URL.
Can I still tell Google how to handle parameters in Search Console?
No. Google retired the URL Parameters tool in 2022. Parameters now have to be handled on the site with links, canonicals, noindex and robots.txt.


