Faceted Navigation SEO: Keeping Store Filters Under Control

Faceted navigation is the set of filters on a shop or listing page, such as colour, size and price. Each combination can create a new URL, so a small catalogue can turn into thousands of near-identical pages. Google suggests blocking filter URLs you do not need in search with robots.txt, and keeping the rest consistent.

Google's options for filter URLs
ApproachWhat it doesGood for
robots.txt disallowStops Google crawling those filter URLsFilters nobody searches for: sort, price slider, in stock
URL fragments (#)Filters live after the #; Google generally does not crawl fragmentsNew builds where you control the code
rel=canonicalPoints filtered pages to the main category; may reduce crawling of themFiltered views close to the category
rel=nofollow on filter linksHints not to follow; must be on every link to that URLA supporting measure only
Keep indexableConsistent URL, & separator, fixed order, 404 when emptyFilters people do search for, like a colour or brand

Updated

Filters are good for shoppers and risky for crawling. Google calls the result an infinite URL space and says it leads to overcrawling and slower discovery of new pages. Use the planner below to list your filters, mark the ones worth a search result, and get robots.txt lines for the rest.

Filter URL planner

Category path: /collections/dresses

Filter parameter names, one per line

color
size
sort
price
in_stock

Keep in search? (tick filters people search for)

URL shape for kept filters (fixed order)

/collections/dresses?color={value}

robots.txt lines for the other filters

User-agent: *
Disallow: /*?size=
Disallow: /*&size=
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?price=
Disallow: /*&price=
Disallow: /*?in_stock=
Disallow: /*&in_stock=

Copy robots.txt lines

Which filters deserve a search result

A starting point for a typical shop
FilterUsuallyReason
BrandKeepPeople search for brand plus product type
ColourKeep for main coloursSearches like black boots are common
SizeBlockResults change with stock; few size-only searches
Price rangeBlockEndless combinations, little search demand
Sort orderBlockSame products, different order
In stock onlyBlockTemporary, changes daily

Code examples

robots.txt for sort and price filters

The * wildcard matches any path. Two lines per parameter catch it whether it comes first after ? or later after &.

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

Canonical on a filtered view

In the head of /collections/dresses?size=m. Only use this on URLs you have not blocked in robots.txt, so Google can read it.

<link rel="canonical" href="https://example.com/collections/dresses">

Why filters multiply so fast

Take a shop with 6 colours, 5 sizes and 4 sort orders on one category. Picking one of each alone gives 6 x 5 x 4 = 120 URLs, before price ranges or multiple selections. Across 20 categories that is 2,400 addresses for what is really 20 pages.

Search engines have to spend time on each one before they can decide it is a duplicate, and new products wait longer to be found.

What hosted shop builders do for you

Your platform may already ship rules. Open yoursite.com/robots.txt and look for lines that mention filter or sort parameters, and view the source of a filtered page to see whether it already carries a canonical tag, before adding anything of your own.

How it works

  1. Type your filter parameter names as they appear in your URLs, one per line, such as color or sort.
  2. Tick the filters that match things people actually search for, for example a brand or colour.
  3. The planner writes robots.txt Disallow lines for every unticked filter, covering it as the first or a later parameter.
  4. It also shows the single URL shape to use for kept filters: fixed order, & between them, no duplicates.

Tips

Frequently asked questions

What is faceted navigation?

It is the filter panel on a category or search page that lets visitors narrow results by properties such as size, colour, brand or price. Each filter usually adds a parameter to the URL, like ?color=red&size=m.

Should filtered pages be indexed?

Mostly no. Keep a filter crawlable only when it matches a real search with demand, and make sure that page has unique, useful content. Sort orders, price sliders and stock toggles almost never need a search result of their own.

Is robots.txt or canonical better for filters?

Google's faceted navigation page lists robots.txt first for filter URLs you do not need in search, because it stops the crawling itself. A canonical tag still lets Google crawl the page, and Google describes it as possibly decreasing, not stopping, crawling of the other versions.

Does the order of filters in the URL matter?

Yes. Google asks that the logical order of filters always stays the same and that no duplicate filters can exist. Otherwise ?color=red&size=m and ?size=m&color=red are two URLs for one page.

Related: Robots.txt generator, Robots.txt tester, Canonical tag checker, Ecommerce SEO guide, Keyword cannibalization.

Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.

More in Guides

We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.

Product

Who It's For

Features

Resources

Company

View Sitemap