Picture a store with trail shoes that lets shoppers narrow the list by size, colour, brand, price and sort order. Every tick adds a parameter to the URL, and the same options ticked in a different order produce yet another URL. To Googlebot each of those addresses is a page to fetch. Multiply the options together and a small catalogue turns into a site of far more URLs than products, nearly all showing the same shoes in a different arrangement.
Filters are the biggest way a store wastes Google's attention. The fix is to decide which filtered views deserve to be pages and close the door on the rest.
How filters multiply into a crawl problem
Each facet (colour, size, brand) has values, and any mix can be selected. If the store builds a new URL for every mix, the URL count grows with every facet. It grows again when parameter order or the sort setting changes the URL without changing the products. Google's guidance on managing faceted navigation URLs names this as one of the most common causes of overcrawling. The filtered pages mostly repeat content that already exists on the unfiltered collection.
Google doesn't crawl a site without limit. Its crawl budget guidance describes two halves: how fast Googlebot can fetch without straining your server, and how much it wants to fetch based on how valuable and fresh it thinks your URLs are. The same guidance says this is mostly a concern for very large sites, naming roughly a million unique pages that change weekly, or ten thousand that change daily, as the scale where it bites. A shoe store doesn't start there, but filters can carry it there unnoticed.
The damage shows up twice. In crawling, fetches go to filter clones while a new product or a price change waits its turn. In indexing, the clones compete with the collection they copy for the same searches.
Decide which filtered views deserve a page
A filtered view earns its own indexed page under the same test a collection passes in the structure lesson:
- People search for that combination. "Women's waterproof trail running shoes" is a search. "Trail shoes under a price cap, sorted by newest" is not.
- The products in it differ meaningfully from the parent collection.
- Its title, heading and intro can use the words the buyer types.
Build a view that passes as a collection with a clean, stable URL such as /collections/womens-waterproof-trail-shoes. Give it intro text, link it from its parent collection, and put it in the sitemap.
In practice, single facets such as gender, product type and sometimes brand pass. Pairs pass occasionally, and bigger stacks almost never. Price ranges, sort order and stock availability rarely earn a page.
Keep the rest out of Google's way
Google's faceted navigation guidance lays out the options, and they aren't equally effective.
Don't create crawlable URLs at all. This is the most effective option. If filter state lives in the URL fragment (the part after #), Google ignores it and sees one page. The same is true when filtering updates the product grid without changing the URL and without rendering <a href> links to each combination.
Block the parameter patterns in robots.txt. A rule such as Disallow: /*?*filter, or one for your sort parameter, stops Googlebot fetching those URLs. Google's own guidance adds a caution: anything reachable only through a blocked URL loses its path. Keep every product linked from the unfiltered collection and listed in your sitemap.
Use canonical and noindex tags for indexing, not for budget. A canonical tag on the filtered page, pointing to the unfiltered collection, tells Google which version to index. But Google must fetch the page to read the tag, so the crawl is already spent. The same applies to noindex, and Google's crawl budget guidance is clear that it doesn't save crawling.
For the filter URLs you do allow, the same guidance asks for standard key=value parameters joined with &. It also wants parameters in a consistent order no matter which box the shopper ticked first, and a 404 status for combinations with no products.
Platforms differ in what they give you. Shopify's filter URLs use parameters beginning filter. plus sort_by. Its default robots.txt already blocks some sort and tag-combination patterns, and you can edit the rest through the robots.txt.liquid template. WooCommerce filter widgets typically use filter_ parameters and orderby. Don't assume what your store does; look.
Check what Google is actually doing
Watch whether Google's behaviour changes. Search Console's Page indexing report groups filtered URLs under reasons such as "Alternate page with proper canonical tag", "Excluded by noindex tag" and "Blocked by robots.txt". The share in each bucket tells you which control is doing the work.
The Crawl stats report, found under Settings, lists sample URLs Googlebot fetched. If the samples are full of parameter strings, the crawl is going to filters, whatever your tags say.
Expect the numbers to move slowly, because Google revisits known URLs on its own schedule.
Frequently asked questions
What's faceted?
A faceted product list is one you can slice along several independent attributes, called facets. Colour, size and brand are facets of a shoe, and each has its own values to pick from. Shoppers can usually select values from more than one facet at once.
What does faceted filtering mean?
It means narrowing a list by combining filters from different facets, such as women's, waterproof and a given brand. The trouble starts when each combination gets its own URL, because Google then sees a separate page for every mix of the same products.
What does "facet design" mean?
Facet design is the set of decisions about which filters you offer and what URL each one produces. A good design keeps parameters in a consistent order and lets only the few searched-for views become clean collection URLs. Everything else stays out of Google's crawl, ideally by not being a crawlable link at all.
What is the role of navigation in digital marketing?
Navigation decides which pages shoppers and Googlebot can reach and how they're grouped. On a store, your collections and the links between them tell Google what matters. Filters are navigation too, so they need the same care: link the pages you want found, and keep the clones out of the way.
What to take away
- Filters generate a URL for every combination, and Google's faceted navigation guidance names them as a leading cause of wasted crawling.
- A filtered view becomes an indexed page only when people search for it and you can build it as a collection with a clean URL and its own text.
- The most effective controls stop URLs being crawlable at all. Robots.txt blocks crawling, while canonical and noindex only fix indexing after the crawl is spent.
- Watch Search Console's Page indexing and Crawl stats reports to confirm the crawl has moved from filters to products.
Next
With the store's structure under control, the next chapter starts on the pages themselves in Product titles and descriptions.