goodkeel

"Alternate page with proper canonical tag" on Shopify

Christopher Uryga · October 2026

Search Console files these URLs under Why pages aren't indexed, which makes them look like a problem. On a Shopify store almost all of them are the theme doing its job. Here is what the reason means, why the list fills up, and how to find the few URLs in it worth a second look.

What the reason means

Every page on your store carries a canonical tag in its source. It names the address that should represent the page in search:

<link rel="canonical" href="https://yourstore.com/products/linen-shirt">

When Google finds a page whose canonical names a different address, and agrees with it, it indexes that other address and lists the first one as Alternate page with proper canonical tag. Google's help page for the report says that in this case the page correctly points to its canonical, which is indexed, so there is nothing you need to do.

Why a Shopify store has so many

Shopify serves the same product or collection at several addresses, and the theme's canonical tag ties each one back to the main page. On the Dawn-based theme we tested, these all point to the plain product or collection:

What it isExample addressCanonical points to
A product variant/products/linen-shirt?variant=4401/products/linen-shirt
A product reached through a collection/collections/shirts/products/linen-shirt/products/linen-shirt
A product recommendation link/products/linen-shirt?pr_prod_strat=…/products/linen-shirt
A link with tracking parameters/products/linen-shirt?utm_source=newsletter/products/linen-shirt
A filtered collection/collections/shirts?filter.v.availability=1/collections/shirts
A sorted collection/collections/shirts?sort_by=price-ascending/collections/shirts

Every variant, every collection a product sits in, and every filter or sort a shopper can pick adds addresses like these. A store with a few hundred products can easily have more of them than real pages, and Search Console lists each one it has seen.

That's the result you want. Google indexes one page per product and per collection instead of every way of reaching it.

When a URL in the list needs a look

The list is worth checking for one thing: a real page you want in search. That means a product at /products/…, a collection at /collections/…, a page at /pages/…, a blog post, or your home page, with no extra parameters. If one of those is listed, its canonical names another address, and Google is indexing that address instead.

To find out which, paste the URL into URL Inspection at the top of Search Console. Under Indexing it shows the User-declared canonical, which is what the page's tag says, and the Google-selected canonical. Then view the page's source (Ctrl+U on Windows, Option+Command+U on a Mac) and search for canonical.

Going through a long list

Search Console shows up to 1,000 example URLs per reason. To sort them quickly:

  1. In Search Console, open Indexing > Pages, click Alternate page with proper canonical tag, and use Export (top right) to download the list.
  2. Open Table.csv in a spreadsheet and filter out every URL containing ?. Variants, filters, sorts, recommendation and tracking links all have one.
  3. Filter out URLs containing /products/ after /collections/. Those are products reached through a collection.

Whatever is left is real-page addresses, usually a much shorter list. Those are the ones to inspect.

What not to do

Our Index Check app reads a Search Console export for you. Upload the files you downloaded and it sorts every URL by the kind of Shopify page it is, marks variations like these as harmless, and lists the real pages that need a look. The files aren't stored. It's coming soon to the Shopify App Store. For pages that Shopify makes and Google can index on their own, see Shopify tag, vendor and type pages in Google.

Sources