Faceted navigation lets visitors filter or sort a listing by attributes such as colour, size, brand or price. For the visitor that is useful. Technically, each combination often gets its own URL with parameters. Google writes that this approach can generate an infinite number of URLs, which crawlers then have to work through.
Why does it matter?
A crawler only knows whether a filtered URL is useful once it has fetched it. With thousands of combinations, a lot of crawl budget goes to useless variants, and Google discovers new products later.
Example
/shoes?colour=black&size=42&sort=price and /shoes?size=42&colour=black show the same products at two addresses. With three filters of ten values each, a single category quickly runs into hundreds of URLs.
What does Google advise?
- If filtered pages should not appear in search results, block the filter URLs in robots.txt or put the filters behind a
#in the URL. - If they should be findable, use
&between parameters, keep the order of filters fixed and prevent duplicate filters. - Return a 404 for combinations without results.
According to Google, a rel="canonical" or nofollow works less well in the long run than these measures.
Common mistake
Letting every filter combination be indexed in the hope of extra traffic. Pick a few combinations customers actually search for instead, such as “black walking shoes”, and turn them into a full category page.