Question

Faceted Navigation SEO: Managing Filter-Generated URLs

4 min read

Short answer

Faceted navigation lets shoppers filter a category by color, size, brand or price, and each combination can become its own URL, so a single category can produce a very large number of crawlable pages. Google's faceted navigation guidance gives two routes. If you don't need filtered URLs in search, prevent their crawling, with robots.txt as the first option. If you do need some of them indexed, build those deliberately and follow Google's URL rules. Canonical tags and nofollow are weaker tools; Google calls them "generally less effective in the long term".

Sources

  1. 1developers.google.com
  2. 2developers.google.com
  3. 3developers.google.com

Ask next

Why Filter URLs Need Managing

Google explains the cost directly: filter parameters can mean “a very large number of possible combinations of filters, which translates to a very large number of possible URLs”, and crawling them “tends to cost sites large amounts of computing resources”. Left alone, filtered URLs can take crawling away from product and category pages, multiply near-duplicate listings, and produce empty or near-empty pages.

Route 1: Keep Filter URLs Out of Crawling

For filters that don’t need to rank, Google’s first suggestion is to “Use robots.txt to disallow crawling of faceted navigation URLs”, while allowing crawling of individual product pages and “a dedicated listing page that shows all products without filters applied.” Its example:

user-agent: Googlebot
disallow: /*?*products=
disallow: /*?*color=
disallow: /*?*size=
allow: /*?products=all$

Adapt the parameter names to your own URLs and test the rules before release; see robots.txt. Google also lists URL fragments (#color=green) for filters as an option, since fragments don’t affect crawling.

Weaker alternatives. A canonical from a filtered URL to the unfiltered one “may, over time, decrease the crawl volume” of the filtered versions, and nofollow works only if “every anchor pointing to a specific URL” carries it. Neither stops crawling as reliably as robots.txt. A noindex tag doesn’t help crawling either, because the page still has to be crawled to see it.

Route 2: Filter Pages You Want Indexed

Some combinations match real searches (“women’s trail running shoes”, a brand within a category). For those:

  • Build them as landing pages, with their own title, heading and text about that selection, not just a filtered grid.
  • Give them clean, stable URLs and a self-referencing canonical.
  • Link to them from the category page and navigation, so they’re part of the site’s structure.
  • Choose them on evidence: queries you already see in Search Console, keyword research, and the products you actually stock in that combination.

For filter URLs that stay crawlable, Google’s URL rules apply:

  • Use the standard & separator for parameters; commas, semicolons and brackets are “hard for crawlers to detect as parameter separators”.
  • Keep filter order fixed in path-based URLs, with no duplicate filters.
  • Return a 404 when a combination has no results: Google says to “Return an HTTP 404 status code when a filter combination doesn’t return results”, and not to redirect to a common error page.

Sort Orders and Pagination

Sort parameters create the same products in a different order. Google’s pagination guidance advises avoiding indexing URLs with filters or alternative sort orders. Paginated pages of a category each get their own URL and canonical, not a canonical to page 1; see category page optimization.

The URL Parameters Tool Is Gone

Older guides recommend configuring parameters in Search Console. Google retired that tool in 2022; its announcement said “We’re deprecating the URL Parameters tool in Search Console in 1 month” and that no action was required from its users. Manage parameters on the site itself.

Auditing an Existing Store

  1. List filter and sort parameters from your platform and from crawl data.
  2. Check what Google crawls: Search Console’s crawl stats and your server logs show whether filter URLs take a large share of requests; see log file analysis.
  3. Check what’s indexed: in the Page indexing report, look for filter URLs under statuses such as “Duplicate without user-selected canonical” and “Crawled – currently not indexed”.
  4. Decide per parameter: block, keep crawlable with rules, or build as landing pages.
  5. Release in stages and watch crawl stats and indexing after each change.

Crawler tools that map parameters at scale are covered in crawl analysis tools, and store-wide structure in e-commerce site architecture.

Faceted Navigation Errors

Mistake Better approach
Relying on canonicals to stop filter crawling Disallow crawling for filters that don't need to rank
Using <!–INLINECODE3–> to save crawling <!–INLINECODE4–> still requires crawling; use robots.txt
Blocking filter pages you want to rank Build those as landing pages and leave them crawlable
Redirecting empty combinations to an error page Return a 404 at the URL itself
Looking for Search Console's URL Parameters tool Manage parameters on the site

Make a filter combination crawlable only when there’s evidence people search for it, from keyword research or from queries Search Console already shows, and you stock the products it lists; the other combinations go under the robots.txt rule. If some of them are already indexed, a robots.txt block on its own can leave them in results, because Google can’t crawl them to see a noindex: let Google crawl them with noindex until they drop out, then add the block, the order the robots.txt guide linked above describes.

Link profile