Canonical URLs: state a preference and verify selection

At a glance

A canonical annotation identifies a preferred version among identical or very similar pages. It neither redirects the visitor nor guarantees Google will choose that URL.

Global network map in an empty intelligence briefing room Illustration · fictional scene
In this article

Separate the declared and selected URL

Google combines signals including redirects, annotations and sitemaps. The site’s declared canonical can differ from the engine’s selection. Choose a representative, accessible destination matching the content, without a URL fragment.

SignalRoleLimitation
Permanent redirectIdentify a destination and take the visit there.Use for an appropriate move or retirement.
rel="canonical"Declare the preferred version.Does not force selection or move the visit.
SitemapList preferred URLs.Weaker signal than redirects or annotations.
URL InspectionCompare declaration and observed selection.An observed state can change.

Remove contradictory signals

  • Check rendered HTML and any HTTP headers. Avoid competing destinations; use an absolute URL and a self-reference on the preferred page.
  • Point internal links and the sitemap to the same version. Do not use robots.txt or noindex as a canonical-selection mechanism.
  • For translations, retain a same-language canonical where that version exists. Check hreflang mappings and redirect paths too.

Observe after a change

Check a representative sample in URL Inspection and indexing reports after recrawling. Chains, removed destinations or different content can contradict the intent. Canonicalization replaces neither access control nor a removal decision.

Primary references

Align signals around a preferred URL

A canonical expresses consolidation preference; it is not access control. Check that target, sitemap and internal links agree and that versions are sufficiently equivalent. A filter producing distinct content is not necessarily a simple duplicate.

  • Check that the target is reachable and relevant.
  • Avoid conflicting canonical targets across templates.
  • Inspect parameter variants and language editions.

Does canonical markup force the displayed version?

It is a signal, not a guarantee. The engine may select another version; inspect its choice and contradictory signals before changing markup again.

Primary reference: Google Search Central — Canonical URLs. Related method: read the practical guide.

Canonicalize genuinely distinct pages appropriately

Page two showing different records is not a copy of page one merely because the template matches. Examine content and URL purpose before consolidating states; global canonicalization can hide deeper items.

  • Compare the items displayed on each page in the series.
  • Use self-canonical URLs for distinct paginated pages following Google guidance.
  • Handle ordering, filters and actual content duplicates separately.

Acceptance case to reproduce

Fictional example: these inputs describe no customer or observed result.

View case inputs
{
    "page_2": "/catalog?page=2",
    "canonical": "/catalog",
    "next_link": "<button>More</button>"
}

Expected decision

Page 2 needs its own canonical and crawlable href links to subsequent pages.

Verification procedure

  1. Record each page’s URL, canonical and links.
  2. Reach subsequent content without a JavaScript button.
  3. Keep crawlable href links and the self-canonical. Open each URL directly and compare displayed items; a different address repeating the first page does not validate continuation.

Google Search Central — Pagination and incremental page loading

Primary reference: Google Search Central — Pagination and incremental page loading. Related method: read the practical guide.