Canonical URL
A canonical URL is the main address of a page that opens at several addresses: the site suggests it, and Google makes the final choice.
How it works
A store page often opens at several addresses: a product with ?color=blue, a category sorted by price, an ad click with ?gclid= added. Google groups such duplicate content, crawls the canonical page most often and usually points search results to it.
You state your choice with a redirect, a rel="canonical" link in the page head or a sitemap entry. Google calls the first two strong signals and the sitemap a weak one. All are hints, not rules.
For product variants chosen by a query parameter, Google advises the address without the parameter as canonical. Filter and sort pages are covered in faceted navigation SEO, language versions in hreflang for a store in several countries.
Where you see it
- Search Console, URL Inspection: the canonical the page declares and the canonical Google selected.
- Merchant Center: the
canonical_linkattribute, the canonical version of the item’s landing page.
Example
Example store, not client data.
The tableware shop sells a mug in four colours at /mugs/nordic?color=blue and three similar addresses. Each page has a rel="canonical" link to /mugs/nordic. In the feed, the blue item’s link opens the blue mug, and its canonical_link is /mugs/nordic. An ad click adds &gclid=…; the canonical stays.
Not to be confused with
| Term | How it differs |
|---|---|
| noindex | Keeps the page out of Search altogether. Google advises against it for choosing a canonical within one site. |
| 301 redirect | Sends visitors to another address. For choosing a canonical, Google advises it only when you retire a duplicate page. |
| hreflang | Links language and country versions. Each version keeps a canonical in its own language. |
Right and wrong readings
- Wrong: “The tag is set, so Google shows our address.” Right: the tag is a hint. URL Inspection shows which canonical Google selected.
- Wrong: “Point the canonical of the Czech page to the English one to avoid duplicates.” Right: Google treats language versions as duplicates only when the main content is in the same language. It asks for a canonical in the page’s own language.
Sources
- How to specify a canonical URL with rel=“canonical” and other methods — signals, noindex, redirects, hreflang. Checked 2 October 2026.
- What is canonicalization — a hint, not a rule; language versions. Checked 2 October 2026.
- Designing a URL structure for ecommerce websites — variant URLs. Checked 2 October 2026.
- UrlInspectionResult (Search Console API) and ProductAttributes (Merchant API) — declared and selected canonical,
canonical_link. Checked 2 October 2026.