Shopify and SEO #1 - Internal linking

Shopify is growing more and more in popularity, our belief is that is mostly due to its ease of use for non-professionals and the rather low starting costs if you just want a simple webshop up and running.

Shopify is growing in popularity.

Although Shopify for sure is a good platform to get started on, out-of-the-box there will be serious limitations compared to my more professional platforms such as Magento. One obvious issue, which we have discussed previously, is the the lack of Klarna checkout which is a must in the Nordics.

Most common technical issues in Shopify

The technical SEO issues one sees on Shopify more or less always are the same, and these are usually related to Shopify default behavior. Bellow a quick summary of them

  1. Incorrect internal linking

  2. Paginated pages being indexed

  3. Insufficient or incorrect structured data

  4. Uncompressed images

  5. Old apps which affect page speed

I will be dealing with each of the above in different posts over the coming couple of weeks, but in this post we will deal with Duplicate content due to incorrect internal linking and confusing canonical tags.

Duplicate content

Duplicate content is essentially that you have the same content, in the case of Shopify this would mainly refer to product pages, accessible from more than one URL and paginated and/or layered navigation pages with less than ideal canonicals or robots.txt directives.

Why duplicate content is a problem is that this sends search engines confusing messages, search engines do not know which page to index (show in their results). You might think, what difference does it make which one is shown if the content is the same? The issue is it might lead to that none of the pages are shown as they are both determined as not important.

Duplicate content means you have the same content on multiple URLs           

Duplicate product pages

Shopify default behavior is that all product pages are accessible from two different URLs.

  • /collections/*/products/ <-Non-canonical URL

  • /products/ <- Canonical URL

Shopify compensates for the duplicate URLs by using canonical tags to indicate which one to index. Although canonical tags are helpful, they are generally not treated as directives but as recommendations which most often are followed by search engines.

The canonical URL and the browser URL are not the same.

The above wouldn't be such a big problem if it wasn't that Shopify uses in its internal linking the non-canonical URL, which essentially is sending search engines mixed messages.

On the one hand our own webshop is using the non-canonical URL, but at the same time we are telling search engines to use some other URL than our webshop is using.

Category pages in Shopify linking to the non-canonical URL

Fortunately it is rather easy to fix the above. Although it depends a bit from theme to theme how to solve it, but most often it merely requires to change some of the code in your product.grid-item.liquid file.

You should be looking for something like this

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

And replace it with

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

In the next post we will show how you can correctly exclude paginated and layered navigation pages from being indexed by search engines.