SmartEcomSEO
Collections & catalog

Shopify Tag Pages vs Collections vs Filters: What Should Google Index?

Shopify gives you three ways to slice a catalog, and each creates URLs Google can find. Here is how tag pages, collections and filters behave by default, and which ones deserve a place in the index.

Illustration for “Shopify Tag Pages vs Collections vs Filters: What Should Google Index?”
Key takeaways
  • Shopify tag pages (/collections/handle/tag) canonicalize to themselves by default, reuse the parent collection's description and are not in the sitemap, which makes them thin, indexable duplicates.
  • Filtered collection URLs from Search & Discovery canonicalize to the base collection, and Shopify's default robots.txt blocks URLs with two or more filter parameters.
  • Collections are the only one of the three built to rank: their own handle, title, description, metafields and a place in the sitemap.
  • If a tag or filter combination has real search demand, build it as a collection; if it doesn't, keep it out of the index with noindex, not robots.txt.
  • Check Search Console before noindexing tag pages, because a tag URL that already earns clicks needs a replacement collection first.

Shopify gives you three ways to show a subset of a collection: product tags, collections and storefront filters. To a shopper they look almost the same. To Google they are three different kinds of URL with different defaults, and getting them mixed up is one of the most common causes of index bloat we see on large Shopify catalogs.

The short answer to "what should Google index?" is: collections, almost always. Tag pages, rarely. Filters, never directly. Here's why, and what to do about each.

The three URL types at a glance#

We checked these defaults on Shopify's Dawn demo store and several live stores in September 2026. Custom themes and SEO apps can change them, so verify on your own store with view-source.

Tag pageFiltered collectionCollection
Example URL/collections/saunas/outdoor/collections/saunas?filter.p.product_type=Barrel/collections/outdoor-saunas
Canonical (default)Itself, including the tagThe base collectionItself
Title tagCollection title + "tagged [tag]"Same as base collectionIts own SEO title
Meta descriptionParent collection'sParent collection'sIts own
Unique copyNoNoYes
In sitemap.xmlNoNoYes
robots.txt defaultSingle tag allowed; multi-tag (+) blockedTwo or more filter parameters blockedAllowed

That last row comes straight from Shopify's default robots.txt, which includes rules like these:

texttext
Disallow: /collections/*sort_by*
Disallow: /collections/*+*
Disallow: /collections/*%2B*
Disallow: */collections/*filter*&*filter*

So Shopify already stops the worst combinatorial explosions: multi-tag URLs, sort orders and stacked filters. What it doesn't stop is the single-tag page, and that's where the problems live.

Why tag pages cause trouble#

Any product tag can become a URL. Tag a product outdoor, and /collections/saunas/outdoor returns a page. Tag it clearance, ss26, supplier-b or needs-photo, and those return pages too, on every collection the product belongs to.

By default, each of those pages:

  • Canonicalizes to itself, so Google treats it as a candidate for indexing
  • Reuses the parent collection's description, so it has no unique copy
  • Has a generic title like "Saunas tagged outdoor"
  • Is missing from the sitemap, so Google only finds it through links

The result is predictable. Google finds tag pages through theme links (older themes print tag lists as links in the sidebar), crawls them, and either indexes thin duplicates or files them under "Duplicate, Google chose different canonical than user" or "Crawled, currently not indexed" in Search Console's page indexing report. Neither outcome helps. Internal merchandising tags leaking into Google is the worst case.

How filters behave#

Shopify's Search & Discovery app powers storefront filtering on modern themes. Filters create URL parameters such as filter.v.option.color=Black or filter.p.product_type=Barrel. By default:

  • Filtered URLs canonicalize to the unfiltered collection
  • URLs with two or more filter parameters are disallowed in robots.txt
  • Sort parameters are disallowed

That's the right default. Filter combinations multiply fast, and almost none of them match a real search. Search & Discovery allows up to 25 filters per store, and a collection with six filters of ten values each already has thousands of possible URLs.

Note that the tag filter in Search & Discovery shows only in your store's default language, which matters for multi-language stores. For crawl budget and parameter handling in more depth, see Shopify faceted navigation SEO.

Collections: the page type built to rank#

A collection gets everything the other two lack:

  • A clean, keyword-led handle
  • Its own SEO title and meta description
  • Its own description and rich text metafields for supporting copy and FAQs
  • A place in sitemap.xml
  • A self-referencing canonical
  • The ability to be linked from menus, hubs and guides as a first-class page

That's why our rule is simple. If a slice of your catalog deserves to rank, it deserves to be a collection. Automated collections make this cheap: an "Outdoor Saunas" collection with the condition "product tag is equal to outdoor" fills itself from the same tag you were using anyway. You keep the tag for merchandising, and you give Google a proper page. Our collection page SEO guide covers how to build one that ranks.

The decision framework#

For every tag, filter value or attribute you're considering, ask what page one shows for the matching search.

SituationExampleWhat to build
Real search demand, page one shows category pages"outdoor barrel sauna"A collection with its own copy
Real demand, page one shows guides"best sauna for cold climates"A buying guide that links to collections
Useful for shoppers, little search demand"in stock", "under $5,000", "cedar" on a small rangeA filter
Internal onlysupplier-b, ss26, b2b-tier2Nothing public; keep off the storefront
Legacy tag page with clicks in Search Console/collections/grills/built-inA collection first, then noindex the tag page

The last row matters. Look in Search Console before you change anything. Filter the Pages report for your collection path and look for tag URLs with clicks. Those pages have earned something, and you need a replacement ready.

Cleaning up tag pages#

Step 1: Find them#

Search Console won't list every tag URL, but it will show the ones Google has found. Check:

  • Performance → Pages, filtered to URLs containing /collections/, for tag URLs with impressions
  • Pages (indexing report) for tag URLs under "Crawled, currently not indexed" and duplicate categories
  • A site crawl to find every tag URL your theme links to

Step 2: Build replacements for the valuable ones#

For each tag URL with meaningful impressions or clicks, create a proper collection that targets the same query. Give it a clean handle, a real title and description, and supporting copy. Add it to its hub and to relevant guides. Our post on Shopify internal linking explains how.

Step 3: Noindex tag pages in the theme#

Add a robots meta tag to tag-filtered collection pages in layout/theme.liquid, inside the <head>:

liquidliquid
{%- if request.page_type == 'collection' and current_tags -%}
  <meta name="robots" content="noindex, follow">
{%- endif -%}

The follow keeps links on the page crawlable, so products stay discoverable. Blog tag pages (/blogs/news/tagged/...) have the same problem, and current_tags works there too; extend the condition with request.page_type == 'blog' if you want to handle both.

Sidebar tag clouds and "filter by tag" link lists on older themes are where Google finds most tag pages. Replace them with Search & Discovery filters, or remove them. Then update any menus, blog posts or collection copy that link to tag URLs so they point at the new collections.

Step 5: Watch the index#

Over the next four to eight weeks, indexed tag URLs should drop in Search Console and the replacement collections should pick up their queries. If a replacement isn't ranking, the usual cause is weak internal links or copy that doesn't match the query.

A worked example: a sauna catalog#

Here's how the framework plays out on a typical outdoor sauna catalog with a few hundred products. The tags and decisions are illustrative, but the pattern is one we see constantly.

Tag on productsSearch demandPage one showsDecision
barrelHigh ("barrel sauna")Category pagesCollection: Barrel Saunas
outdoorHigh ("outdoor sauna")Category pagesCollection: Outdoor Saunas (likely a hub)
4-personModerate ("4 person outdoor sauna")Mix of category and product pagesCollection, linked from the hub
wood-burningModerateCategory pages and guidesCollection, plus a guide comparing heater types
cedarLow in this nicheMixedFilter
in-stock-eastNoneNot applicableInternal tag only
promo-labor-dayNoneNot applicableInternal tag only, remove after the sale

Five tags turn into collections that can each rank, carry their own copy and FAQs, and link to each other. Two stay as filters. The rest never needed a public URL in the first place. Once the collections exist, every tag URL gets noindex, and nothing of value is lost.

The same exercise works for pool tables (size, slate, outdoor), grills (width, fuel, built-in vs freestanding) and greenhouses (footprint, panel type). If you sell in several markets, remember that tag URLs also exist under locale subfolders such as /fr/collections/..., which is why Shopify's default robots.txt repeats its collection rules with a /*/ prefix. The noindex snippet above covers every locale, because it runs on the template rather than a URL pattern.

