Discuss and resolve questions on Liquid, JavaScript, themes, sales channels, and site speed enhancements.
I am trying to find a simple answer to this question
Shopify 2.0 theme - need to set up filters and simplest way i think is the metafields
But i need to be sure this does not create duplicate content like tags do.
HELP!
You have to test , others cannot guarantee your setups behavior.
Some themes do stuff like let a collection product url does not have a canonical product url
So it dupes i.e. /collections/collection-handle/products/product-handle == /products/product-handle.
In standard robots.txt collection tags should not create duplicate content for the main search engine crawlers.
Tag dupes generally only happens when someone has mucked with robots.txt because they didn't actually understand the syntax and though crawling tags was a good thing, and/or the theme omitted a canonical url by design or again someone messed the canonical url logic for collection pages, or the <head> doesn't have or is missing logic for either noindex or nofollow meta tags.
Collection filters are newer so a bit different for metafields that get used as parameters in filtered collection urls.
It will depend on how the theme is setup, any robots.txt rules, and SEO strategy.
A healthy theme shouldn't create SEO dupes either by tags or filters, or parameter permutations, but "healthy" is a loaded term that's arbitrary and relative.
Do not just apply changes , Test and Verify.
Deeper,
SEO strategy ....i.e. is it okay that a /collection?filter.v.option.color=red filtered to be all "red" products is it's own url from /collection, or "red & small" must be canonical so that "small & red" is not a duplicate, e.g. /collection?filter.v.option.color=red&filter.v.option.size=small VS /collection?filter.v.option.size=small&filter.v.option.color=red.
https://www.shopify.com/blog/url-parameters
💣ADVANCED:
Roughly to omit collection filters in robots.txt.liquid:
{%- if group.user_agent.value == '*' -%} {{ 'Disallow: /*?filter*' }} {%- endif -%}
Or/also there would be figuring out adding noindex or nofollow to filtered collection pages <head> and or on any relevant anchor tags by parsing the current url(very advanced) or through the collection filters https://shopify.dev/docs/api/liquid/objects/collection#collection-filters .
Keeping in mind dynamic themes that load in the content may not be loading in new noindex or nofollow meta tags or link attributes; which I suspect may be a cause of edge cases for canonicalization issues in the wild since at least googlebot uses javascript.
A healthy theme shouldn't create SEO dupes either by tags or filters, or parameter permutations, but "healthy" is a loaded term that's arbitrary and relative.
Test and verify.
Contact paull.newton+shopifyforum@gmail.com for the solutions you need
Save time & money ,Ask Questions The Smart Way
Problem Solved? ✔Accept and Like solutions to help future merchants
Answers powered by coffee Thank Paul with a ☕ Coffee for more answers or donate to eff.org
Discover how to increase the efficiency of commerce operations with Shopify Academy's l...
By Jacqui Mar 26, 2025Shopify and our financial partners regularly review and update verification requiremen...
By Jacqui Mar 14, 2025Unlock the potential of marketing on your business growth with Shopify Academy's late...
By Shopify Mar 12, 2025