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
-
Near Duplicate Title Tag Checker
Hi Everyone, I know there are a lot of tools like Siteliner, which can check the uniqueness of body copy, but are there any that can restrict the check to the title tags alone? Alternatively, is there an Excel or Google Sheets function that would allow me to do the same thing? Thanks, Andy
Intermediate & Advanced SEO | | AndyRSB0 -
Rel=canonical and internal links
Hi Mozzers, I was musing about rel=canonical this morning and it occurred to me that I didnt have a good answer to the following question: How does applying a rel=canonical on page A referencing page B as the canonical version affect the treatment of the links on page A? I am thinking of whether those links would get counted twice, or in the case of ver-near-duplicates which may have an extra sentence which includes an extra link, whther that extra link would count towards the internal link graph or not. I suspect that google would basically ignore all the content on page A and only look to page B taking into account only page Bs links. Any thoughts? Thanks!
Intermediate & Advanced SEO | | unirmk0 -
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 -
Putting Dates In Title Tag
Hi, I have a site were I write previews for sports match ups. I notice when I don't put the date in the title I rank much better for specific keywords. I also noticed that most people don't really put in the date when they do the search anyways, especially since google does a good job of showing the most recent pages anyways. The only reason I continue to put the date is because of this whole idea of not having page titles that are duplicate. So many of our games will be Team A vs Team B Preview, and Im worried that the term "preview" will become so repetitive that google may not like it. Any tips or ideas on how to approach this issue best? Thanks!
Intermediate & Advanced SEO | | tarafaraz1 -
Best Practices for Homepage Title Tag
Hi, I would like to know if there is any update about the best practices for the homepage title tag. I mean, a couple of years ago, it was still working placing main keywords in the homepage title tag. But since the last google SERP update, the number of characters that are being shown were reduced, and now we try to work with 55 and 56 characters. That has reduced our capacity of including many keywords on the title tag. Besides, search engines are smarter now to choose the correct inner page to show in SERP. But I am wondering if the Homepage Title should have a branded orientation or should include main keywords, cause it is still working that strategy. I would appreciatte any update in this issue. Thank you!
Intermediate & Advanced SEO | | teconsite0 -
Wildcard Redirects & Canonical Tags
I have an interesting situation. Current URLs Example1: www.domain.com/red-widgets-cid-1234.html
Intermediate & Advanced SEO | | NakulGoyal
www.domain.com/red-widgets-cid-1234-1.html
www.domain.com/red-widgets-cid-1234-1-1.html Canonical on All Above URLs:
www.domain.com/red-widgets-cid-1234.html New URL:
www.domain.com/red-widgets-cid-4567.html Current URLs Example2: www.domain.com/red-widgets-cid-1234+10.html
www.domain.com/red-widgets-cid-1234+10-1.html
www.domain.com/red-widgets-cid-1234+10-1-1.html Canonical on All Above URLs:
www.domain.com/red-widgets-cid-1234+10.html New URL:
www.domain.com/red-widgets-cid-6789.html Current URLs Example3: www.domain.com/red-widgets-cid-1234+10+5.html
www.domain.com/red-widgets-cid-1234+10+5-1.html
www.domain.com/red-widgets-cid-1234+10+5-1-1.html Canonical on All Above URLs:
www.domain.com/red-widgets-cid-1234+10+5.html New URL:
www.domain.com/american-red-widgets-cid-6789+5.html I want to make sure all variations of the above URL redirect to the new URLs. However, as you see in Example 3, we are dealing with variables that are passed on. (+5 in this case). Question 1: What wildcard 301 redirect / regular expression can I use to tackle these ? Question 2: If we redirect www.domain.com/red-widgets-cid-1234+10+5.html to www.domain.com/red-widgets-cid-6789+5.html and www.domain.com/red-widgets-cid-6789+5.html contains the canonical tag www.domain.com/american-red-widgets-cid-6789+5.html, any concerns or red flags here ?0 -
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 -
Should I Allow Blog Tag Pages to be Indexed?
I have a wordpress blog with settings currently set so that Google does not index tag pages. Is this a best practice that avoids duplicate content or am I hurting the site by taking eligible pages out of the index?
Intermediate & Advanced SEO | | JSOC0