Faceted navigation is the filtering system found on category pages in e-commerce stores: filter by color, size, price, brand, rating, availability. Essential for user experience on large catalogs, it is also one of the main causes of technical SEO problems: every filter combination generates a new URL, which can create millions of pages with duplicate content and exhaust Google's crawl budget within days.
The SEO problem with faceted navigation
Imagine a store with 1,000 products in the Shoes category and 10 available filters (color, size, brand, material, style, season, price, gender, rating, sale). Each filter can take multiple values. If PrestaShop generates a different URL for every combination, you can reach hundreds of thousands or even millions of URLs — for pages whose content is nearly identical or barely different. Google wastes its crawl budget on these duplicate pages instead of crawling the site's pages with real value.
Exponential URL multiplication
Solutions for managing faceted navigation
Several approaches can control the SEO impact of filters. The first is blocking via robots.txt: preventing bots from crawling URLs containing filter parameters (e.g. all URLs with ?id_feature, ?orderby, ?price_min). Simple to implement but radical — filtered pages will never be indexed, even those with commercial value. The second approach is using canonical tags: each filtered page points to the main category page via rel=canonical, signaling to Google which is the reference page to index.
The third solution — and often the most effective long-term — is AJAX filtering without URL changes. Filters update the product display in JavaScript without modifying the page URL. Google sees a single URL per category, and filters don't exist from a crawl perspective. This approach requires careful technical implementation to ensure dynamic content remains accessible to Google's JavaScript rendering.
Finding the right balance: some filtered pages have value
Not all filtered pages are SEO-useless. Some combinations correspond to real search intents with volume: red Nike shoes size 9, affordable plus-size wedding dress, refurbished Samsung phone under $200. These pages have the potential to capture highly qualified long-tail traffic. The decision to index a filtered page should be based on: the search volume for that combination, competition, and the site's ability to address that specific intent.
Strategy: selectively allow certain facets
Other control tools
- Google Search Console: URL parameters (now less active but useful for flagging sort and filter parameters)
- Meta robots noindex tag: on less relevant filtered pages, noindex prevents indexing without preventing crawling
- rel=canonical attribute: points all variants to the canonical category page
- robots.txt Disallow: fully blocks crawling of URLs with specific parameters
- Correct pagination: avoid generating pagination pages combined with filters
Faceted navigation on PrestaShop
PrestaShop has a native faceted search module (ps_facetedsearch) that generates URLs by default for each filter combination. This module offers important SEO configuration options: disable indexing of filtered pages (via noindex), generate clean URLs without GET parameters, configure automatic canonical tags on filtered pages. The optimal configuration depends on catalog size, number of filters, and the store's overall SEO strategy.
It is strongly recommended to audit the faceted navigation configuration before any SEO work on an existing PrestaShop site. The Google Search Console Coverage report allows you to quickly identify whether hundreds of filtered pages have been accidentally indexed, which can dilute domain authority and waste crawl budget.