Products Tags are a fantastic feature of Shopify that allow your visitors to narrow down product selection on collections. But from an SEO perspective, they're a duplicate / thin content nightmare.
In this short guide, I'll explain what are product tags in Shopify, why they're bad for SEO, and the many options to resolve this.
What are Shopify Product Tags?
When creating or modifying products on Shopify, one option you may come across is "Tags".
Tags can be used to group and categorise products, along with allowing visitors to filter products on your collection pages.
A single collection can often have 20, 50, 100 or more products.
Tags allow these to easily be narrowed down by your visitors, with a filter menu like this:
Tags can also be used for additional functionality such as hiding products with Shopify Apps or other types of settings.
Why are Product Tags bad for SEO?
For every product tag on your store, Shopify will automatically create a new page under each collection that it applies.
Say you have a product tag named <code>colour_red</code> and it's being used for products across 5 different collections.
This will automatically create 5 different pages, except every one of them will be duplicate content with no ability to customise them.
You'll know you have these when you see URLs like this:
This can quickly add up, like this store:
Also if you look closely, the titles are not attractive to click in search results. Nobody wants to click on Mens T-Shirts Tagged "colour_red".
But the even bigger problem is when you click onto these pages. Here's an example:
This page is an exact duplicate of the parent collection, besides the filtered products.
That means the H1, collection description, content, meta description, and everything else that matters for SEO is duplicated for each of these tag pages.
Even worse is the fact there's no default functionality built into Shopify to customise any of these things.
This leads to three issues:
- Thin Content - This is a blanket term in SEO referring to pages that will reduce the overall SEO quality of your website e.g. duplicate content pages
- Wasted Crawl Budget - Search engines will be wasting a lot of crawl resources on these tag pages, potentially leading to important pages being missed
- Missed Opportunities - Some of these pages may have good keyword potential but by default can't be customised for SEO
Is my website’s SEO affected by this?
If you're using product tags, the answer is mostly likely yes.
But here's how to check:
1. Do a Google search using a <code>site:</code> and <code>intitle:</code> operator<br/><code>site:example.com/collections/ intitle:tagged</code>
This will give you a list of all indexed product tags, if there are none, you'll need to manually check under your collections for filter options.
2. Open up the tag page and view the source code (right click > view page source)
3. Check for a <code>Canonical</code> Tag or <code>Noindex</code> meta tag
You can do a search (ctrl + f) for "canonical" or "noindex" to find these, if none, they don't exist.
If there's a canonical tag, check if it's pointing to itself or the main collection. It should point to the main collection.
4. If there's no <code>canonical</code> tag or <code>noindex</code> tag, check <code>Robots.txt</code>
Open <code>yourwebsite.com/robots.txt</code> and check if there's a rule disallowing access to <code>/collections/*/*</code>.
If not, your product tags can be both crawled and indexed.
Fixing Product Tag SEO issues
There are multiple ways to resolve this, depending on your store and goals.
The first way is to use a canonical tag pointing at the collection, it'll look like this:<br/><code><link rel="canonical" href="https://example.com/collections/mens-t-shirts" /></code>
All we're doing here is notifying search engines that this page is a duplicate of another one, then recommending them to index the other one instead (the canonical URL).
Presuming search engines follow this recommendation, this will resolve the thin content issue, but it doesn't save crawl budget.
Important Note: Be careful not to set these pages to canonicalised and noindex, this is contradicting as we want the canonical URL to be indexed
Another simple solution is to set Product Tags to <code>noindex, follow</code>. This is a request to search engines not to add this page to their index (search results), but still to follow links on the page.
This can be implemented by adding the following code to your <code>theme.liquid</code> template file:
This code snippet will set all product tag pages to <code>noindex</code>, so search engines shouldn't pick them up. Or if they've already indexed them, they'll probably be removed once re-crawled.
I wouldn't say this is better or worse than canonicalising, there's no additional downsides, but <code>noindex</code> tends to be a stronger signal than a <code>canonical</code> tag - which acts as more of a recommendation.
It does share the same downside as canonicalising though, it doesn't save crawl budget.
3. Block Crawl
With the recent added ability to modify Robots.txt on Shopify, another great option is to block these tag pages being crawled altogether.
This can be done by modifying your <code>robots.txt.liquid</code> (may need created first) to add an additional rule like this:
This blocks robots from accessing <code>/collections/any-collection/anything</code>. Which will perfectly cover the product tags, however may lead to issues depending on your website setup.
One issue would be if you're using default product links e.g. <code>example.com/collections/t-shirts/products/name-of-product</code> as these will be blocked from crawlers also.
So be careful using this one, probably best to consult with an SEO or at least triple check it before and afterwards.
The upside of this is it'll resolve crawl budget issues and most likely prevent the pages being indexed. Though if they're currently indexed and you'd like to be sure, you may want to set them to <code>noindex</code> first for a few days, then block crawl later.
4. Use Them As Sub-Categories
If you have very capable developers, it's possible (but not particularly efficient) to customise these product tag pages to change the title tag, meta description, H1, content, etc.
This isn't ideal, but it has the upside of SEO friendly URLs.
Normally if you had a collection for Sofas (<code>/collections/sofas</code>), as an example, you'd have another for Leather Sofas (<code>/collections/leather-sofas</code>).
By customising a product tag, you could have a page under <code>/collections/sofas/leather</code>.
This is user-friendly and an SEO friendly URL structure, but I wouldn't recommend it in most circumstances as it's not easily done within Shopify, though I've seen a couple stores doing so.
5. Delete them
Not particularly a great option, especially if you're actually using them. But worth mentioning nevertheless.
If you're not using product tags and your theme doesn't utilise them to filter products, it may be easy to just delete them all. This completely resolves the problem.
Just be careful to 301 redirect them to the main collection so you don't create a bunch of 404 pages. Especially if they're indexed or have backlinks.
The other options are significantly easier than this.
For most of our clients, we'll disallow access to them via <code>Robots.txt</code>, then canonicalise them as a back up - just in case. The canonical tag does nothing if search engines can't access the page, but it's only a backup if the Robots.txt file is messed up.
I'd probably recommend this approach in most cases, but it's important to make sure this <code>Robots.txt</code> rule doesn't conflict with your website setup.
Even if you do it yourself, you may want to book an hour with an SEO consultant to look it over and advise you. Otherwise a full SEO audit or campaign will likely find other similar issues to this with your store.
Tips to improve your Shopify store's SEO
For more advice on SEO for Shopify, check out these guides: