Canonicalization and Duplicate Content
The same content often lives at several URLs: with and without a trailing slash, over HTTP and HTTPS, with tracking parameters, on a print version. Google will not index all of them. It picks one and folds the rest into it. Canonicalization is the practice of making sure it picks the URL you meant.
What canonicalization is
Canonicalization is how a search engine chooses the single canonical URL to index and rank when several URLs serve similar content, then consolidates the duplicates onto it. Duplicate URLs are not just clutter. They split signals: links, relevance, and crawl attention spread across three near-identical pages instead of concentrating on one. Consolidation pulls that strength back together and stops Google indexing the variant you did not want.
The important nuance is who decides. You send signals about which URL is canonical. Google weighs them and makes its own call, and it can pick a different URL than you declared. Your job is to make every signal agree so Google has no reason to overrule you.
Duplicates rarely come from copying pages on purpose. They come from the plumbing. The same content answers at http:// and https://, with and without www, with and without a trailing slash, and with any number of tracking parameters appended. A product that appears under two category paths, a print version, a session ID in the URL, all of these are separate URLs serving one page. Left unmanaged, they split your links and relevance across near-identical addresses and make Google spend crawl budget fetching the same content many times. Canonicalization is how you collapse that sprawl back to one address.
The signals, strongest first
Google reads many inputs when choosing a canonical, and they are not equal. Strongest first:
- Redirects (301 or 308). A permanent redirect is the loudest possible statement that one URL replaced another. It is the strongest canonical signal you can send. Redirects →
- The
rel="canonical"link element. A hint in the page head naming the preferred URL. Strong, but a hint, not a directive. - Sitemap inclusion. Listing a URL in your sitemap nudges Google toward it, but it is a weaker signal than the two above.
- Supporting signals. Consistent internal linking to one version, HTTPS over HTTP, simpler URLs, and hreflang relationships all feed the decision.
Google's engineers have referenced roughly forty signals feeding this choice, so treat that count as directional rather than exact. The lesson is not the number. It is that no single tag decides the outcome, so conflicting signals let Google choose for you.
A canonical tag is a hint, not a command. Redirects outrank it, and Google weighs many signals at once, so the reliable move is to make every signal point at the same URL.
The rules that keep it clean
A canonical URL should be absolute, not relative, so there is no ambiguity about which host and path you mean. It must point to a page that returns 200, is indexable, and carries no noindex. Pointing a canonical at a redirect, a 404, or a noindexed page sends Google a contradiction and it may ignore your hint entirely.
Self-referential canonicals are recommended for most pages: a page names itself as its own canonical. That removes doubt for the common case and handles stray parameter versions that resolve to the same content. The one combination to avoid is noindex together with a rel=canonical pointing to a different page on the same URL. Those two directives conflict, because one says "do not index me" and the other says "consolidate me into that page," and Google cannot honor both cleanly.
Diagnosing a mismatch
When Google indexes the wrong version, Search Console's URL Inspection tool shows you the split. It reports the user-declared canonical, the URL you named, and the Google-selected canonical, the URL Google actually chose. When they differ, you have a signal conflict to resolve.
Work through the competing signals. Does your declared canonical return 200? Is it linked consistently across the site, or do most internal links point elsewhere? Do any redirects run the other way? Is the declared URL actually in the sitemap? Line every signal up on one URL, then request a recrawl and re-inspect. If Google still overrules you after every signal agrees, it usually means Google judges the other URL genuinely better for users, and the fix is to make your preferred page the stronger one rather than to keep fighting the tags. This same duplication is what drives the "Duplicate, Google chose different canonical" statuses in the indexing report. Duplicate indexing statuses →
Not all duplication is technical. When two of your own articles target the same query and intent, they cannibalize each other, and the fix is content-level: merge, redirect, or re-target one of them. Content and cannibalization → The strongest canonical signal of all is a redirect, so redirects and status codes come next. Redirects and status codes next →