What parameters are
A URL parameter is extra text added to the end of an address after a question mark, usually in the form name=value. Several can be joined with ampersands. For example, a hypothetical store might have:
/shoes/?color=red&size=9&sort=price
The base address, /shoes/, shows the shoe category. The parameters tell the page to filter by color and size and to sort by price. Parameters are useful and normal. They also cause some of the most common structural problems on larger sites, because each combination is technically a different address.
What faceted navigation is
Faceted navigation is a set of filters that let visitors narrow a list by attributes: color, size, brand, price range, rating and so on. It is very helpful for people. Someone who wants red shoes in size 9 can get there quickly.
The trouble is arithmetic. Each filter can be on or off, applied in different orders, and combined with others. Here is a small hypothetical case. A category has 5 colors, 6 sizes and 4 brands, and each filter can also be left unselected. If visitors may choose at most one value from each filter, that is (5 + 1) × (6 + 1) × (4 + 1) = 6 × 7 × 5 = 210 combinations, including the unfiltered page. Add sorting options and allow multiple selections, and the count can climb into the thousands for a single category. Most of those pages show nearly the same products.
The kinds of parameters
It helps to separate parameters by what they do.
- Filters narrow the list (color, size). Some produce pages worth having; most do not.
- Sorting reorders the same items (price low to high). It rarely adds anything new.
- Pagination moves through a long list. It is handled separately; see the guide on pagination handling.
- Tracking records where a visitor came from. These change nothing about the page content.
- Sessions and IDs carry a visitor’s state. These can create a different address for every visit.
- Search within the site produces results pages for any query.
Why this causes problems
When search engines meet a huge number of addresses showing similar content, a few things can happen. Crawlers may spend their time on endless variations instead of your important pages, which is the main worry behind crawl budget on large sites. Duplicate or near-duplicate pages compete with each other, which blurs which version should be considered the main one. Link emphasis gets spread across variants instead of concentrating on the main page. And reports become noisy, with analytics and search reports listing dozens of versions of the same page.
Small sites with few filters are usually fine. The problem becomes serious mostly on stores, listings, directories and sites with calendars.
Deciding which filtered pages deserve to exist
Start with a question: would anyone search for this exact combination? “Red running shoes” might be a real search; “red running shoes size 9 sorted by price descending” is not. Filtered pages that match real searching behavior can be worth keeping as proper pages, with their own descriptive title, heading and intro text. They then work almost like category pages. Everything else should be kept from competing with them.
Ways to keep parameters under control
No single method fits every site, and some options interact, so change one thing at a time and test.
- Canonical tags. Point filtered or sorted variants to the main version with a canonical link. This is a hint, not a command, and search engines may ignore it, but it is a common first step.
- Noindex. Mark low-value variants so they are not kept in search results. Crawlers still have to fetch them to see the instruction, so this does not reduce crawling by itself.
- Robots rules. A robots file can tell crawlers not to fetch certain patterns. This reduces crawling, but blocked pages cannot be read, which means a canonical or noindex on them will not be seen. Be careful: one wrong pattern can block valuable pages.
- Link handling. Where practical, avoid generating crawlable links for useless combinations. Some sites apply filters through scripts that do not change the address, though this must not hide pages you do want found.
- Consistent ordering. Always write parameters in the same order and drop empty ones, so one view does not have several addresses.
- Strip tracking from internal links. Use tracking parameters on outside campaigns if needed, but do not add them to links within your own site.
- Limit combinations. Allow one or two filters at once, not all.
Whichever you choose, keep the main category page, and any filtered pages you intentionally support, in your XML sitemap, and leave out the rest.
Checking for a parameter problem
Look at the pages a crawler finds on your site and group them by address pattern. If thousands of addresses share a base with different query strings, you probably have a multiplication problem. Check your search performance reports for odd variants appearing, and compare the count of indexed pages to the number you actually intend to have. Mismatches often point to indexing gaps or to variants that should not be there.
Handle changes slowly. Blocking or removing filtered pages can change how search engines see your site, and outcomes are hard to predict. Keep notes on what you changed and when, so you can trace results back to the cause.