How to Fix Duplicate Content Issues in Shopify?

How to Fix Duplicate Content Issues in Shopify?

Dealing with duplicate content issues is an important part of technical SEO. Today, we’ll explain what duplicate content is. Also, we’ll show you how to spot and fix duplicate content issues in Shopify.

Overview

What is duplicate content and why is it an SEO issue?

Duplicate content generally refers to substantive blocks of content within or across domains that either completely match other content or are appreciably similar. Mostly, this is not deceptive in origin.

Source: Google, Avoid creating duplicate content

Duplicate content is one of the most common SEO issues Shopify store owners face. Examples of duplicate content include:

  • Product pages that are displayed on multiple distinct URLs (e.g., a collection page or multiple collection pages, an “On Sale” page, a “Bestsellers” page, an “Outlet” page, etc.).
  • Pages with identical or exceptionally similar content. For example, duplicate product pages, identical product descriptions, similar blog posts, duplicate pages caused by pagination (e.g., https://sherpas.design/blogs/e-commerce and https://sherpas.design/blogs/e-commerce?page=1), etc.
  • Your primary domain and your Shopify-managed domain, i.e., the “myshopify” version of your domain.
  • The http:// version of your domain and the https:// version of your domain.
  • The www. version of your domain and the non-www. version of your domain.

In general, Google doesn’t take action against duplicate content unless its intent is to be deceptive and manipulate the results on the SERPs.

Let's put this to bed once and for all, folks: There's no such thing as a "duplicate content penalty." At least, not in the way most people mean when they say that.

There are some penalties that are related to the idea of having the same content as another site—for example, if you're scraping content from other sites and republishing it, or if you republish content without adding any additional value. These tactics are clearly outlined (and discouraged) in our Webmaster Guidelines.

Source: Google, Demystifying the “duplicate content penalty”

Still, duplicate content can hurt your rankings which can result in traffic losses and missed sales opportunities. This is why it’s important to fix duplicate content issues in a timely manner.

Below, we’ll discuss some of the most common duplicate content issues Shopify store owners might face:

  • Duplicate product pages
  • Identical or extremely similar product descriptions
  • Your primary domain and your Shopify-managed domain

Duplicate product pages

Duplicate product pages can occur when you associate a product page with a collection. This is because when you associate a product with a collection, the product page can be reached through an additional URL:

  • yourshopifystore.com/products/grey-suede-jacket - original product page URL
  • yourshopifystore.com/collections/jackets/products/grey-suede-jacket - new product page URL (created when the product is added to a collection)

In Shopify, you can associate a product with more than one collection. This means that the platform will generate even more dynamic URLs. However, in Shopify, all /collections/sample-collection/products/sample-product pages include a canonical tag to the associated products/sample-product page. So, there is no reason to worry about duplicate content issues.

Still, keep in mind that your internal links may lead to the URL variations, instead of the original version (or the master copy) of the page, i.e., the product page. This will split the ranking signals between the different pages (instead of consolidating them) and may confuse Google as to which page you want to appear on the SERPs.

Also, the same product page can be reached in other ways as well (pay attention to the parts in bold):

  • https://www.yourshopifystore.com/products/grey-suede-jacket
  • https://www.yourshopifystore.com/collections/jackets/products/grey-suede-jacket
  • http://www.yourshopifystore.com/products/grey-suede-jacket
  • http://www.yourshopifystore.com/collections/jackets/products/grey-suede-jacket
  • https://yourshopifystore.com/products/grey-suede-jacket
  • https://yourshopifystore.com/collections/jackets/products/grey-suede-jacket
  • http://yourshopifystore.com/products/grey-suede-jacket
  • http://yourshopifystore.com/collections/jackets/products/grey-suede-jacket

Besides, other factors can affect the product page URL, e.g., product variants, such as sizes, colors, prints, etc. And filtering and sorting options can change the URL of the collection page that the product is associated with.

URL parameters (e.g., if you share a page on Facebook, Twitter, etc.) can also create duplicate content issues. However, as a Shopify store owner, you don’t need to worry about this as Shopify automatically adds a self-referencing canonical tag to the URL without parameters.

As you can see, the same product page can have multiple different URLs.

A customer knows that all these URLs lead to the same page. As humans, we understand that a product page can be reached in different ways - just like we know we can get from point A to point B using different routes. No matter which route we take, we’ll still get to the same final destination.

However, search engines don’t have that kind of context - to a search engine, all these URLs lead to different pages. In other words, they don’t perceive these pages as the same page with different URLs. They see all these URLs as different pages with the same (i.e., duplicate) content. Your job as a store owner is to tell them that this is the same page that can be reached through multiple URLs. We’ll show you how in the section on dealing with duplicate content in Shopify.

Identical or extremely similar product descriptions

Identical or similar product descriptions can easily occur if:

  • Your products are very similar or you create a separate product page for each product variant
  • You’re a dropshipper and use the product descriptions provided by the vendors

Dealing with identical or similar product descriptions isn’t difficult. Yet, it is time-consuming. Basically, you need to assess the quality of your product descriptions.

Your primary domain and your Shopify-managed domain

Shopify keeps two versions of your website:

  • Your primary domain - the domain Google crawls and indexes
  • Your Shopify-managed domain - the “myshopify” version of your domain

Similar to the URL variations we discussed above, this can cause duplicate content issues. Luckily, there is an easy fix. Open your Shopify store admin panel > Sales channels > Online store > Domains.

In the “Primary domain” section, you should see the following message: “Traffic from all your domains redirects to this primary domain.” If this is the case, there’s nothing to worry about.

However, you can also see the following message: “Traffic from your domains is not being redirected to this primary domain.” If this is the case, you must take immediate action as this means that Google takes into consideration both your primary domain and your Shopify-managed domain. This means that equity signals can be split amongst multiple pages, and Google might get confused as to which version of your website should be indexed. To fix this issue, click “Enable redirection.”

Note: This will also redirect the traffic from all URL variations of your homepage (e.g. the http://, the https://, the www., and the non-www version of your homepage) to your primary domain.

Duplicate content is a common SEO issue all merchants face. The main problem with duplicate content is that it confuses search engines.

For example, to provide a better user experience, search engines rarely display multiple versions of the same page on the SERPs. If duplicate content exists, search engines won’t know which is the original version of the page, i.e., which version of the page should be indexed and which ones should be ignored. Instead, they will be forced to choose on the spot which version is the best match for the query. This can result in Google displaying a variation of your original page, instead of the original page itself.

Also, if duplicate content exists, search engines won’t know whether they should direct link equity to one page or split it amongst multiple pages (or, rather, multiple versions of the same page).

Furthermore, other site owners who want to link to your website may also get confused about the page they should link to. As a result, instead of having backlinks to a single page (the original page), you may have backlinks to different versions of the same page.

All this can negatively impact the rankings of your original page.

There are several ways to deal with duplicate content. The most common way of solving duplicate content issues is using canonical tags - the process is known as canonicalization. Also, you can use 301 redirects or noindex meta tags.

Each of these options requires a different level of SEO expertise. Of course, each of them requires a high level of technical expertise. If you don’t have such expertise in-house, you should consider contacting a Shopify Expert who can help you deal with duplicate content.

However, if you’re determined to do it on your own, stick with us - in a minute, we’ll explain in more detail how to deal with duplicate content in Shopify. But first, let’s have a closer look at canonical tags and why they are important.

Resources

Learn more about duplicate content → Moz, Duplicate content

What is a canonical tag and why is it important?

What is a canonical tag?

A canonical tag is a way of telling search engines that a specific Uniform Resource Locator (URL) represents the master copy of a page. This helps prevent problems caused by identical or “duplicate” content appearing on multiple URLs.

Source: Moz

Canonical tags ( <rel=“canonical”> ) are pieces of HTML code that tell search engines you have several URLs with duplicate or exceptionally similar content. Basically, a canonical tag tells search engines whether a page should be treated as the primary version of a set of duplicate URLs or as a variation of the original page. In this way, canonical tags help search engines define which page they should index.

Furthermore, canonical tags consolidate link signals and ranking signals across duplicate pages or pages with exceptionally similar content. Also, they prevent Google from crawling duplicate pages, which optimizes your CrawlBudget and positively impacts your rankings.

Note that setting canonical tags is not an SEO requirement, and you won’t get penalized if you don’t do so. Even if you don’t set canonical tags, Google will do its best to understand the relationship between the duplicate URLs on your website and will try to define the primary versions of your pages.

However, implementing canonical tags facilitates this process and ensures Google will index exactly the URL you want - namely, the primary version of the page, instead of one of its variations.

Also, keep in mind that you must meet certain requirements for Google to accept your canonical tags. For example, when interlinking, you must always link to the canonical URL rather than a duplicate URL. This will help Google understand your preference.

What is the difference between a canonical tag and a canonical URL?

Canonical tags are found in the <head> </head> section of the HTML of a web page. They look like this:

<link rel=“canonical” href=“https://www.yourshopifystore.com/pages/sample-page/” />

As you may have already guessed, there are two types of canonical tags:

  • Self-referencing - a canonical tag that points to the page’s own URL. This type of canonical tag tells Google that this is the primary (or the original) version of the page.
  • Canonical tags that reference another page’s URL. The purpose of these tags is to tell Google that a particular page is a copy of the original page.

On the other hand, a canonical URL is the URL specified as the original URL for a number of duplicate pages. According to Google, a canonical URL is the URL of the page that is most representative from a set of duplicate pages.

You can specify your preferred canonical URL using canonical tags. However, canonical tags aren’t the only way in which you can specify a canonical URL. You can also use 301 redirects - permanent redirects from one URL to another. Keep in mind that Shopify automatically creates such redirects when you change the URL of a page. If you want to create manual redirects, follow the steps outlined in this tutorial → What you need to consider when migrating

Why should you implement canonical tags?

Simply put, canonicalization is the most effective way to deal with duplicate content issues. Another way to deal with duplicate content issues is to use the noindex meta tag. However, this is not recommended as search engines might ignore useful metrics for your site which can potentially hurt your rankings.

Best practices for implementing canonical tags

  • Specify one canonical URL per page
  • Reference the correct domain protocol (i.e., http:// or https://) in your canonical URLs
  • Specify either the www. version of the URL or the non-www. version of the URL
  • Unless canonicalizing to a different URL, use self-referencing canonical tags
  • Don’t canonicalize to 301 redirects

How to add canonical tags in Shopify?

To add a canonical tag in Shopify, open your Shopify admin panel > Sales channels > Online store > Themes > Actions > Edit code.

Layout > theme.liquid.

Find the line above the </head> tag. Insert the following code:

<title>

{{ page_title }}{% if current_tags %} &ndash; tagged "{{ current_tags | join: ', ' }}"{% endif %}{% if current_page != 1 %} &ndash; Page {{ current_page }}{% endif %}{% unless page_title contains shop.name %} &ndash; {{ shop.name }}{% endunless %}

</title>

{% if page_description %}

<meta name="description" content="{{ page_description | escape }}" />

{% endif %}

<link rel="canonical" href="{{ canonical_url }}" />

Click Save.

Note that many Shopify themes set a basic canonical rule in the theme file. As a result, any URL generated by the site has a self-referential canonical tag.

<link rel=“canonical” href=“{{ canonical_url }}” />

This might cause duplicate content issues as some URL variations may have canonical tags as well.

Tag pages (e.g., www.yourshopifystore.com/collections/sample-collection/tag) are examples of such pages. Tag pages are variations of your main category pages. If they have their own canonical tags, Google may get confused about which page it should index - the main category page or the tag page. We’ll show you how to fix this issue in the section below!

Ultimately, understanding how canonical tags work and how to properly use canonicalization is an integral part of your success as a Shopify merchant - it will help you deal with duplicate content, improve your rankings, bring relevant traffic to your store, and benefit your bottom line.

Dealing with duplicate content in Shopify

In this section, we’ll show you how to audit your Shopify store for duplicate content issues.

Also, we’ll tackle several duplicate content issues:

  • Duplicate content caused by dynamically created collection page URLs
  • Duplicate content caused by pagination
  • Duplicate content created by Shopify tags

Auditing your Shopify store and identifying duplicate content issues

The first step of dealing with duplicate content is auditing your canonical tags. To do this, you can use a site audit tool like SEMrush Site Audit. The tool can help you identify a number of canonical tag issues:

  • AMP pages that don’t have a canonical tag. To fix this issue, add a rel=“canonical” tag in the <head> </head> section of the AMP page.
  • No redirect or canonical to the https version of your homepage (from the http version). To fix this issue, add a canonical tag on the http version of the page that references the https version of the page.
  • Pages with broken canonical links.
  • Pages with multiple canonical URLs.

Dynamically created collection page URLs

As you already know, Shopify creates multiple URLs for the same product page. For example, when a product is associated with a collection, Shopify creates an additional URL: yourshopifystore.com/collections/sample-collections/products/sample-product. Also, Shopify automatically adds a canonical tag that tells Google this URL is a variation of the original product page URL: yourshopifystore.com/products/sample-product. This is convenient and can help you avoid duplicate content issues.

However, internal links can still point to the various non-canonical versions of the URL. This is why it is a good practice to eliminate the line of code that is responsible for dynamically generating the collection URLs.

To do this, open your Shopify admin panel > Sales channels > Online store > Themes > Actions > Edit code (Note that you need to have access to your Shopify theme.liquid files. Also, you must know how Shopify Liquid works and feel comfortable editing code.) > Navigate to the “Snippets” folder and find the “product-grid-item.liquid” file > Locate the following line of code:

<a href=”{{ product.url | within: collection }}” class=”product-grid-item”>

Replace it with the following line of code:

<a href=”{{ product.url }}” class=”product-grid-item”>

This will override the code so that your internal links point to the original product page URL, regardless of the collections the product is featured in.

Keep in mind that this will not delete the yourshopifystore.com/collections/sample-collection/products/sample-product URL - it will still be a live page and it will still contain a canonical tag that references to the product page, i.e., a canonical tag that tells Google that the product page is the primary page and that its URL is the original URL. In this way, Google will know which page should be indexed.

Also, don’t add a noindex meta tag to the yourshopifystore.com/collections/sample-collection/products/sample-product URL. Adding a noindex meta tag to a page with a canonical tag creates a conflict for Google.

Last but not least, ensure all internal links point to the original product page, i.e., to the canonical URL (e.g., yourshopifystore.com/products/sample-product) instead of one of its variations (e.g., yourshopifystore.com/collections/sample-collection/producs/sample-product).

Duplicate content caused by pagination

Let’s have another look at the example of duplicate content caused by pagination:

To a human, this is the same page. However, to a search engine, these are two different pages with duplicate content.

To fix this issue, Google recommends including rel tags which depict the previous page and the next page:

<link rel=“prev” href=“ /collections/all?page=1”>
<link rel=“next” href=“ /collections/all?page=3”>

Keep in mind that, in this case, there isn’t a one-size-fits-all approach. Solving this issue requires a good understanding of JavaScript. Also, you must be comfortable editing code. If you don’t have such expertise in-house, we recommend you contact a Shopify Expert who can customize your Shopify theme code.

Duplicate content created by Shopify tags

In Shopify, you can add tags to products. Tags can help you organize your products and provide a more informed and seamless shopping experience. However, tags create variations of the URLs of your collection pages. For example, youshopifystore.com/collections/silk-shirts/red & yourshopifystore.com/collections/silk-shirts/blue. Both URLs are variations of the primary category page URL - yourshopifystore.com/collections/silk-shirts. In other words, tags can easily cause duplicate content issues.

To solve these issues, first, check which of your tag pages have been indexed. Then, review each page to see if it duplicates any of your primary landing pages. If you spot any tag pages that can be potentially considered duplicate content, you can remove them from the Google index by leveraging the “noindex” meta tag.

Also, you can replace the default canonical tag implementation and prioritize the main collection URL over the tag page URL. To do this, you’ll need to edit your theme.liquid file and paste the following code in the <head> </head> section:

{% if template contains ‘collection’ and current_tags %}
<link rel=”canonical” href=”{{ shop.url }} {{ collection.url }}” />
{% else %}
<link rel=”canonical” href=”{{ canonical_url }}” />
{% endif %}

In this way, you’ll be sure that the collection tag pages have a canonical tag that points to the main collection. Thus, telling Google that the collection page is the primary version of the page and the tag page is its variation.

Again, you should be careful - if you add a noindex meta tag to a tag page, you shouldn’t add a canonical tag (as this will create a conflict for Google).

Conclusion

We hope that you now have a better understanding of what duplicate content is and why it is an SEO issue.

We explained what canonicalization is and how you can identify and deal with the most common duplicate content issues in Shopify - duplicate content caused by dynamically created collection page URLs, duplicate content caused by pagination, and duplicate content created by Shopify tags.

If you don’t have the technical expertise to solve these issues on your own, we urge you to contact a Shopify Expert who can fix them.

If you do, we hope this guide gives you the confidence and the knowledge to implement the changes yourself.

If you have further questions, just leave a comment below. And stay tuned for the next article from our “Technical SEO” series! Next month, we’ll tackle broken links.

Share

Leave a comment

  • Sherpas Design

    Hello, Adam!
    Please, contact our support and explain in detail the issue you’re experiencing!
    Best,
    Sherpas Design

  • Adam

    hi friend, For shopify online store 2.0 theme, how we can deal repeat products page problem? because the code seems different from the older theme, thanks

  • alex

    Hi, I would like to say thank you for all the information above. Was really helpful. I’m using Shopify for my store. my domains traffic from all your domains redirect to this primary domain is enable redirection.
    So the conclusion is that I don’t have to worry about the canonical problem with Shopify? or do I have to add <link rel=”canonical” href=”{{ canonical_url }}” /> to my website?