GSC status

How to fix “alternate page with proper canonical tag”

You told Google another URL is the canonical, and Google believed you. The page in this bucket is the one you marked as an alternate. That is a different problem from Google inventing a canonical because you never set one.

What this status actually means

User-declared canonical equals Google-selected canonical

URL Inspection: both lines name the same other URL, not the URL you inspected. Google is not fighting you. It is complying.

Diagnose will agree this URL should not index

Our fetch reads the canonical href. If it normalises to a different address than the one you submitted, the next action is “fix or submit the canonical” — not “keep submitting this URL”.

Cause → check → fix (this is not a missing-canonical table)

Do not reuse the “add a canonical” advice from the sibling page. Here the tag already exists and Google is using it. The decision is whether you still want that.

Cause Check Fix
This URL’s rel=canonical points elsewhere, and Google agreed URL Inspection: user-declared canonical and Google-selected canonical match, and neither is the inspected URL. View-source should show the same href. If that other URL is the one you want indexed, stop submitting this address. If this URL should be the one in the index, point canonical at itself and request indexing here.
Pagination, AMP, or hreflang page pointing at a primary Confirm the canonical is intentional: page 2 → page 1, AMP → desktop, a language alternate → the locale you want indexed. Leave it. Requesting indexing on the alternate will not override a canonical you still emit. Submit the primary instead.
Template copied a parent URL into every page’s canonical Fetch two different paths. If both canonical hrefs are the homepage (or the same article), the template is wrong. Diagnose will flag every non-matching URL the same way. Replace the hardcoded href with a self-referencing canonical per path. Then submit the URLs that should stand alone.
Cross-host canonical (CDN, www cutover, or a move you did not finish) Google-selected canonical is a different host than the inspected URL. Check whether a 301 also points there, or only the tag. Finish the move (301 + canonical) or restore a same-host self-canonical if the move was a mistake. Do not submit both hosts.

Decide, then act

1

Read both canonical lines in URL Inspection

If they match each other and not this URL, you are in the right status. If they disagree, you may actually be in duplicate without user-selected canonical.
2

Keep the alternate, or make this URL canonical

Keeping it means no further submission of this address. Changing it means a self-canonical (and usually a 200 with unique content), then a request on this URL.
3

Verify on a schedule, not in the search bar

A recrawl confirms Google saw the new tag. It does not mean the URL is indexed. See how recrawl actually works.

Common questions

Related: All indexing issues · Duplicate without user-selected canonical · Crawled — currently not indexed · Discovered — currently not indexed · Soft 404 · Excluded by noindex tag · Blocked by robots.txt

Is this an error?

Often no. It means this URL's rel=canonical points at a different URL and Google agreed. The inspected URL is correctly treated as an alternate. It becomes a problem only if you wanted this URL in the index.

How is this different from duplicate without user-selected canonical?

That status is Google guessing because you did not declare a canonical. This one is Google following the canonical you set. See duplicate without user-selected canonical if Inspection shows no user-declared canonical, or a conflict.

Should I request indexing on this URL?

Not while its canonical points elsewhere. Google will keep treating it as an alternate. Point the canonical at itself (or drop the tag) only if this URL is the one you want indexed, then request indexing on it.

Does fixing the tag guarantee indexing?

No. We submit and measure. Nobody can guarantee Google indexing.

Submit the URL you actually want indexed.

We inspect coverage on the address you submit — including whether Google still treats it as an alternate. 25 free, no card.

Start free