Open URL Inspection on any indexed page in Google Search Console and expand the Page indexing section. You will see two canonical fields: User-declared canonical (what your page says) and Google-selected canonical (what Google actually indexed). When they match, you are done. When they disagree, Google has overruled your rel="canonical" because your other signals point somewhere else — and that disagreement tells you precisely which signals are split.
TL;DR
- A canonical tag is a hint, not a directive. Google confirms it “may choose a different page as canonical than you do.”
- Google ranks canonicalization signals by strength: 301 redirects and
rel="canonical"are strong; HTTPS-over-HTTP is strong; sitemap inclusion is weak; internal links and external links carry weight by volume. When these disagree, the majority wins, not your tag. - If User-declared and Google-selected differ, find what points at Google’s pick (redirects, sitemap, internal links, external links) and either accept Google’s choice or realign every signal to your preferred URL.
- After you make all signals agree and request indexing, the Google-selected canonical usually flips within 1 to 4 weeks on re-crawl.
- “Alternate page with proper canonical tag” is the success state, not a bug.
What the two fields actually mean
| Field | Source | What it tells you |
|---|---|---|
| User-declared canonical | Your <link rel="canonical">, an HTTP Link header, or your sitemap | The URL you are voting for |
| Google-selected canonical | Google’s own evaluation of all signals | The URL Google indexes and ranks; the one that shows in search |
| Inspected URL | The exact URL you typed into the tool | May differ from both fields above |
If Google-selected matches your declared canonical, your signals are aligned. If it does not, Google saw conflicting evidence and picked the URL its signals favored. This is normal Google behavior, not a penalty.
How to tell you have this problem
- URL Inspection shows a different User-declared and Google-selected canonical for one of your URLs.
- The Pages report (under “Why pages aren’t indexed”) lists URLs as “Duplicate, Google chose different canonical than user.”
- A separate but related status, “Duplicate without user-selected canonical,” means you declared no canonical at all and Google picked one for you.
- A URL you want indexed never appears in search, but a different version of it does.
- You serve multiple URL formats for the same page: trailing slash vs no slash,
?utm_*parameters,wwwvs bare domain,httpvshttps, or/index.htmlvs/.
How Google actually weighs the signals
Per Google’s canonicalization documentation, these are the factors and their relative pull (as of June 2026):
| Signal | Strength | Notes |
|---|---|---|
| 301/308 redirect | Strong | A redirect target is a strong vote to become canonical |
rel="canonical" annotation | Strong | Your explicit hint, but only one strong signal among several |
| HTTPS over HTTP | Strong | Google prefers the secure version |
| Internal links | Cumulative | The format most of your nav, breadcrumbs, and body links point to wins by volume |
| Sitemap inclusion | Weak | Helps, but cannot overpower redirects or heavy internal linking |
| External links | Cumulative | If the web links to a different version, that pulls Google’s pick |
The key insight: signals stack. A canonical tag plus a sitemap entry plus consistent internal links plus a clean redirect map will almost always win. A lone canonical tag fighting a sitemap and 50 internal links that say otherwise will lose.
Step by step fix
- Inspect the URL. Open URL Inspection, expand Page indexing, and record both canonical fields. If they match, stop; there is nothing to fix.
- Check the crawled HTML. Click View crawled page and read the
<link rel="canonical">in the HTML Google last fetched. Compare it to your live page. If they differ, Google’s last crawl predates your fix. Click Request Indexing and wait for re-crawl. - Confirm a real signal conflict. If the crawled HTML already matches your intended canonical yet Google still picked another URL, you have a genuine signal split. Audit four things for the URL Google chose:
- Is it in your XML sitemap?
- Do internal links point at it more than at your preferred URL?
- Does anything 301 to it (or fail to redirect away from it)?
- Is it on a different host (
wwwvs bare) or scheme (httpvshttps)?
- Pick the winner. Decide the one URL you want indexed. Usually the cleanest, most-linked, most-shared, HTTPS, parameter-free version.
- Make every signal agree. Point the canonical tag, the sitemap entry, all internal links, and all redirects at that single URL. If
wwwand bare both serve content, 301 one to the other. If?utm_*or session parameters create duplicates, ensure the canonical is parameter-free and consider blocking parameter crawling. - Request indexing on the winner. After cleanup, run URL Inspection on the canonical URL and click Request Indexing. On the next re-crawl (typically 1 to 4 weeks for a single URL), the Google-selected canonical field flips to yours.
Common pitfalls
- Treating canonical as a command. It is a strong hint. Google overrides it when redirects, internal links, or external links disagree.
- Canonical chains. Setting canonical A to point at B when B canonicals to C. Google ignores chained or contradictory canonicals; point straight to the final URL.
- Cross-domain canonical you do not control. Pointing canonical to a domain you do not own is usually ignored and looks suspicious.
- Mismatched hreflang and canonical. Each hreflang alternate must self-canonical (point to itself), not to another language version. A page that hreflangs to its Chinese twin but canonicals to the English URL is a classic source of “Google chose different canonical.” See hreflang for bilingual sites.
- Assuming “Alternate page with proper canonical tag” is broken. That status is the win condition: Google saw the alternate, honored your canonical, and excluded the alternate from the index. No action needed.
- Thin or near-duplicate content. If two pages are 95% identical, Google may fold them into one canonical regardless of your tag. The fix is to differentiate the content or accept consolidation.
Who this is for
Multi-version content sites: paginated archives, parameter URLs, language pairs, www vs bare domain, or anything that serves the same page at more than one address. Bilingual sites (like EN/ZH pairs) hit this constantly through hreflang and canonical interplay.
When to skip this
Single-language, single-template sites with exactly one URL per page rarely see canonical conflicts. If you do, suspect a deploy bug, a stray redirect, or a CMS that emits a wrong canonical before you suspect Google.
FAQ
- Why did Google pick the trailing-slash version when I set the no-slash version as canonical?: Because your sitemap, internal links, or a redirect favors the slashed version. The canonical tag is one strong signal; it cannot beat a sitemap plus dozens of internal links all pointing the other way. Align every signal, then request indexing.
- Can I just delete the canonical tag and let Google decide?: You can, but then your status becomes “Duplicate without user-selected canonical” and you lose your only explicit vote. A self-referencing canonical is the safe default; skip it only when you genuinely have no preference.
- Is “Alternate page with proper canonical tag” a problem?: No. It is the success state for alternate URLs. Google saw the alternate, saw it canonicalize to your primary, and correctly kept it out of the index. Working as intended.
- How long after I align all signals until Google switches?: Typically 1 to 4 weeks per URL, gated on re-crawl. Request indexing to nudge it, then track the Google-selected canonical field in URL Inspection.
- Does a strong canonical pass ranking signals to the chosen URL?: Yes. Once Google consolidates a duplicate cluster, link equity and ranking signals concentrate on the selected canonical, which is why a clean, consistent canonical setup helps rankings, not just tidiness.