top of page
  • Writer's pictureDan White

FIXING SHOPIFY'S PRODUCT URL STRUCTURE FOR SEO SUCCESS

Ok, let’s talk Shopify – and more specifically let’s talk Shopify URLs. When it comes to SEO most of what people like myself can teach is pretty universal. Not this. It’s a unique (and uniquely frustrating) feature of Shopify stores that I see coming up again and again when I carry out SEO Audits. Once edited though it can really help the organic visibility of your website.


And it’s all to do with product URLs.


A quick intro to Shopify URL’s


On any Shopify website you will find 3 URL types for products.


We’re going to use Hiut Denim as the example (They also make an appearance in my post on SEO for luxury brands).


If you look around their website you can see there are:

  1. Collection URLshttps://hiutdenim.co.uk/collections/mens - for Men’s jeans

  2. Product URLshttps://hiutdenim.co.uk/products/organic-denim-hacka - for a specific product such as ‘the Hack’ slim jean

  3. Product Collection URLshttps://hiutdenim.co.uk/collections/mens/products/organic-denim-hacka - So there’s the exact same product again - but can you see that the URL is different?

Shopify will create a unique URL for every product and another unique URL every time that product is added to a collection.


Screenshot of Hiut Denim website showing The Default Shopify Product Collection URL
The Default Shopify Product Collection URL on Hiut Denim

So if you have 1 product in 5 collections, that means there’s 6 URLs – all for the same product. And with multiple URL’s all featuring the same product it means we have multiple SEO problems to fix.


Why is this URL structure an issue?


While what we’re looking at might seem subtle the way Shopify works means that this can really impact how Google understands your website. Products pages act as the most amazing long tailed keywords opportunities and so we want to do everything we can to make sure they have their best possible chance of ranking but the current URL setup limits this.


The impact is felt in 3 different ways which we’ll come to later. In order to explain this though, we first need to have a quick lesson on something called canonical URLs.


Canonical URLs 101


Canonicalisation is a super technical sounding thing. It’s also really hard to say and it took me absolutely ages to wrap my head around what it is and how it works. Actually though it’s pretty simple, it just sounds complicated.


When we’re talking about URLs and Shopify there’s 3 terms we need to know:

  • Canonical URL – this is the one, the only, the true URL that you want to exist for a page

  • Non-canonical URL – this is an false URL. A copycat and not your Canonical URL

  • Canonical Tag – this is a bit of code which labels the copycat (the non-canonical URL) as false and tells Google that the one, true URL (the canonical URL) is the right one

This is what the canonical tag on Hiut’s Hack Jean Product Collection URL is here:

HTML code showing the Canonical Tag in Shopify for Hiut Denim product
The code showing the Canonical Tag in Shopify for Hiut Denim Product Page

Think of it like a tribute band. Let’s say ABBA. If Google needs to find out which out of all the ABBA acts out there is the real one, it’s lot easier if all the tribute acts wear a sticker when they’re performing saying ‘we’re not the real ABBA. You’ll find the real ABBA over there’. Google then ignores the tribute acts and puts all of its attention towards the one true ABBA.


If we have 1 product URL and 5 product collection URL’s the canonical tag says to Google that the 5 product collection URLs are the tribute bands and our 1 product URL is the actual ABBA band. And everyone loves ABBA.


This process is known as canonicalization. And if you have a Shopify website this will already be happening.


The problems with Canonical URLs in Shopify


Outside the world of SEO I’m sure nobody cares about this stuff. The product is on the website. It’s there, right? What’s the issue?


In theory, because we have this system of Non-Canonical URL’s using Canonical Tags to tell Google which URL’s are the Canonical URL’s then everything should just work fine. There would be nothing more that would need to do, right?


In theory yes, but there’s problems with this approach. 3 problems to be precise. Keeping things the way they are isn’t an ideal approach for your SEO.


Problem 1: Google only treats canonical tags as a strong signal. Not a directive.


While we’d love for Google to read our canonical tags it’s not guaranteed that it does what we want it to.


Sometimes Google will still come along, look at the worst ABBA tribute band in history and still decide that they’re actually the real ABBA. In other words canonical tags aren’t rules, just guidelines.



Because the use of canonical tags isn’t 100% accurate Google can end up indexing product collection URL’s, which we don’t want, as well as ignoring our real product URLs which we also don’t want. We just want our one and only true product URL to be the URL to be indexed and rank.


