Technical SEO · Glossary · Updated Apr 2026

Canonical tag

Definition

A canonical tag (`<link rel="canonical" href="...">`) tells search engines which URL is the preferred version when near-duplicate content exists on multiple URLs. It is a hint, not a directive: Google may override it when its own signals point elsewhere.

Find related

Long definition

The canonical tag is declared in the <head> of an HTML document (or via the Link: <url>; rel="canonical" HTTP header for non-HTML resources). It consolidates ranking signals — backlinks, internal links, engagement — from duplicate URLs onto a single chosen one.

The canonical URL should be absolute, with scheme, host, and path as served. A common pattern for e-commerce PDPs with variant parameters (?color=red) is to canonical every variant to the bare product URL. For paginated archives, each page typically self-canonicals (not to page 1, which is a deprecated pattern).

Google treats the canonical as a strong hint combined with other signals: the URL in the sitemap, internal linking weight, hreflang x-default, HTTPS vs HTTP, and content similarity. When these conflict, Google picks its own canonical ("Google-selected canonical" in Search Console's URL Inspection tool) regardless of what your tag says.

Common misconceptions

  • "Canonical tags prevent duplicate content penalties." There is no penalty for duplicate content — there's deduplication. The canonical is how you steer the dedupe, not how you avoid a punishment that doesn't exist.
  • "A canonical to a different domain works identically to same-domain." Cross-domain canonicals are allowed (useful for syndication) but Google treats them with more skepticism. Expect slower consolidation and more "Google-selected canonical" overrides.
  • "Self-canonical is always safe." It's a good default, but self-canonicals on URLs that are clearly duplicates of a cleaner URL just add noise. If a URL shouldn't be indexed, noindex it; don't self-canonical a parameter-laden duplicate.
  • "rel=canonical fixes faceted navigation." It consolidates signals but doesn't stop crawling. Googlebot still fetches the faceted URLs to see the canonical. For heavy facet noise, combine canonicals with internal link hygiene and noindex,follow on truly useless facets.