Why not just redirect tag URLs?#

It's tempting to 301 /collections/saunas/outdoor to the new /collections/outdoor-saunas. On Shopify, URL redirects generally only take effect when the old path no longer resolves to a page, and a tag URL keeps resolving as long as the collection exists. So the redirect often won't fire. Noindex plus updated internal links is the dependable route. Test any redirect in a private window before relying on it. For bulk redirect work in general, see redirects at scale.

What about making filter pages indexable?#

Some stores want filtered URLs like ?filter.v.option.color=Black to rank. On Shopify that means overriding the canonical in the theme, handling robots.txt, writing unique titles and descriptions for parameter URLs, and adding them to a custom sitemap. It can be done, but it's fragile, and every theme update is a risk.

A collection does the same job with none of the fragility. If "black leather sectional" is worth ranking for, make a Black Leather Sectionals collection.

For large catalogs, this is a structural decision#

On a store with 50 products, a few indexed tag pages are a minor issue. On a store with 5,000 products and 2,000 tags, it can mean tens of thousands of thin URLs competing with the collections you actually want to rank. That's the point where tag, filter and collection strategy becomes a catalog architecture problem, which is what our large catalog SEO work covers.

If you're not sure where your store stands, start with the Shopify SEO checklist and the duplicate URL patterns in Shopify duplicate content. Tag pages are usually one of several duplication sources on the same store.

People also ask

Questions people ask about this

Should Shopify tag pages be indexed?

Usually not. Tag pages reuse the parent collection's description, get generic titles and aren't in the sitemap, so they tend to be thin duplicates. If a tag matches a keyword with real search demand, build a proper collection for it using an automated rule on that tag, then add a noindex, follow robots meta tag to tag-filtered pages in your theme.

Are Shopify filter URLs indexed by Google?

By default, filtered collection URLs from Search & Discovery canonicalize to the unfiltered collection, and Shopify's default robots.txt disallows URLs with two or more filter parameters and sort parameters. So filter pages are generally consolidated into the base collection. That is the right default for most stores; build collections for filter values that have search demand.

What is the difference between a Shopify tag and a collection?

A tag is a label on a product that can also create a URL like /collections/handle/tag. A collection is a page type with its own handle, SEO title, description, metafields and sitemap entry. Tags are best for organizing products and powering automated collection rules. Collections are the pages you want Google to rank.

Can I block Shopify tag pages in robots.txt?

You can edit robots.txt.liquid, but blocking is usually the wrong first step. If Google can't crawl a tag URL, it can't see a noindex tag on it, and URLs that are already indexed may stay indexed. Add noindex, follow in the theme first, remove tag links from templates, and only consider robots.txt rules later if crawl volume is a proven problem.

Next step

Want this done on your store?

SEO for Shopify stores with 1,000 to 100,000 SKUs: faceted navigation, variants, crawl budget, programmatic collections with metaobjects and internal linking at scale.

Talk to Zack directlyUsually replies within 24 hours
WeChatSearch this ID in WeChat
WhatsApp +86 186 8214 2136