Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
How (or if) to apply re canonical tags to Shopify?
-
Anyone familiar with Shopify will understand the problems of their directory structure. Every time you add a product to a 'collection' it essentially creates a duplicate. For example...
- https://www.domain.com/products/product-slim-regular-bikini
may also appear as:
- https://www.domain.com/collections/all/products/product-slim-regular-bikini
- https://www.domain.com/collections/new-arrivals/products/product-slim-regular-bikini
- https://www.domain.com/collections/bikinis/products/product-slim-regular-bikini
- etc, etc
It's not uncommon to have up to six duplicates of each product.
So my question is twofold:
- Firstly, should I worry about this from an SEO point of view? I understand the desire to minimise potential duplicate content issues and also in focussing the 'juice' on just one page per product. But I also planned on trying to build the authority of the collection pages. If I request Google not to index the product pages which link off the collections, does this not devalue these collections pages?
- Secondly, I understand the correct way to fix these is using 'rel canonical' tags, but I'm not clear about HOW to actually do this. Shopify support has not been very helpful. They have provided two different instructions, so just added to the confusion (see below).
Shopify instruction #1: Add the following to the theme.liquid file...
<title><br />{{ page_title }}{% if current_tags %} – tagged "{{ current_tags | join: ', ' }}"{% endif %}{% if current_page != 1 %} – Page {{ current_page }}{% endif %}{% unless page_title contains shop.name %} – {{ shop.name }}{% endunless %}<br /></title>
{% if page_description %}{% endif %}
Shopify instruction #2: Add the following to each individual product page...
So, can anyone help clarify:
- The best strategic approach to this inherent SEO issue with Shopify (besides moving to another platform!)? and
- If 'rel canonical' tags is the way to go, exactly where and how to apply them?
Regards,
Murray
-
Howdy,
I assume that in your case it doesn't happen automatically. In this case you'll need to use an IF statements in the head/header file. Basically, it would be this:
IF current page url = url you want THEN display canonical tag with wanted url
Repeat that for all needed url and you are good.
If there are many of those, CASE might be better.
-
Good answer!
I have a question! If I just wanna add one or two canoncial tags on specific page(s), how I can do it on shopify coding?
-
How can I fix this problem with Shopify? Shopify does not seem like it is a problem. One of their solutions is to no index the other pages, but I want all the google juice and google love going to the main page.
Current Setup:
https://wrestlinggear.com/collections/wrestling-shoes rel canonical - https://wrestlinggear.com/collections/wrestling-shoes
https://wrestlinggear.com/collections/wrestling-shoes/accessory rel - https://wrestlinggear.com/collections/wrestling-shoes/accessory
https://wrestlinggear.com/collections/wrestling-shoes/adidas rel canonical - https://wrestlinggear.com/collections/wrestling-shoes/adidas
I want it like this:
https://wrestlinggear.com/collections/wrestling-shoes - rel canonical - https://wrestlinggear.com/collections/wrestling-shoes
https://wrestlinggear.com/collections/wrestling-shoes/accessory - rel canonical - https://wrestlinggear.com/collections/wrestling-shoes
https://wrestlinggear.com/collections/wrestling-shoes/adidas- rel canonical - https://wrestlinggear.com/collections/wrestling-shoes
Of course there are a lot more pages like this that I would like to rel cannoical back to the main collections pages.
-
Use tools like SEO Frog
-
Well, if it automatically doesn't work, then you gotta do it manually, right

-
I don't believe this is the answer. I have several other clients on Shopify who do not have goals for macro conversions, but we are seeing conversion data in GA.
Besides, I was always under the impression that if you have ecommerce enabled, it's better not to use goals for transactions as it might duplicate. Is this not the case?
-
I know how to check whether the code is there. But how do you check whether or not specific pages have been indexed by Google?
As far as I can see Google Search Console only reports on the number of pages indexed, not which pages have been indexed. Is there any way to get an actual list of indexed pages?
I know running a site: query will show up all the results, but I just want a list (eg CSV) of the URLs indexed.
-
Yes, I am. Here is a link with answers to your troubles: https://help.shopify.com/manual/reports-and-analytics/google-analytics/google-analytics-goals-and-funnels
-
Yes, it is supposed to. Try it, check it - it's pretty easy