To achieve this we need to send the clearest signals to Google as possible and for that we need to consolidate all of our signals onto a single URL. But with multiple product URL’s flying about with canonical tags which sometimes work and sometimes not, it’s not a reliable system for providing the right signals to Google and dilutes the signals we want to send.


If we do dilute these signals then the less chance we have for a page to be indexed and to rank which in turn means less visibility in the SERPs, so less organic traffic and fewer sales.


Problem 2: Internal links point to non-canonical URLs


Links from one page to another page on the same website are called Internal Links; and internal links in a website can really help your SEO in 2 ways:


1) A link from one page to another (like a collection page to a product page, or a product page to another product page) helps add to the signals Google looks at that the page that is being linked to is the canonical page for that product, even if it’s just one of several product collection URLs. So right now the Shopify structure is adding more and more signals to Google to discover and index the non-canonical page. In other words, the wrong page.

Screenshot showing Hiut Denim Collections page with internal links highlighted around both images and text showing the wrong destination for internal links,
Internal links (highlighted in red) around both images and text link to the incorrect product collection URL

Let’s jump back to our Hiut Denim example for a moment. If you go to one of their collection pages and hover over a product you’ll see it’s the product collection page, ie. The non-canonical page which is being linked to. If the wrong page it’s getting the value of all of those internal links then our true product URL, the canonical URL is missing out


2) It also helps distribute link equity (or whatever fancy term you might like to use) from more powerful pages to less powerful product pages reducing the signals that could otherwise help them to rank


Problem 3: Other domains link to the wrong URL


If we show multiple URL’s across a website anyone who wants to link to us might add a link to the ‘wrong’ page. Say you get a link from a product feature. To the writer your product collection URL look like a totally normal. But if the same thing happens but with another publication another editor might link to another page.


All in all it means the link signals, which are hugely valuable to help your site rank, aren’t all arriving at the same intended destination. They’re not consolidated. As a result you may end up with a weaker ranking page.


So, how do we fix the Shopify Canonical URL issue?


The good news is that we can definitely fix this. The less good news is that it requires a developer.


This may differ based on the Shopify theme you’re using but it can definitely be completed. You will need to adjust the theme’s code. Here’s the information the developer will need to make this happen.


Side note: As well as product and collection URL's, your product URL's will also likely have variant URL's if the same product has more than one size or colour. Make sure once the developer has done what they need to do, these product variant URL's are also point to the right destination. Thanks to Stephan Wild for the suggestion.


Not got the funds to hire a developer? Fellow SEO Consultant, Alexander Außermayr has recommended that you can patch this with a plugin - "Sitemap NoIndex Pro". In the settings "NoIndex/NoFollow" you can Noindex Collection tags/filters. It may not be the best solution if tag pages are already ranking, because you'd be removing them, but could be short term alternative to hiring a developer to sort it out for you.


But beware: If you just noindex all these wrong PDP URLs, they are still internally linked from the collection pages instead of the correct PDP URLs.


Additionally, if they are noindexed, Googlebot will ignore the canonical link to the correct PDP URLs. All this results in no internal links (or even crawled canonical links) to the correct PDP URLs.


For this reason, you also have to fix the wrong PDP links on collection pages. A simple non-techy DIY-solution has been written by Freddie Chatt here.


If you do both (noindex via app & PDP link fix via DIY-solution), the correct PDP links are internally linked from collection pages and wrong PDP URLs show a noindex meta tag in <head>. A win-win situation."


What happens once this is all fixed?


Once this is implemented you shouldn’t ever see a product collection URL again:

  • Google won’t have any non-canonical URL’s to discover - so it’s more likely to find the correct canonical URL

  • Internal links all point directly to the canonical URL

  • Any incoming links from other websites can be added to the correct product URL

This may take weeks or even months for Google to fully process the change based on the size and complexity of your website but you can see the changes happening via the Page Indexing report in Google Search Console. So make sure you factor this into your future SEO budgets.

Screenshot showing Gymshark Product URL (without the collection part of the address)
Gymshark Product URL (without the collection part of the address)

Want to see this in action? I’d recommend checking out Gymshark who have implemented this. If you navigate to a collection, click a product and check out the URL you end up on, it will only ever be the main product URL.



bottom of page