How to fix faceted url indexable on WooCommerce

Point the rel=canonical on every faceted/filter URL to its clean parent category URL (or add noindex), so Google treats filtered pages as a single authoritative page instead of thousands of duplicates.

Steps for WooCommerce

  1. WooCommerce shop/category pages use query strings like ?filter_color=navy or ?orderby=price for filtering (via the WooCommerce Layered Nav widget or filter plugins).
  2. Install and activate the Yoast SEO or Rank Math plugin if not already present — both handle canonical logic for WooCommerce.
  3. In Yoast SEO: go to Yoast SEO → Search Appearance → Taxonomies, and ensure product category pages have a canonical set. Then go to Yoast SEO → Advanced (or use their WooCommerce SEO add-on) and look for settings to canonicalize filtered URLs to the base shop/category URL.
  4. In Rank Math: go to Rank Math → Titles & Meta → WooCommerce → scroll to 'Noindex Empty Category Pages' and review canonical options for filtered pages.
  5. For fine-grained control, add a code snippet to your child theme's functions.php or a custom plugin: hook into 'wpseo_canonical' (Yoast) or 'rank_math/frontend/canonical' (Rank Math) filters to strip query parameters and return the clean term/shop URL whenever filter params are present in the URL.
  6. Alternatively, for URL-based filters (e.g., /shop/category/color/navy/), configure Yoast or Rank Math to noindex those pages: in Yoast go to Search Appearance → Taxonomies → set the filter taxonomy to 'noindex'.
  7. Verify with a filtered URL in Google Search Console's URL Inspection tool.
Official WooCommerce documentation ↗

What is faceted url indexable?

When shoppers filter or sort products on a category page — by color, size, price, rating, etc. — your store usually generates a new URL for each combination (e.g., `/womens-pants?color=navy&size=S`). A "self-canonical faceted URL" means that filtered URL tells Google it itself is the authoritative version, rather than pointing back to the clean parent page (e.g., `/womens-pants`). Google then sees each filter combination as its own separate page, even though they all show essentially the same product listing with a subset of items. With dozens of filters and hundreds of products, this can silently create tens of thousands of near-duplicate pages on your site.

Search engines have a limited "crawl budget" — a cap on how many pages they'll crawl and index from your site in a given period. When filter URLs are all treated as unique, indexable pages, Googlebot wastes that budget crawling thousands of low-value duplicates instead of your important product and category pages, which can delay or prevent those pages from appearing in search results. Duplicate content across filter URLs also dilutes the ranking signals (links, authority) that should be concentrated on your clean category pages, weakening their ability to rank. Fixing this can directly improve how quickly Google discovers and ranks your real pages, protecting and growing your organic traffic and revenue.

See the complete Faceted url indexable guide for every platform and the full background.

Not sure if your WooCommerce store has this?

Run a free SEOLZ scan — we’ll find faceted url indexable and every other issue across your whole site.

Scan my site free

Fix faceted url indexable on another platform