lintpage
~/search-console/alternate-page-proper-canonical
§ page indexing report
usually fine

"Alternate page with proper canonical tag" in Search Console

The clearest good news in the Page indexing report. Google found your canonical tag, agreed with it, and indexed the page you nominated. Here is when it is worth a second look anyway.

Normally Google working as intended. Worth a look, rarely worth a fix.

§ check your url

Is it still happening?

Paste the URL Search Console flagged. We read its canonical from both the HTML and the response headers, resolve it, then fetch the target to confirm it is a page that can actually be indexed.

what this proves

Where this URL canonicalises to, whether that target returns 200 and is indexable, and whether it canonicalises somewhere else again.

what it cannot prove

We cannot tell you whether the target is the right page. A canonical pointing at your homepage is technically perfect and usually a serious mistake, and only you know which page you meant to rank.

§ what google is telling you

What this error actually means.

Google found a canonical tag on this URL pointing at a different page, agreed that the other page is the one to index, and indexed it instead. The word "proper" is doing real work here: Google is confirming your tag was well formed and it did what you asked.

This is the outcome canonical tags exist to produce. Duplicate and near-duplicate URLs are unavoidable on any real site, and this row means you handled them.

It is worth opening only if the canonical points at a page you did not intend, or if a URL you expected to rank on its own is listed. Both mean the tag is working perfectly and pointing in the wrong direction, which is easy to miss precisely because nothing looks broken.

§ causes

5 things that produce this error.

Ordered by how often they turn out to be the cause, not by how obvious they look.

01

Parameter and tracking variants, handled correctly

Every URL carrying a UTM tag, a sort order, a filter, or a session parameter is a separate address serving the same content. Canonicalising them to the clean URL is exactly right, and it generates most of the entries in this row on any site that runs campaigns.

text
/shoes?utm_source=newsletter  -> canonical -> /shoes
/shoes?sort=price             -> canonical -> /shoes
/shoes?ref=partner            -> canonical -> /shoes
02

Pagination and syndicated copies

AMP pages, print views, and pages republished on a partner site with a cross-domain canonical all land here. Working as intended, and the row is how you confirm the syndication partner kept your tag.

03

A templated canonical pointing at the wrong page

The costly version. A canonical hardcoded in a layout, so every page in a section points at the section index, or at the homepage. Google obeys it perfectly and every page but one disappears from search. Nothing renders differently, so it survives review indefinitely.

html
<!-- In a shared layout, so every page emits it -->
<link rel="canonical" href="https://example.com/" />
04

A canonical that survived a staging or template environment

A canonical still pointing at a staging hostname, a CMS preview domain, or an example URL left in a starter template. Google follows it off your site entirely.

05

Language or region variants canonicalised to one another

Localised pages that should each be indexed, pointed at a single canonical instead of being linked with hreflang. The result is that only one market can find you. Canonical says "index that one instead"; hreflang says "index all of these and serve the right one".

§ the fix

How to clear it.

step 1

Check what the canonical actually points at

Read the resolved canonical for a sample of the listed URLs. If it is the page you want ranking, you are done. If it is the homepage or a section index, you have found a template bug that is costing you every page in that section.

bash
curl -s https://example.com/page | grep -i 'rel="canonical"'
step 2

Give every page you want indexed a self-referencing canonical

If a URL should rank on its own, its canonical should point at itself. This is the default for any real page, and it removes the ambiguity that lets a parameter variant get chosen instead.

html
<!-- On https://example.com/shoes -->
<link rel="canonical" href="https://example.com/shoes" />
step 3

Use hreflang for language variants, not canonical

Canonical removes a page from the index. hreflang keeps every version indexed and tells Google which to serve where. If your English and German pages should both rank, they need self-referencing canonicals plus reciprocal hreflang annotations, not a canonical pointing at one of them.

step 4

Keep the rest of your signals pointing the same way

A canonical is a strong hint, not a command, and Google weighs it against your sitemap, internal links, and redirects. List only canonical URLs in your sitemap and link internally to the canonical version. Contradicting yourself is how a "proper canonical" row turns into Google choosing a different one.

§ faq

Questions, answered.

Is "Alternate page with proper canonical tag" a problem?
Normally not. It means Google found your canonical tag, judged it well formed, and indexed the page you nominated instead of this one. That is the intended behaviour. It only matters if the canonical points somewhere you did not intend, which is worth spot-checking because the failure looks identical to the success from the report.
Why is a page I want to rank listed here?
Because it carries a canonical pointing at another page, and Google obeyed it. Usually the tag comes from a shared template or a CMS default rather than a deliberate decision. Give the page a self-referencing canonical, then confirm your sitemap and internal links point at it too.
Should every page have a canonical tag?
Every page you want indexed should have a self-referencing one. It costs nothing, and it protects against tracking parameters and session IDs creating duplicate addresses that compete with the real page. Genuine duplicates should point at the version you want ranking.
Can a canonical point to a different domain?
Yes, and it is the correct tool for syndicated content: a partner republishing your article should point their copy at your original. It becomes a problem when it is accidental, such as a canonical left pointing at a staging domain or a template example, because Google will happily follow it off your site.
What is the difference between this and "Duplicate, Google chose different canonical"?
This row means Google agreed with your tag. The other means Google read your tag and overruled it, because other signals (internal links, sitemaps, redirects) pointed elsewhere or because the pages were not as similar as your tag implied. Agreement is the good outcome; disagreement means your signals contradict each other.
§ before the next deploy

Catch this one before Search Console does.

Search Console tells you weeks after the fact. LintPage runs 60 checks against a URL in about 30 seconds. Free, no signup.

run a full scan →