Contact

What is Faceted Navigation?

Definition

Faceted navigation is an interface that lets users narrow a list by several attributes at once, such as colour, size, brand and price, and is common on ecommerce category pages. Because each filter combination usually produces its own URL, it can, if left unmanaged, lead search engines to crawl an almost unlimited number of low-value addresses and discover new content more slowly.

Also known as: faceted search, filter navigation, product filters, layered navigation

Tree of a category's colour, size and sort facets producing indexable, noindexed and canonicalised filter URLs

How a few filters become millions of URLs

Take a clothing category with 8 colours, 6 sizes, 20 brands and 5 price bands. If shoppers can combine them, sort results four ways, and every choice adds a parameter, a single category yields tens of thousands of URLs. Pick the same filters in a different order (?colour=black&size=m versus ?size=m&colour=black) and the identical result sits at two addresses.

Google's documentation, updated in December 2025, names two concrete consequences. Overcrawling: a crawler can only tell that a new URL is useless after fetching it, and faceted URLs always look new. Slower discovery: crawling spent on worthless variants is crawling not spent on new products and content. On large catalogues that is a straightforward crawl budget problem.

Decide first which facets deserve to be indexed

Not every combination is worthless. "Black leather boots" or "men's running shoes" may be searched often enough to justify a landing page of their own. Split the facets into two groups:

  • The handful with real search demand get a clean, static URL (/women/black-leather-boots/), their own title and description, and genuine links from category navigation.
  • Everything else (price bands, sort orders, stock filters, multi-select combinations) keeps working for shoppers but stays out of the crawl.

Facets you don't need in the index

Google's first recommendation here is to block filter parameters from crawling with robots.txt:

User-agent: *
Disallow: /*?*colour=
Disallow: /*?*price=
Disallow: /*?*sort=

The second is to keep filter state in a URL fragment (#colour=black). Google Search generally doesn't support fragments in crawling and indexing, so these variants add no crawl load. rel="canonical" and rel="nofollow" on filter links are weaker tools: a canonical reduces crawling of duplicates only gradually, and nofollow has to be applied to every single link pointing at filtered results.

Watch out for one contradiction. A URL blocked in robots.txt is never fetched, so any canonical or noindex inside it is never seen. Combining a block and a canonical on the same filter URL rarely does what people expect; choose one mechanism.

URL hygiene for facets you do index

  • Join parameters with the standard &; avoid commas, semicolons and brackets.
  • Always generate filters in the same order and never allow the same filter twice.
  • Return a 404, not an empty list with a 200, for combinations with no results, nonsensical or duplicated filters, and page numbers that don't exist.

Once filters meet pagination, the URL count multiplies again, so apply pagination rules only to category and filter pages you actually want indexed. Google's faceted navigation crawling guide has the full details.

Related terms

← Back to the glossary