glossary · canonical url
Canonical URL, and how engines choose between copies
One page can answer to a dozen addresses: tracking parameters, filters, http and https, with and without a trailing slash. The canonical tag says which one counts. Search engines read it as a strong hint, and sometimes disagree.
A canonical URL is the single address a site declares as the preferred version of a page, usually with a rel=canonical link element, so search engines consolidate duplicate or near-duplicate copies onto that one URL.
reviewed 2026-09-02 · by the IT Master editorial team · how we check facts
What a canonical URL is in practice
A canonical URL is a declaration, not a redirect. Every address still loads; the tag only says which one you want kept.
Duplicates arrive without anyone deciding to create them:
- Query strings — utm tags, session ids, affiliate refs, sort and filter parameters.
- Host and protocol variants — http and https, www and bare domain, upper and lower case paths.
- Path variants — trailing slash or not, index.html endings, print and AMP versions.
- Faceted navigation, where three filters on one listing produce eight addresses holding the same products.
- Syndicated copies on another publication or a partner's site.
The declaration is one line in the head of the page: a link element with rel="canonical" and an absolute href. Files that are not HTML, mainly PDFs, use an HTTP Link header instead.
A page with no duplicates still carries one pointing at itself. That self-reference is what stops a stray tracking parameter becoming the version that gets indexed.
Search engines then weigh your declaration against the sitemap, internal links, redirects and hreflang before picking a canonical of their own. When those signals agree, the pick is yours.
A canonical URL is the single address a site declares as the preferred version of a page, usually with a rel=canonical link element, so search engines consolidate duplicate or near-duplicate copies onto that one URL.
Why it matters in 2026
Consolidation is the original job and it still pays. Links, ranking history and click data spread across five addresses do less than the same signals pooled on one.
Two things have raised the stakes.
Crawling is rationed. A crawler spending its visits on parameter permutations of pages it already holds reaches your new work later, and on a large catalogue that is the gap between published and indexed. Crawl budget is where this shows up first.
Assistants cite a single address. When ChatGPT or Perplexity names a source it links one URL, and that is the copy it retrieved rather than the one you would have picked. A syndicated repost with no canonical back to the original is how a third-party platform ends up holding the citation your work earned.
Search Console reports the disagreement in plain words. Under Pages, "Duplicate, Google chose different canonical than user" means your declaration lost to your other signals. Read that report as a to-do list rather than a fault: it names the pages where your sitemap, links and tags are arguing with each other. Search Console covers how to read the rest of it.
How IT Master handles canonical URLs
Every article the engine publishes lands at one address on your own domain — your path, your template, your existing head. The canonical question starts settled: there is one copy, and it is yours.
Three parts matter if you are evaluating this:
- The schema names the same address. The JSON-LD graph shipped with each article is built around that article's own URL, so the schema and the page agree on what the page is.
- Your site keeps the tag. Through the WordPress plugin an article arrives as an ordinary post, so your theme — or the Yoast and Rank Math fields the plugin fills — emits the canonical you already use. Through the Next.js SDK, the REST pull feed or the signed webhook, your own template renders it. Nothing is forced into the head of your page.
- A refresh reuses the URL. The nightly loop updates a decaying article in place rather than publishing a second page on the same topic, so links and history stay pooled on one address instead of splitting across two.
How it works walks through the rest of the publish step.
Articles are published to one address on the customer's own domain, and the JSON-LD shipped with each one names that same address, so the page and its schema never disagree about which URL is the original.
What people get wrong
"A canonical is an instruction." It is a strong hint. Engines weigh it against redirects, sitemaps, internal links and which version the rest of the web links to, and they overrule a declaration that disagrees with everything else on the site.
"Canonical and 301 do the same job." A redirect removes the old address. A canonical keeps both live and picks one to credit, which is what you want for a filtered listing a customer has bookmarked.
"It fixes a duplicate content penalty." There is no such penalty to fix. Duplicates dilute signals and waste crawls, and consolidating them is the whole benefit.
"Point every paginated page at page one." That hides pages two onward and everything listed on them. Each page in a series is canonical to itself.
"Similar enough will do." A canonical aimed at a page answering a different question is usually ignored, and if it is honoured you lose the page.
"Set it once." A canonical pointing at a URL that later redirects, 404s or carries noindex quietly undoes the consolidation. Re-check after any migration, or run the site check.
questions people ask
Can a canonical URL point at a different domain?
Yes. A rel=canonical can name another domain, and that is the normal way to handle syndication: a repost on another publication declares your page as the original. The same conditions apply as on-site. The target should return 200, hold substantially the same content, and not itself be canonicalised somewhere else. Cross-domain declarations sit between two sites under different control, which makes them easier to abuse and easier for a search engine to set aside, so treat one as a strong signal rather than a settled outcome.
What does "Google chose different canonical than user" mean?
It means your declaration lost. Google read your rel=canonical, compared it with your internal links, sitemap entries, redirects and the version other sites link to, then picked a different address as the original. Usual causes: a canonical pointing at a URL that redirects, a sitemap listing the non-canonical version, internal links carrying parameters, or two pages so alike that the engine folded them together. Fix the disagreement rather than the tag. Make every signal name the same address, then wait a crawl or two.
Should every page have a self-referencing canonical?
In almost every case, yes. It costs nothing and closes the most common gap: someone links to your page with a tracking parameter attached, a crawler treats that as a separate address, and the copy competes with the original. It also absorbs the accidental duplicates a CMS creates through trailing slashes, upper case paths and print views. Use the absolute URL, including protocol and host. The exceptions are pages you deliberately want folded into another, such as a filtered listing or a syndicated copy.
Does a canonical stop syndicated copies outranking the original?
It is the part of the problem you control, not a guarantee. A canonical on the copy tells search engines which version to credit, and platforms that offer a canonical field let a repost add reach without competing with you. What it cannot settle is which version an AI assistant cites, because a model quotes whatever it retrieved. The practical defence is order and linking: publish first, get the original indexed before the copy goes up, and link back to the source in the body text as well as in the tag.
related
See what search engines and AI assistants find on your site
Free, no account. Type your address and we show you what is missing and what we would write first.