-
Are you familiar with Shopify?
I have another issue where GA tracking code is not firing on the Thank_You page. I have double checked GA config with the GA implementation twice! But the problem seems to be with Shopify, since this page sites on their site (checkout.shopify.com) and they seem unable to fix it.
-
Thanks Dmitrii,
So will that one line of code fix the issue for ALL products and ALL collections?
-
Howdy.
Shopify does canonicals automatically. Basically all the collections products urls will have canonical to product url. Like this: https://www.domain.com/collections/all/products/product-slim-regular-bikini will have canonical to
https://www.domain.com/products/product-slim-regular-bikiniIf it doesn't happen for you automatically, simply insert this:
In the main theme.liquid file in the head section.
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Move to new domain using Canonical Tag
At the moment, I am moving from olddomain.com (niche site) to the newdomain.com (multi-niche site). Due to some reasons, I do not want to use 301 right now and planning to use the canonical pointing to the new domain instead. Would Google rank the new site instead of the old site? From what I have learnt, the canonical tag lets Google know that which is the main source of the contents. Thank you very much!
Intermediate & Advanced SEO | | india-morocco0 -
SEO Impact of External links in JS tag
We have our JS tag and iframe tag being used over by 100 leading websites. What would be the SEO impact if we added a follow link in the iframe. Would it have any negative impact ? Vivek
Intermediate & Advanced SEO | | kvivek050 -
Fast/Easy Way to Implement Canonical tags in Bulk in Magento CMS?
Hello Amazing SEO Community! Quick Q for a client with a TON of duplicate content. (yikes!) My client is currently undertaking a large SEO project around canonical tagging for their thousands of duplicate pages. Currently, one product sits on multiple URLs and they are being indexed as different pages (with the same content). The issue is found across all products and other pages, and across their international sites as well. One core challenge they face now is lack of time/resources from their developer side. The solution we see to the duplicate content is to manually add a canonical tag to each of our tens of thousands of pages. Their content management system is Magento. Has anyone ever tackled canonicalization for a large site that uses Magento? Any more efficient solutions to manual tagging is ideal. Thanks in advance for your input. -Bonnie
Intermediate & Advanced SEO | | accpar0 -
Partial duplicate content and canonical tags
Hi - I am rebuilding a consumer website, and each product page will contain a unique product image, and a sentence or two about the product (and we tend to use a lot of the same words in different ways across products). I'd like to have a tabbed area below the product info that talks about the overall product line, and this content would be duplicate across all the product pages (a "Why use our products" type of thing). I'd have this duplicate content also living on its own URL's so they can be found alone in the SERP's. Question is, do I need to add the canonical tag to this page, since there's partial duplicate content on the product pages? And if I did that, would my product pages go un-indexed?? I understand how to handle completely duplicated content, it's the partial duplicate that I'm having difficulty figuring out.
Intermediate & Advanced SEO | | Jenny10 -
Noindex : Do Follow or No Follow Tags?
Hello, I have a website with tags (which have the noindex tag) on each article post. I've been told that I should noindex/nofollow these tag pages, because they are getting link juice passed to them, and since they aren't getting indexed, it's wasting link juice to those pages, when the link juice could be passed to a page that is actually getting indexed. What are your thoughts on this? Also, what would be the point to noindex/follow a page, if you are noindexing that page? Isn't it just wasting link juice? What is the proper SEO way to optimize tags.
Intermediate & Advanced SEO | | WebServiceConsulting.com0 -
Are pages with a canonical tag indexed?
Hello here, here are my questions for you related to the canonical tag: 1. If I put online a new webpage with a canonical tag pointing to a different page, will this new page be indexed by Google and will I be able to find it in the index? 2. If instead I apply the canonical tag to a page already in the index, will this page be removed from the index? Thank you in advance for any insights! Fabrizio
Intermediate & Advanced SEO | | fablau0 -
How to Disallow Tag Pages With Robot.txt
Hi i have a site which i'm dealing with that has tag pages for instant - http://www.domain.com/news/?tag=choice How can i exclude these tag pages (about 20+ being crawled and indexed by the search engines with robot.txt Also sometimes they're created dynamically so i want something which automatically excludes tage pages from being crawled and indexed. Any suggestions? Cheers, Mark
Intermediate & Advanced SEO | | monster990 -
Rel=canonical tag on original page?
Afternoon All,
Intermediate & Advanced SEO | | Jellyfish-Agency
We are using Concrete5 as our CMS system, we are due to change but for the moment we have to play with what we have got. Part of the C5 system allows us to attribute our main page into other categories, via a page alaiser add-on. But what it also does is create several url paths and duplicate pages depending on how many times we take the original page and reference it in other categories. We have tried C5 canonical/SEO add-on's but they all seem to fall short. We have tried to address this issue in the most efficient way possible by using the rel=canonical tag. The only issue is the limitations of our cms system. We add the canonical tag to the original page header and this will automatically place this tag on all the duplicate pages and in turn fix the problem of duplicate content. The only problem is the canonical tag is on the original page as well, but it is referencing itself, effectively creating a tagging circle. Does anyone foresee a problem with the canonical tag being on the original page but in turn referencing itself? What we have done is try to simplify our duplicate content issues. We have over 2500 duplicate page issues because of this aliasing add-on and want to automate the canonical tag addition, rather than go to each individual page and manually add this tag, so the original reference page can remain the original. We have implemented this tag on one page at the moment with 9 duplicate pages/url's and are monitoring, but was curious if people had experienced this before or had any thoughts?0