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
-
Google Ignoring Canonical Tag for Hundreds of Sites
Bazaar Voice provides a pretty easy-to-use product review solution for websites (especially sites on Magento): https://www.magentocommerce.com/magento-connect/bazaarvoice-conversations-1.html If your product has over a certain number of reviews/questions, the plugin cuts off the number of reviews/questions that appear on the page. To see the reviews/questions that are cut off, you have to click the plugin's next or back function. The next/back buttons' URLs have a parameter of "bvstate....." I have noticed Google is indexing this "bvstate..." URL for hundreds of sites, even with the proper rel canonical tag in place. Here is an example with Microsoft: http://webcache.googleusercontent.com/search?q=cache:zcxT7MRHHREJ:www.microsoftstore.com/store/msusa/en_US/pdp/Surface-Book/productID.325716000%3Fbvstate%3Dpg:8/ct:r+&cd=2&hl=en&ct=clnk&gl=us My website is seeing hundreds of these "bvstate" urls being indexed even though we have a proper rel canonical tag in place. It seems that Google is ignoring the canonical tag. In Webmaster Console, the main source of my duplicate titles/metas in the HTML improvements section is the "bvstate" URLs. I don't necessarily want to block "bvstate" in the robots.txt as it will prohibit Google from seeing the reviews that were cutoff. Same response for prohibiting Google from crawling "bvstate" in Paramters section of Webmaster Console. Should I just keep my fingers crossed that Google honors the rel canonical tag? Home Depot is another site that has this same issue: http://webcache.googleusercontent.com/search?q=cache:k0MBLFcu2PoJ:www.homedepot.com/p/DUROCK-Next-Gen-1-2-in-x-3-ft-x-5-ft-Cement-Board-172965/202263276%23!bvstate%3Dct:r/pg:2/st:p/id:202263276+&cd=1&hl=en&ct=clnk&gl=us
Intermediate & Advanced SEO | | redgatst1 -
Bad SEO Practice: in title tag?
Greetings, I just discovered that some of our content was produced with
Intermediate & Advanced SEO | | Eric_Lifescript
tags in the title tag. Example: <title>Diabetes Symptoms <br> In Women Over 40</title> My gut says this is bad for SEO, but I couldn't find a definitive answer on the web, so I thought I would ask the community of gurus here at Moz. 🙂 Thanks in advance for any reply. Kind regards, Eric0 -
Null Alt Image Tags vs Missing Alt Image Tags
Hi, Would it be better for organic search to have a null alt image tag programatically added to thousands of images without alt image tags or just leave them as is. The option of adding tailored alt image tags to thousands of images is not possible. Is having sitewide alt image tags really important to organic search overall or what? Right now, probably 10% of the sites images have alt img tags. A huge number of those images are pages that aren Thanks!
Intermediate & Advanced SEO | | 945010 -
Pagination parameters and canonical
Hello, We have a site that manages pagination through parameters in urls, this way: friendly-url.html
Intermediate & Advanced SEO | | teconsite
friendly-url.html?p=2
friendly-url.html?p=3
... We've rencently added the canonical tag pointing to friendly-url.html for all paginated results. In search console, we have the "p" parameter identified by google.
Now that the canonical has been added, should we still configure the parameter in search console, and tell google that it is being use for pagination? Thank you!0 -
Wordpress Tag Pages - NoIndex?
Hi there. I am using Yoast Wordpress Plugin. I just wonder if any test have been done around the effects of Index vs Noindex for Tag Pages? ( like when tagging a word relevant to an article ) Thanks 🙂 Martin
Intermediate & Advanced SEO | | s_EOgi_Bear0 -
Meta NoIndex tag and Robots Disallow
Hi all, I hope you can spend some time to answer my first of a few questions 🙂 We are running a Magento site - layered/faceted navigation nightmare has created thousands of duplicate URLS! Anyway, during my process to tackle the issue, I disallowed in Robots.txt anything in the querystring that was not a p (allowed this for pagination). After checking some pages in Google, I did a site:www.mydomain.com/specificpage.html and a few duplicates came up along with the original with
Intermediate & Advanced SEO | | bjs2010
"There is no information about this page because it is blocked by robots.txt" So I had added in Meta Noindex, follow on all these duplicates also but I guess it wasnt being read because of Robots.txt. So coming to my question. Did robots.txt block access to these pages? If so, were these already in the index and after disallowing it with robots, Googlebot could not read Meta No index? Does Meta Noindex Follow on pages actually help Googlebot decide to remove these pages from index? I thought Robots would stop and prevent indexation? But I've read this:
"Noindex is a funny thing, it actually doesn’t mean “You can’t index this”, it means “You can’t show this in search results”. Robots.txt disallow means “You can’t index this” but it doesn’t mean “You can’t show it in the search results”. I'm a bit confused about how to use these in both preventing duplicate content in the first place and then helping to address dupe content once it's already in the index. Thanks! B0 -
Set up a rel canonical
I have a question. I was wondering, if it was possible to set up a rel canonical. When I can't access the non canonical pages? For example, my site as at www.site.com , but the non cannocail is at site.com is their any way to set thet up without actually edting it at site.com ? Thanks for your help
Intermediate & Advanced SEO | | PeterRota0 -
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