Seo facet url not canonicalized
Moderate effortFound on 5% of audited stores.
Add a canonical tag pointing filtered and sorted category URLs back to the clean (unfiltered) category page URL to prevent duplicate content and crawl waste.
What it is
When shoppers filter or sort your product listings — for example, by size, color, price, or usage — your store generates new URLs with query parameters or path segments (e.g., `/apparel/?color=red&size=M`). These filtered pages show essentially the same category with a narrowed-down product set. A canonical tag is a small snippet of HTML code placed in the `<head>` of a page that tells Google: "This page is a variation — the *real*, authoritative version is over here." Without it, Google sees dozens or hundreds of near-duplicate pages and has to figure out on its own which one to rank.
Why it matters
Every filtered or sorted URL that lacks a canonical tag is a potential duplicate page in Google's index. This splits your ranking signals (links, authority) across many weak versions instead of concentrating them on one strong category page. Google's crawl budget — the number of pages it will crawl on your site in a given period — gets burned on hundreds of low-value filter combinations instead of your important product and category pages, meaning new products and pages may be discovered and indexed more slowly. In competitive niches, consolidated ranking signals can be the difference between page 1 and page 2. Fixing this is one of the highest-leverage technical SEO changes a store with faceted navigation can make.
How to fix it
- Identify all URL patterns your faceted navigation or sort controls generate (query parameters like ?color=red, path-based filters like /color/red/, or combinations).
- Decide on the single canonical URL for each category — almost always the clean category URL with no filter or sort parameters (e.g., /apparel/ instead of /apparel/?prefn1=usage&prefv1=Shorts).
- For every filtered/sorted page, inject a <link rel="canonical" href="https://www.example.com/clean-category-url/"> tag inside the <head> element, pointing to that clean category URL.
- Ensure the clean category page itself has a self-referencing canonical (its own URL as the canonical value) so the signal is unambiguous.
- Verify with Google Search Console's URL Inspection tool that the canonical is recognized as the Google-selected canonical, and check that filtered URLs are no longer appearing in the index over the following weeks.
- Optionally, also add these parameter patterns to Google Search Console under Settings → Crawl Stats (legacy parameter handling) or adjust your robots.txt to discourage crawling of pure filter URLs — but canonical is the most robust primary signal.
<link rel="canonical" href="https://www.example.com/category-page/" />Fix it on your platform
Pick your platform for the exact steps.
How to fix seo facet url not canonicalized on Shopify
- Shopify automatically adds a self-referencing canonical to collection pages, but filtered/sorted URLs generated by the Online Store's native filter & sort (using URL parameters like ?sort_by= or ?filter.p.m.*=) do NOT automatically get a canonical pointing to the clean collection URL.
- Open your theme code: Online Store → Themes → current theme → Edit code.
- Open the layout file `layout/theme.liquid`.
- Find the `<head>` section and locate any existing canonical logic (search for 'canonical').
- Replace or supplement it with logic that strips query parameters for collection pages: `{% if template contains 'collection' %}<link rel="canonical" href="{{ shop.url }}{{ collection.url }}">{% else %}<link rel="canonical" href="{{ page_url }}">{% endif %}` — `collection.url` returns the clean URL without filter/sort parameters.
- Save and verify by visiting a filtered collection URL, viewing page source, and confirming the canonical points to the unfiltered collection URL.
- Alternatively, install a Shopify SEO app (e.g., Yoast SEO for Shopify, SEOAnt, or Booster SEO) which can manage collection canonicals automatically without editing theme code.
How to fix seo facet url not canonicalized on WooCommerce
- If you use Yoast SEO (most common): Go to Yoast SEO → Search Appearance → Taxonomies. Confirm product categories are set to index. Yoast automatically adds self-referencing canonicals to category pages, but for filter plugin URLs you need additional configuration.
- If you use the WooCommerce Layered Nav or FiboFilters / WOOF / JetSmartFilters plugin for faceted filtering, check the plugin's settings for a 'Canonical URL' or 'SEO' option — many modern filter plugins include this natively.
- For WooCommerce's own /?orderby= sort parameters: in Yoast SEO go to SEO → Search Appearance → Archives and ensure the canonical for paginated/filtered archives points to the base category. Yoast handles ?orderby= as a non-canonical variant automatically.
- For custom or unhandled parameter patterns, add a code snippet to your child theme's `functions.php` or a custom plugin: hook into `wp_head` and output a canonical using `wc_get_page_id` or `get_term_link` to build the clean category URL, then echo the tag only when filter parameters are present in `$_GET`.
- Install and configure Rank Math SEO (alternative to Yoast) — it has explicit 'Canonical URL' fields per post type and handles WooCommerce shop/category canonicals under Rank Math → Titles & Meta → WooCommerce.
- Test with Google Search Console URL Inspection or a browser plugin like MozBar after saving.
How to fix seo facet url not canonicalized on BigCommerce
- BigCommerce generates filter URLs using query parameters (e.g., ?brand=X&color=Y) for its native faceted search. The platform does NOT automatically canonicalize these back to the clean category URL.
- Go to Storefront → Script Manager and create a new script scoped to 'All Pages' or 'Category Pages', placed in the `<head>`.
- Write a small JavaScript snippet that detects if the current URL contains filter query parameters and, if so, injects a `<link rel='canonical'>` pointing to `window.location.origin + window.location.pathname` (stripping all query strings). This is the most accessible no-code-deployment method on BigCommerce.
- For a more robust server-side approach, work with a BigCommerce partner developer to customize the Stencil theme: in the `templates/layout/base.html` (or equivalent), add Handlebars logic to output the canonical using `{{urls.current}}` stripped of query parameters.
- Alternatively, use a BigCommerce SEO app from the App Marketplace (e.g., Yoast SEO for BigCommerce) which handles facet canonical tags automatically.
- Verify by loading a filtered category URL, viewing source, and confirming the canonical matches the clean category path.
How to fix seo facet url not canonicalized on Adobe Commerce (Magento)
- In the Admin, go to Stores → Configuration → Catalog → Catalog → Search Engine Optimization.
- Set 'Use Canonical Link Meta Tag for Categories' to **Yes** — this instructs Magento to output a canonical on category pages pointing to the clean category URL, overriding layered navigation filter parameters.
- Also set 'Use Canonical Link Meta Tag for Products' to **Yes** for product pages.
- Clear the Magento cache: System → Cache Management → Flush Magento Cache.
- If you use third-party layered navigation extensions (e.g., Amasty Layered Navigation, Mirasvit Layered Navigation), check the extension's configuration for its own canonical URL settings — these extensions often have independent canonical controls that must also be enabled.
- Verify in a browser by navigating to a filtered category URL (with layered nav parameters), viewing page source, and confirming `<link rel='canonical'>` points to the base category URL without filter parameters.
How to fix seo facet url not canonicalized on Magento Open Source
- Follow the same steps as Adobe Commerce (Magento): Admin → Stores → Configuration → Catalog → Catalog → Search Engine Optimization → set 'Use Canonical Link Meta Tag for Categories' to Yes.
- Clear caches under System → Cache Management.
- For layered navigation filter URLs, confirm the canonical appears by inspecting source on a filtered page.
How to fix seo facet url not canonicalized on Wix
- Wix eCommerce (Wix Stores) does not expose direct canonical tag editing for collection/filter pages through the standard dashboard UI.
- Go to your site's SEO settings: Marketing & SEO → SEO Tools → SEO Patterns. Check if collection (product gallery) pages have a canonical pattern set.
- For Wix Stores filter URLs, Wix currently handles some canonicalization internally, but you should verify by using the URL Inspection tool in Google Search Console to check what canonical Google sees for a filtered URL.
- If canonicals are missing or incorrect, use the Wix SEO Wiz or contact Wix Support to escalate, as direct `<head>` injection for dynamic filter pages is limited without Velo (Wix's developer platform).
- With Velo (developer mode enabled): go to your site editor → click '{} Dev Mode' → open the relevant dynamic page code (e.g., `$w.onReady`) and use `import wixSeo from 'wix-seo'` along with `wixSeo.setLinks([{rel: 'canonical', href: cleanCategoryUrl}])` to programmatically set the canonical based on current URL parameters.
- Test with Google Search Console URL Inspection after publishing.
How to fix seo facet url not canonicalized on Squarespace
- Squarespace Commerce does not natively support faceted filtering in the same way as other platforms, so filter-generated duplicate URLs are less common. However, tag and category filter URLs (e.g., /shop?tag=X) can create duplicates.
- Squarespace automatically sets canonical tags on most page types, but custom canonical control per URL is limited in the standard interface.
- Go to Pages → select the Shop page → gear icon (Settings) → SEO tab. Confirm the SEO settings look correct. There is no per-filter-URL canonical field here.
- For stores that need filter URL canonicalization, inject a canonical tag via Settings → Advanced → Code Injection (available on Business plan and above). In the 'Header' code injection box, add JavaScript that checks for query parameters and injects a canonical link element pointing to the clean shop URL: `<script>if(window.location.search){var l=document.createElement('link');l.rel='canonical';l.href=window.location.origin+window.location.pathname;document.head.appendChild(l);}</script>`
- Test by visiting a filtered shop URL, viewing source, and confirming a canonical tag is present pointing to the base shop URL.
How to fix seo facet url not canonicalized on Webflow
- Webflow Commerce does not generate classic faceted navigation filter URLs out of the box, so this is most relevant if you have implemented custom filtering via query parameters using JavaScript.
- For Collection pages with query-parameter-based filters: open your Webflow project → go to the Collection page template in the Designer → open Page Settings (gear icon) → SEO tab. Webflow outputs a self-referencing canonical automatically for Collection pages.
- To canonicalize filtered variants (URLs with `?` query parameters) back to the clean Collection page, add a Custom Code snippet in the Page Settings → Custom Code → `<head>` section: `<script>if(window.location.search){var l=document.createElement('link');l.rel='canonical';l.href=window.location.origin+window.location.pathname;document.head.appendChild(l);}</script>`
- Publish the site and verify by inspecting the page source on a filtered URL.
Does your site have this issue?
Run a free SEOLZ audit to find seo facet url not canonicalized — and every other issue — across your whole site in minutes.
Scan my site freeFrequently asked questions
What is Seo facet url not canonicalized?
When shoppers filter or sort your product listings — for example, by size, color, price, or usage — your store generates new URLs with query parameters or path segments (e.g., `/apparel/?color=red&size=M`). These filtered pages show essentially the same category with a narrowed-down product set. A canonical tag is a small snippet of HTML code placed in the `<head>` of a page that tells Google: "This page is a variation — the *real*, authoritative version is over here." Without it, Google sees dozens or hundreds of near-duplicate pages and has to figure out on its own which one to rank.
Why does seo facet url not canonicalized matter?
Every filtered or sorted URL that lacks a canonical tag is a potential duplicate page in Google's index. This splits your ranking signals (links, authority) across many weak versions instead of concentrating them on one strong category page. Google's crawl budget — the number of pages it will crawl on your site in a given period — gets burned on hundreds of low-value filter combinations instead of your important product and category pages, meaning new products and pages may be discovered and indexed more slowly. In competitive niches, consolidated ranking signals can be the difference between page 1 and page 2. Fixing this is one of the highest-leverage technical SEO changes a store with faceted navigation can make.
How do I fix seo facet url not canonicalized?
Add a canonical tag pointing filtered and sorted category URLs back to the clean (unfiltered) category page URL to prevent duplicate content and crawl waste.
Authoritative references
- Consolidate duplicate URLs (canonical) — Google Search Central
- SEO Starter Guide — Google Search Central