Definition
A canonical URL is the version of a page that you want search engines to treat as the main one when the same or very similar content is available at more than one address. You declare it with a rel='canonical' link element in the HTML head, or with a rel='canonical' HTTP header for files such as PDFs.
Duplicates appear on almost every site. Common causes are HTTP and HTTPS versions, www and non-www hosts, tracking and filter parameters (?utm_source=, ?color=), trailing-slash variants, products reachable through several category paths, print or AMP versions, and separate mobile URLs. Without guidance, a search engine picks one version itself and folds the others into it.
Google treats a canonical tag as a strong hint, not a command. Google's canonicalization documentation ranks the signals by strength: redirects are strongest, rel='canonical' is strong, and inclusion in a sitemap is weak. Google also prefers HTTPS over HTTP and URLs that are part of hreflang clusters. Its best practices are worth following literally: use absolute URLs, add a self-referencing canonical to the canonical page itself, link internally to the canonical version, do not use robots.txt or noindex to choose a canonical within one site, and never send conflicting signals such as one URL in the sitemap and another in the canonical tag. If JavaScript sets the canonical, make sure it does not change a value already present in the HTML source.
Syndication is a special case. Google no longer recommends cross-domain canonical tags for republished articles, because syndicated copies usually differ in template and surrounding content. Its Google News guidance asks syndication partners to add a noindex tag instead. Canonical tags remain the right tool for duplicates within your own site.
Canonicals matter for AI search in two ways. First, AI answers in Google and Bing draw on their indexes, which already store one canonical per duplicate cluster, so a wrong canonical can send the citation to a parameter URL or an old path. Second, AI crawlers such as OAI-SearchBot, Claude-SearchBot and PerplexityBot run their own indexes. They fetch URLs they find through links and sitemaps, and duplicate URLs split their attention just as they do for Googlebot. Consistent canonicals, clean internal links and a sitemap that lists only canonical URLs reduce the chance that an AI answer cites a filtered category page or a UTM-tagged link instead of the main page. When you review AI crawler logs, a high share of requests to parameter or duplicate URLs is a sign that canonical and linking signals need work, and it also wastes crawl budget.
Audit canonicals after every migration, CMS change or new filter feature. Check that each indexable page has exactly one canonical, that it returns 200 and is not redirected or noindexed, and that hreflang alternates point to canonicals in the same language. The URL Inspection tool in Google Search Console shows both the canonical you declared and the one Google selected, which is the quickest way to spot conflicts.
Examples of Canonical URLs
- An ecommerce site with 12,000 products reachable through several category paths sets each product's canonical to a single /products/ URL, and Search Console's 'Duplicate, Google chose different canonical than user' count drops over the following weeks.
- A SaaS company finds ChatGPT citing pricing URLs with ?ref= parameters from an affiliate program, adds self-referencing canonicals and removes the parameter URLs from its sitemap.
- A news publisher stops asking syndication partners for cross-domain canonicals and asks them to add noindex instead, following Google's syndication guidance.
- After a CMS migration, an audit shows 900 pages whose canonical points to a URL that now redirects; fixing them to the final URLs consolidates signals that had been split for two months.
