E-commerce SEO
Faceted Navigation for E-commerce: How to Stop Filters Hurting SEO
Filters help shoppers. Left unmanaged, they can create more URLs than Google will ever crawl usefully.
Faceted navigation lets shoppers filter products by attributes such as color, size or price. Google says the most common implementation, using URL parameters, can generate infinite URL spaces that cause overcrawling and slower discovery of new, useful pages.
Google’s documentation offers two routes: prevent crawling of filter URLs you don’t need indexed, or make the ones you do need follow best practices.
Short answer: To manage faceted navigation for SEO: decide which filtered views (if any) deserve indexing; block the rest from crawling with robots.txt rules on filter parameters, or implement filters with URL fragments, which Google generally doesn’t crawl; for filters you keep crawlable, use standard & separators, keep filter order consistent, avoid duplicate filters, and return 404 for combinations with no results. Canonicals and nofollow help less in the long term, according to Google.
Key Takeaways
- Parameter-based filters can create effectively infinite URLs.
- If filtered pages don’t need indexing, block them with robots.txt or use fragments.
- Canonical and nofollow are weaker long-term controls, Google says.
- Filtered pages you keep should have consistent URLs and return 404 when empty.
- Keep the unfiltered listing and product pages crawlable.
Why filters cause problems
Each combination of filters can produce a new URL, for example ?products=fish&color=green&size=tiny. Crawlers can’t tell whether a URL is useful without crawling it, so they may spend a lot of crawling on filter combinations instead of new products.
Option 1: Prevent crawling of filter URLs
- robots.txt: disallow filter parameters, while allowing the unfiltered listing and product pages. Google gives the example of disallowing products=, color= and size= parameters but allowing ?products=all.
- URL fragments: implement filters after a #, which Google generally doesn’t use for crawling or indexing.
Test robots.txt rules before deploying; an overly broad rule can block product pages. See robots.txt mistakes.
Option 2: Make indexable filters well-behaved
- Use the standard & to separate parameters, not commas, semicolons or brackets.
- If filters are in the path (/products/fish/green/tiny), keep their order consistent and avoid duplicates.
- Return a real 404 for combinations with no results, duplicate filters or nonexistent pagination, at the URL itself rather than redirecting to an error page.
Canonical and nofollow
Google says pointing rel=”canonical” from filtered pages to the unfiltered version may reduce crawling of filtered URLs over time, and that rel=”nofollow” only helps if every link to a filtered URL has it. Both are generally less effective long term than blocking crawling or using fragments.
Which filtered pages are worth indexing?
A few filter combinations may match real searches, such as a brand plus product type. Consider making those proper category pages with their own clean URL, links and content, rather than indexing every filter. See category page SEO.
Frequently asked questions
Should I noindex filter pages?
noindex still requires Google to crawl the pages to see it. If you don’t want them crawled at all, Google recommends robots.txt or fragments.
Is canonical enough for faceted navigation?
Google says canonicals may reduce crawling of non-canonical filter URLs over time but are less effective long term than preventing crawling.
Does this matter for small stores?
Less so, but filters can still multiply URLs quickly. Platforms often handle some of this by default.
Want more of your products found in search?
We fix crawling and indexing on store sites, improve category and product pages, and connect structured data with your Merchant Center feed.
Sources
- Google Search Central: Managing crawling of faceted navigation URLs
- Google Search Central: Designing a URL structure for ecommerce sites
- Google Search Central: Introduction to robots.txt
Last reviewed October 14, 2026.
