Why the same product has two addresses
A Shopify product lives at /products/your-product. A theme can also link to it from a collection page using a longer address that includes the collection, in the form /collections/sale/products/your-product. Shopify’s Liquid reference describes the within filter as one that “generates a product URL within the context of the provided collection”, and shows an output of exactly that shape. So the second address is a documented feature, not a bug. It exists so the page can know which collection the shopper came from.
The catch for search is that two addresses now show the same content.
What Google says about duplicates
Google’s documentation on consolidating duplicate URLs gives the reasons to pick one version: to consolidate signals for similar or duplicate pages, and to avoid spending crawling time on duplicates. It names several ways to say which URL you prefer, and ranks them:
- A permanent redirect is a strong signal.
- A
rel="canonical"link in the page’s head is also a strong signal. Google may still choose a different URL, because every method is a signal and none is a command. - Listing a URL in a sitemap is a weak signal.
The same page advises absolute URLs in canonical tags, consistent links to your preferred version, and against using robots.txt or noindex to handle duplicates.
What Shopify says it already does
In a post on canonical URLs, Shopify writes that its themes “automatically canonicalize URLs, so most of the time, you don’t have to think about them”, and that first-party themes set a canonical URL on all pages. It adds that you should not usually need to override the default. If you do need to point a page at a different original, the post’s method is a metafield per page type, referenced in the theme file. The post does not discuss the collection-path product URL specifically, so we are not claiming Shopify says that address is canonicalized. Check it yourself (see below).
The part that is easy to miss
An Ahrefs help article on Shopify audits describes the usual setup: the collection-path product address carries a canonical pointing at the plain /products/ address, yet many themes link from collection pages to the collection-path version. The result, Ahrefs says, is that the canonical address can end up with no internal links. Its suggested fix is to link collection pages to the /products/ addresses. This is one SEO vendor’s description of many themes, not Shopify documentation, and your theme may differ.
Evidence we do not have
We have not measured whether fixing this changes rankings or traffic on any store. Google describes canonicals as a signal for consolidating duplicates and saving crawl time. It does not promise a ranking gain, and neither do we.
What a store owner can do this week
- Open one product from a collection page and note the address. If it contains
/collections/, view the page source and search forrel="canonical". Confirm it points to the plain/products/address. - If your theme links collection cards to the collection-path address, ask your developer whether the card link can use the product’s own URL instead. In Liquid, that is
product.urlwithout thewithinfilter. - Make sure the sitemap lists the
/products/addresses. Shopify generates the sitemap for you, so you are only confirming it. - Use one version of your internal links in menus and featured sections, as Google’s guidance advises.
What we checked
- Source Google Search Central, “How to specify a canonical URL with rel=canonical and other methods” Open on developers.google.com (opens the source)
- Source Shopify, “Set canonical URL on Shopify” (blog post) Open on shopify.com (opens the source)
- Source Shopify developer docs, Liquid filter “within” Open on shopify.dev (opens the source)
- Source Ahrefs Help, “Why is my Shopify website flagged for orphan pages and canonical URLs have no internal links in Site Audit” Open on help.ahrefs.com (opens the source)
- Our check None. We did not test this on a store for this note.