Search Console status Page indexing · Not indexed

Alternate page with proper canonical tag: what it means and when to fix it

Report: Page indexing · Status: Not indexed · Source: Google Search Console

Quick answer: Search Console shows "Alternate page with proper canonical tag" when a URL points its rel=canonical at a different page and Google agrees with it. The alternate is left out of the index on purpose, so usually nothing is broken. Fix it only if a page you want ranked is listed, or the count jumps after a deploy.
View raw .md for LLMs / your notes

"Alternate page with proper canonical tag" is one of the reasons Google Search Console lists under Why pages aren't indexed in the Page indexing report. It sounds like an error. Most of the time it is the opposite: it is Google confirming that your canonical tags are doing their job.

TL;DR

What does "Alternate page with proper canonical tag" mean?

Every indexable page should have one canonical URL, the version Google should index and rank. When several URLs show the same content, you mark the preferred one with a canonical tag:

<!-- On https://example.com/products/linen-shirt?variant=4412 -->
<link rel="canonical" href="https://example.com/products/linen-shirt">

Search Console reads that tag, compares the two pages, and if it agrees that they are the same content, it indexes the canonical and records the other URL as an alternate. The word "proper" is the important part: the tag is valid, and Google followed it.

So the status means three things at once:

  1. This URL is not in Google's index.
  2. It declares a different URL as its canonical.
  3. Google agreed with that declaration.

If Google had disagreed, you would see a different status instead: "Duplicate, Google chose different canonical than user". That one deserves a closer look.

Is "Alternate page with proper canonical tag" an error?

No. It sits under the "Not indexed" heading because the URL is, by design, not indexed. Google's own Page indexing help says the alternate points to a canonical that is already indexed, so there is nothing you need to do.

A large count is normal on any site with URL variations. A store with 500 products and four variants each can easily show 2,000 alternate URLs and be perfectly healthy. The number itself tells you nothing; the URLs in the list do.

Which URLs normally show up as alternates?

These are expected and correct. Leave them alone.

How do I fix "Alternate page with proper canonical tag"?

For the expected URLs above, there is nothing to fix. For everything else, work through the list in this order.

  1. Export the examples. In Search Console, open Pages, click the Alternate page with proper canonical tag reason, and export the table.
  2. Group the URLs by pattern. Most lists collapse into a handful of patterns: a parameter, a variant, a path prefix. Look at patterns, not individual URLs.
  3. Find any real content page. A blog post, a category page, a product, a location page: anything you expect to see in search results. Those should not be here.
  4. Inspect it. Paste the URL into URL Inspection and compare User-declared canonical with Google-selected canonical. If the page points at a different URL on purpose, it is working. If it points somewhere by mistake, fix the tag.
  5. Make the canonical self-referencing. A page that should rank needs a canonical pointing at its own URL. Then click Request indexing.
  6. Clean up the signals around it. Your XML sitemap should list canonical URLs only, and internal links should point to canonicals, not to parameter or variant URLs.

When is "Alternate page with proper canonical tag" a real problem?

These patterns mean a template or plugin is canonicalizing pages it should not:

What does this look like on Shopify?

Shopify stores are among the most common sites to show a long list here, and almost all of it is expected. Themes output the canonical from Liquid:

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

canonical_url strips variant parameters and collection prefixes, so:

Every one of those URLs appears as an alternate, which is Shopify working correctly. Two things are worth checking. First, that your theme's internal product links use product.url rather than a collection-scoped URL, so Google crawls the canonical version directly. Second, that no app or custom snippet has added a second canonical tag. Two conflicting canonicals on one page make Google ignore both.

What does this look like on WordPress?

The canonical is usually emitted by an SEO plugin (Yoast, Rank Math, All in One SEO) or by WordPress core if no plugin is active. Typical alternates are comment-reply links (?replytocom=), tracking parameters, and AMP versions, all of which are fine.

Problems usually come from a plugin setting, not from core: a canonical manually set on a page and then copied when the page was duplicated, or two SEO plugins active at the same time, each printing its own canonical. View the page source and search for rel="canonical". There should be exactly one.

Should I click "Validate fix" for this status?

Not for expected alternates. Validation checks whether the listed URLs are now indexed. A correctly canonicalized alternate will never be indexed, so validation reports Failed and the status looks worse than it is. Only start validation after you have fixed pages that should have been canonical, and expect it to take up to two weeks, sometimes longer.

How do I check the canonical tag on a page?


Audit your URL at https://lighthouse-md.com.

Audit your page now

Paste your URL, get scores plus a CLAUDE.md plan for Claude Code.

Run audit →
Add us as a preferred source on Google

One click, and Google shows more of lighthouse-md.com in your search results.