Faceted navigation
What is faceted navigation?
Faceted navigation is a set of filters on a category or search page that lets visitors narrow a list by attributes, or facets, such as size, colour, brand, price or rating. Each filter combination usually produces its own URL, for example /shoes/?colour=blue&size=9.

Facets are useful for shoppers but multiply URLs fast. Five filters with ten values each, combined and reordered, can produce millions of URLs, most showing near-identical lists or no results at all. Crawlers that follow every filter link can spend most of their time on these pages instead of your products.
Google’s guidance, updated in late 2024, is to stop facet URLs being crawled if you do not need them in search, for example by disallowing them in robots.txt or using URL fragments, which Google does not crawl. If you do want some facet pages indexed, keep the URL parameters in a consistent order, and return a 404 for filter combinations with no results.
Why faceted navigation matters for SEO
Uncontrolled faceted navigation is one of the main causes of wasted crawl budget and index bloat on large sites. It can slow the discovery of new products, create duplicate content and spread internal link value across countless thin pages.
Some facets are worth ranking. “Women’s waterproof trail shoes” may have real search demand, and a filtered page can serve it well. The skill lies in choosing which facet pages to make indexable, giving them proper titles and copy, and keeping the rest out of the crawl.
How to manage faceted navigation
- List your facets and check which combinations have search demand with keyword research.
- For combinations that deserve to rank, create clean, static URLs (such as /shoes/trail/waterproof/) with their own title, heading and copy, and link to them from the category.
- Keep other facet URLs out of the crawl, for example with robots.txt disallow rules for their parameters or by applying filters with a # fragment or JavaScript that does not change the URL.
- Always add parameters in the same order so the same filters do not produce several URLs.
- Return a 404 status for filter combinations with no results.
- Remember that canonical and noindex tags still let Google crawl the URLs; they help consolidate signals but do not save crawl budget.
Faceted navigation example
User-agent: *
Disallow: /*?*colour=
Disallow: /*?*size=
Disallow: /*?*sort=Faceted navigation FAQ
Should faceted navigation pages be indexed?
Only the ones with real search demand and useful, distinct content. Most filter combinations should be kept out of the crawl.
Is robots.txt or canonical better for facets?
They do different jobs. Robots.txt stops crawling, which saves crawl budget but means Google cannot see canonicals on those URLs. A canonical consolidates signals but the URLs are still crawled. Google suggests robots.txt for facets you do not need in search.
Related SEO terms
URL parameters are key-value pairs after a ? in a URL, used for tracking, sorting, filtering and pagination. Each variation can look like a new page.
Crawl budget is the set of URLs Google can and wants to crawl on a site. It only becomes a constraint on very large or fast-changing sites.
Index bloat is when a search engine indexes many more of a site’s pages than it should, most of them low-value, duplicate or unintended URLs.
Duplicate content is the same or very similar content available at more than one URL, on one site or across sites. Google picks one version to show.
Robots.txt is a plain-text file at the root of a site that tells crawlers which URLs they may and may not request.
A canonical tag is a link element that tells search engines which URL is the main version of a page when duplicates exist.
Ecommerce SEO is optimising an online shop’s category and product pages to rank in search, while controlling filters, duplicates and stock changes.