WooCommerce Product Filters: Faceted Search That Helps Buyers (and SEO)
Which WooCommerce filters help buyers, setting up attributes, built-in filters vs plugins, keeping filtered pages fast and handling filter URLs for SEO.

On this page
- Pick filters based on how buyers actually choose products, and back them with consistent global attributes.
- Filtered pages bypass page caching, so use indexed filter tools, fewer options and object caching to keep them fast.
- Keep filter URLs out of the index with noindex or canonicals, block crawl-heavy parameters carefully, and build real category pages for combinations worth ranking.
Once a category grows past a few dozen products, scrolling stops working. Shoppers want to narrow hundreds of kurtas down to "cotton, size L, in stock" in a few taps. Product filters, also called faceted search or layered navigation, do exactly that. Badly planned filters do the opposite: confusing options, slow pages and thousands of near-duplicate URLs for Google to crawl. Here's how to get them right in WooCommerce.
Does your store need filters yet?
Filters earn their place when categories are large and products differ in ways buyers care about. A store with twenty products in clear categories is usually better served by good category pages and a working search box. Consider filters when shoppers regularly scroll through several pages of a category, or keep asking on WhatsApp "do you have this in blue?" or "is this available in XL?".
Choose filters from how buyers decide
The right filters depend on the product, not on what a plugin happens to offer. Ask what a buyer checks first, and use your site search terms and customer questions as evidence.
| Store type | Filters that usually help |
|---|---|
| Clothing and ethnic wear | Size, colour, fabric, occasion, price |
| Electronics and appliances | Brand, capacity or wattage, key features, price |
| Auto parts | Vehicle make, model and year, brand |
| Food and groceries | Veg or non-veg, dietary needs, pack size, brand |
| Industrial and B2B products | Material, dimensions, specification ranges |
A few general rules:
- Show the most-used filters first and collapse the rest
- Show product counts next to options, and hide options with no matching products
- Add an "in stock only" option if many items sell out
- Skip filters where almost every product has the same value
Set up attributes properly first
Filters are only as good as the product data behind them. WooCommerce's built-in filters, and most filter plugins, work best with global attributes (Products, then Attributes) rather than custom attributes typed into a single product. So:
- Create global attributes for everything you want to filter by, such as size, colour, fabric and brand
- Use one consistent set of terms. "Red", "red" and "Maroon Red" become three separate filter options
- Group sensibly: shoppers filter by "Red", not by fourteen shades, so keep a broad colour attribute and mention the exact shade in the description
- Fill in attributes for every product, including old ones; a product with no fabric set vanishes when someone filters by fabric
- For variable products, test whether filtering by a size hides products where that size is sold out. The result depends on your WooCommerce version, the "hide out of stock" setting and your filter tool
For how attributes and variations fit together, see WooCommerce product variations.
Built-in filters or a plugin?
WooCommerce includes filter blocks for price, attributes, stock status and rating, which cover simple needs well on block-based themes. Larger catalogues and page-builder sites often use a dedicated plugin, such as FacetWP, YITH WooCommerce Ajax Product Filter, Filter Everything or Crocoblock's JetSmartFilters on Elementor sites. Features and plans change, so compare current versions on:
- Whether results update without a full page reload
- Speed with your real product count, ideally tested on a staging copy
- Mobile layout and compatibility with your theme, builder and caching
- How it builds filter URLs, and whether it lets you control indexing
Most shoppers will filter on a phone. Put "Filter" and "Sort" buttons at the top of category pages, open filters in a full-screen panel, show how many products match before they tap "Apply", and show active filters as chips that are easy to remove, with a "Clear all" option.
Keep filtered pages fast
Filters are hard work for a server. Every combination is a different page, so page caching rarely helps, and counting matching products for every option means more database queries. To keep things quick:
- Prefer a filter tool that builds its own index of product data instead of querying everything live on each click
- Filter on attributes and categories rather than custom fields where possible, as they're usually faster to query
- Limit the number of filters and options shown at once
- Use object caching, such as Redis, if your host supports it
- Watch for bots crawling endless filter combinations, which can push server load up; the SEO steps below help here too
For store-wide fixes, see WooCommerce speed optimisation.
Filter URLs and SEO: avoid crawl waste
Most filters add parameters to the URL, such as ?filter_colour=red&filter_size=l, plus sorting parameters like ?orderby=price. A handful of colours, sizes, price ranges and sort orders can create thousands of URLs for one category, nearly all showing similar products. Google may spend its time crawling those instead of your real product and category pages, and some may get indexed as thin duplicates.
Your main options, which Google's own documentation on faceted navigation also discusses:
- A canonical tag on filtered pages pointing to the main category. It's a hint that consolidates signals, but the URLs still get crawled; see canonical tags explained.
- Noindex on filtered pages. It keeps them out of search results, but they're still crawled.
- Blocking filter parameters in robots.txt. This stops the crawling itself, which matters most for large stores. But Google then can't see a noindex or canonical on those URLs, so if filtered pages are already indexed, let noindex remove them first and block afterwards.
For most small and medium stores, a sensible default is: filtered and sorted URLs carry either noindex or a canonical to the category (not both), and crawl-heavy parameters are blocked once you've confirmed they're out of the index. Your SEO or filter plugin may handle some of this, so check what actually appears in the page source, then watch the Pages and Crawl stats reports in Search Console.
When a filtered view deserves to rank
Some combinations match real searches, such as "cotton kurtis", "Bosch drill machines" or "sugar-free sweets". Rather than hoping a filter URL ranks, create a proper subcategory, brand page or landing page with a clean URL, a short helpful introduction, its own title and description, and links from your menus or category pages. That gives Google a stable page to rank and gives shoppers a page written for them. The WooCommerce SEO guide covers category page structure in more detail.
Need filters that help shoppers without slowing your store or cluttering Google's index? See WooCommerce development and WordPress SEO services.
Need help with your website?
I'm Sameer, a freelance WordPress developer building fast, SEO-friendly websites since 2020. Tell me what you need and I'll reply with a plan and a fixed quote within 24 hours.


