Faceted url indexable
Moderate effortFound on 1% of audited stores.
Point every faceted/filter URL's canonical tag to the clean, unfiltered category URL (or add noindex) so Google treats filtered pages as one authoritative page instead of thousands of duplicates.
What it is
When shoppers filter or sort your product listings — by color, size, price, brand, or any other attribute — your store generates a new URL for each combination (e.g., `/shoes?color=red&size=10`). A "self-canonical" faceted URL means that filtered page is telling Google "this URL itself is the authoritative version," rather than pointing back to the clean category page (e.g., `/shoes`). In practice, this means every filter combination is treated as a fully separate, indexable page — even though the content is nearly identical to the base category. Canonical tags are the HTML signal (`<link rel="canonical" href="…">`) that tell search engines which version of a page is the "real" one they should index and credit.
Why it matters
A typical ecommerce store with faceted navigation can produce thousands — sometimes tens of thousands — of near-duplicate URLs from filter combinations. When all of those URLs are self-canonical, Google must crawl and evaluate every single one, draining your "crawl budget" away from pages that actually matter (new products, blog posts, important category pages). This means important pages get crawled less frequently and may rank lower or not at all. Duplicate content across thousands of filter URLs also dilutes your page authority: instead of one strong `/shoes` page, you have thousands of weak variations splitting the same ranking signals. Consolidating canonicals onto the clean category URL concentrates that authority and typically produces a measurable lift in category page rankings and organic traffic.
How to fix it
- Audit your filter URLs: identify which parameter combinations produce near-duplicate content versus genuinely unique, search-worthy pages (e.g., a brand landing page may deserve its own canonical).
- For each filter URL that is NOT a unique, search-worthy page, change its `<link rel='canonical'>` tag to point to the clean, unfiltered parent category URL (e.g., `/category/shoes` not `/category/shoes?color=red&size=10`).
- Alternatively — or in addition — add a `<meta name='robots' content='noindex, follow'>` tag to filter URLs you never want indexed, which also prevents crawl budget waste.
- Ensure the canonical URL you point to is itself canonical (not redirecting or canonicalizing elsewhere), returns a 200 status, and does not also have a noindex tag.
- Update your XML sitemap to include only the clean canonical category URLs — never include filter/facet URLs in the sitemap.
- After deploying, verify the fix using Google Search Console's URL Inspection tool on a sample of filter URLs to confirm the canonical is read as intended, and monitor the Index Coverage report over the following weeks for a drop in 'Duplicate without user-selected canonical' errors.
<link rel="canonical" href="https://www.example.com/shoes" />Fix it on your platform
Pick your platform for the exact steps.
How to fix faceted url indexable on Shopify
- Shopify automatically generates canonical tags in its theme, pointing collection pages to their base URL. The problem arises when third-party filter apps (e.g., Boost Commerce, Infinite Options, SearchPie) or custom code add filter parameters to URLs without updating the canonical.
- Go to Online Store → Themes → your active theme → Edit Code.
- Open `layout/theme.liquid`. Find the `<head>` section and look for `{{ canonical_url }}` — Shopify populates this automatically for collections and it usually points to the base collection URL, which is correct.
- If a filter app is appending parameters and overriding the canonical, check that app's settings panel for a 'SEO' or 'Canonical URL' option and set it to use the base collection URL.
- If you use a custom JS/AJAX filter that rewrites the URL with parameters, add logic in your theme's `<head>` to always output the base collection canonical: replace any dynamic canonical output with `<link rel='canonical' href='{{ collection.url | prepend: shop.url }}'>` for collection pages.
- For filter URLs you want to block entirely, use the filter app's 'noindex' setting, or add a Liquid conditional in `theme.liquid` to output `<meta name='robots' content='noindex, follow'>` when URL parameters are present.
How to fix faceted url indexable on Shopify Plus
- Same as Shopify above, but you also have access to Shopify Scripts and more advanced theme customization.
- In Online Store → Themes → Edit Code → `layout/theme.liquid`, confirm the canonical tag outputs `{{ collection.url | prepend: shop.url }}` (stripping query strings) for all collection/filter pages.
- For enterprise-level filter apps (e.g., Searchanise, Klevu), check their admin under SEO Settings to enforce canonical-to-base-collection behavior.
- Use Shopify Plus's Launchpad or custom metafields to designate specific filter combinations (e.g., brand pages) that SHOULD have their own canonical — and configure those as standalone pages or alternate collection handles instead.
How to fix faceted url indexable on WooCommerce
- Install or confirm you have Yoast SEO, Rank Math, or All in One SEO installed — these plugins manage canonical tags site-wide.
- In Yoast SEO: go to SEO → Search Appearance → Taxonomies. For product categories, confirm 'Show in search results' is enabled (this sets the canonical correctly for the base category).
- For filter URLs generated by WooCommerce layered nav or a plugin like FacetWP or WOOF: in FacetWP go to Settings → General → set 'Canonical URL' to 'Parent page' so filtered results point to the base archive URL. In WOOF, look for its SEO/canonical option in the plugin settings.
- If using Yoast SEO, go to SEO → Tools → File Editor and add `Disallow:` rules in robots.txt for heavily-parameterized filter paths you want to block from crawling entirely (e.g., `Disallow: /*?filter_*`).
- Alternatively, add noindex to filtered pages by hooking into `wpseo_robots` (Yoast) or using Rank Math's 'noindex' condition for archive pages with query parameters.
- Verify by visiting a filtered URL, viewing page source, and confirming `<link rel='canonical'>` points to the base category URL.
How to fix faceted url indexable on BigCommerce
- BigCommerce automatically sets canonical tags on category pages to the base category URL. The issue typically arises from sort/filter parameters appended by faceted search.
- Go to Storefront → Script Manager and check for any third-party filter scripts that may be injecting their own canonical tags — remove or reconfigure those.
- In your Stencil theme, open `templates/pages/category.html`. Find or add the canonical tag: `<link rel='canonical' href='{{urls.category}}'>` — this uses BigCommerce's built-in variable which returns the clean category URL without query parameters.
- For built-in BigCommerce faceted search (available on Pro/Enterprise plans): go to Storefront → Faceted Search and enable it. BigCommerce's native implementation is designed to avoid indexable filter URLs by using history.pushState without generating crawlable parameter URLs by default — confirm this behavior in your theme's JS.
- To noindex filter URLs as a fallback, add a Stencil conditional in `category.html` to output `<meta name='robots' content='noindex, follow'>` when `{{query_string}}` is non-empty.
- Remove any filter URLs from your XML sitemap: go to Storefront → Sitemaps and confirm only clean category URLs are included.
How to fix faceted url indexable on Wix
- Wix automatically manages canonical tags for its built-in pages and Wix Stores collections — you cannot edit canonical tags directly in the page editor for standard pages.
- For Wix Stores: Go to your Dashboard → Store Products → Categories. Wix generates canonical tags pointing to the base category URL for its built-in filter/sort features. Confirm this by inspecting a filtered page's source for `<link rel='canonical'>`.
- If you have a custom filter built via Velo (Wix's developer platform): open your page code in the Velo IDE and use `wixSeo.setLinks([{ rel: 'canonical', href: 'https://www.yoursite.com/shop/category' }])` from the `wix-seo` module to override the canonical on filter state changes.
- To noindex filtered states in Velo, use `wixSeo.setMetaTags([{ name: 'robots', content: 'noindex, follow' }])` when filter parameters are active.
- Ensure your Wix site's built-in sitemap (auto-generated) does not include parameterized filter URLs — Wix's native sitemap excludes query-string URLs by default, but verify if using Velo dynamic pages.
How to fix faceted url indexable on Squarespace
- Squarespace does not have a built-in faceted/layered navigation system, so filter parameters typically come from third-party JavaScript widgets or custom code blocks.
- Go to Pages → the relevant Shop or Category page → Settings (gear icon) → SEO tab. Confirm the canonical URL shown is the clean page URL without parameters. Squarespace sets this automatically and it should not include query strings.
- If you have embedded a third-party filter widget (e.g., via Code Block or Code Injection), check that widget's settings for a canonical or noindex option and set it to point to the base page URL.
- To add a noindex tag to parameterized filter URLs, go to Settings → Advanced → Code Injection and add JavaScript that conditionally injects `<meta name='robots' content='noindex'>` into the `<head>` when URL parameters are detected: use `if (window.location.search) { document.querySelector('head').insertAdjacentHTML('beforeend', '<meta name="robots" content="noindex, follow">'); }`
- Squarespace's sitemap is auto-generated and does not include query-string URLs, so no sitemap action is needed.
How to fix faceted url indexable on Webflow
- In Webflow, canonical tags are managed per-page in the Page Settings. For CMS Collection pages (the equivalent of category/filter pages), open the Designer, click on the Collection page template, and go to Page Settings (gear icon) → SEO Settings.
- In the 'Canonical URL' field, enter the clean base collection URL (e.g., `https://www.example.com/products`) rather than leaving it dynamic or self-referencing with parameters.
- For filter functionality built with Webflow Filters (native) or Finsweet's CMS Filter: Finsweet's CMS Filter uses URL parameters by default — go to your page's custom code (`<head>` tag) and add a script that sets the canonical to the base URL and optionally injects noindex when filter params are present.
- Add this to the `<head>` custom code of your collection page: `<script>if(window.location.search){document.querySelector('link[rel=canonical]').href=window.location.pathname.split('?')[0];}</script>` — this strips query strings from the canonical at runtime.
- Publish your site after making changes and verify with a URL inspection tool that the canonical resolves to the clean URL.
- Webflow's auto-generated sitemap excludes query-string URLs by default — confirm this in your published sitemap.xml.
How to fix faceted url indexable on Adobe Commerce (Magento)
- In the Admin panel, go to Stores → Configuration → Catalog → Catalog → Search Engine Optimization.
- Set 'Use Canonical Link Meta Tag for Categories' to 'Yes'. This makes all filtered/sorted category URLs emit a canonical pointing to the base category URL — this is the single most important setting.
- Also set 'Use Canonical Link Meta Tag for Products' to 'Yes' to handle product pages accessed via filtered navigation.
- To noindex layered navigation (filter) pages: go to Stores → Configuration → Catalog → Catalog → Layered Navigation and consider using a third-party extension like 'SEO Toolkit' (Mageworx) or 'Layered Navigation' (Amasty) which have dedicated noindex/canonical controls per filter attribute.
- In the same extension settings or via a custom module, configure which filter parameters should trigger noindex: common practice is to noindex all filtered URLs and rely on the canonical to pass authority to the base category.
- Flush the Magento cache after changes: go to System → Cache Management → Flush Magento Cache. Verify by viewing source of a filtered category URL and confirming `<link rel='canonical'>` points to the unfiltered category URL.
How to fix faceted url indexable on Magento Open Source
- Same steps as Adobe Commerce (Magento) above — go to Stores → Configuration → Catalog → Catalog → Search Engine Optimization and set 'Use Canonical Link Meta Tag for Categories' to 'Yes'.
- For community extensions that add faceted/layered navigation, check the extension's configuration for SEO options including canonical and noindex settings.
- After configuration, flush the cache via System → Cache Management and verify by inspecting a filtered URL's page source.
How to fix faceted url indexable on PrestaShop
- Go to Shop Parameters → Traffic & SEO. PrestaShop's default behavior may not automatically canonicalize filtered category URLs — you typically need a module.
- Install an SEO module such as 'SEO Expert' or 'SEO Manager' (available in the PrestaShop Addons Marketplace) that provides canonical tag management for category and filter pages.
- In the SEO module's settings, configure filtered/faceted URLs to output a canonical pointing to the base category URL.
- If using the native Faceted Search module (ps_facetedsearch): go to Modules → Faceted Search → Configure. Look for an SEO section and enable 'noindex' for filter combinations or canonical-to-category-page behavior.
- Verify by viewing page source of a filtered category URL and confirming the canonical tag.
How to fix faceted url indexable on WooCommerce
- Install or confirm you have Yoast SEO, Rank Math, or All in One SEO installed — these plugins manage canonical tags site-wide.
- In Yoast SEO: go to SEO → Search Appearance → Taxonomies. For product categories, confirm 'Show in search results' is enabled (this sets the canonical correctly for the base category).
- For filter URLs generated by WooCommerce layered nav or a plugin like FacetWP: in FacetWP go to Settings → General → set 'Canonical URL' to 'Parent page' so filtered results point to the base archive URL. In WOOF, look for its SEO/canonical option in the plugin settings.
- If using Yoast SEO, go to SEO → Tools → File Editor and add Disallow rules in robots.txt for heavily-parameterized filter paths (e.g., `Disallow: /*?filter_*`).
- Alternatively, add noindex to filtered pages by hooking into `wpseo_robots` (Yoast) or using Rank Math's 'noindex' condition for archive pages with query parameters.
- Verify by visiting a filtered URL, viewing page source, and confirming `<link rel='canonical'>` points to the base category URL.
Does your site have this issue?
Run a free SEOLZ audit to find faceted url indexable — and every other issue — across your whole site in minutes.
Scan my site freeFrequently asked questions
What is Faceted url indexable?
When shoppers filter or sort your product listings — by color, size, price, brand, or any other attribute — your store generates a new URL for each combination (e.g., `/shoes?color=red&size=10`). A "self-canonical" faceted URL means that filtered page is telling Google "this URL itself is the authoritative version," rather than pointing back to the clean category page (e.g., `/shoes`). In practice, this means every filter combination is treated as a fully separate, indexable page — even though the content is nearly identical to the base category. Canonical tags are the HTML signal (`<link rel="canonical" href="…">`) that tell search engines which version of a page is the "real" one they should index and credit.
Why does faceted url indexable matter?
A typical ecommerce store with faceted navigation can produce thousands — sometimes tens of thousands — of near-duplicate URLs from filter combinations. When all of those URLs are self-canonical, Google must crawl and evaluate every single one, draining your "crawl budget" away from pages that actually matter (new products, blog posts, important category pages). This means important pages get crawled less frequently and may rank lower or not at all. Duplicate content across thousands of filter URLs also dilutes your page authority: instead of one strong `/shoes` page, you have thousands of weak variations splitting the same ranking signals. Consolidating canonicals onto the clean category URL concentrates that authority and typically produces a measurable lift in category page rankings and organic traffic.
How do I fix faceted url indexable?
Point every faceted/filter URL's canonical tag to the clean, unfiltered category URL (or add noindex) so Google treats filtered pages as one authoritative page instead of thousands of duplicates.
Authoritative references
- Consolidate duplicate URLs (canonical) — Google Search Central
- Robots meta tag & noindex — Google Search Central
- SEO Starter Guide — Google Search Central