Skip to content

Declare a clear canonical URL, right in the served HTML

Structure Updated Oct 4, 2026

Description

This criterion checks that your page unambiguously names its reference address. iPand checks four points: a single, absolute <link rel="canonical"> tag in the <head>, consistent with the HTTP Link header if it declares one; a canonical that points to the page itself; the same canonical in the HTML sent by the server, not only added by JavaScript; valid, reciprocal hreflang links.

The hreflang check is only evaluated when the page declares language versions; iPand checks five of them at most.

Why it matters for AI engines

When the same content exists at several addresses, Google keeps only one; the canonical tells it which one you prefer. Google, whose index feeds AI Overviews and AI Mode, advises declaring it in the HTML: a canonical added by a script is only seen by crawlers that run JavaScript.

  • A canonical that points to another page signals that yours is only a duplicate: the other address is the one likely to be kept.
  • According to Google, multiple or conflicting canonicals may lead to unexpected results.
  • hreflang links without a return link are ignored by Google: the right language version may not be offered.

How to fix it

  1. 1 Declare a single absolute canonical In the <head>, put a single <link rel="canonical"> tag with the full address, for example https://www.example.com/shoes/hiking, not /shoes/hiking. If your server also sends an HTTP Link header of type canonical, it must point to the same address.
  2. 2 Point the canonical to the page itself A page you want to see cited must have its own address as its canonical. Keep canonicals that point elsewhere for duplicates, such as a sorted variant or an address with tracking parameters, which then point to the main page.
  3. 3 Put the canonical in the served HTML Write the tag in the HTML code returned by the server, not in a script that adds it after loading. To check, view the page source, not the inspection tool, and search for canonical. If JavaScript is unavoidable, Google advises keeping the same value as in the HTML.
  4. 4 Complete the hreflang links If the page exists in several languages, each version lists itself and all the others, with absolute addresses and valid codes: ISO 639-1 language, optional ISO 3166-1 region (fr-BE), x-default for the default version. Each version listed must link back to the page.

Key takeaway

A single, absolute canonical on the page itself, present in the served HTML, keeps search engines from choosing another address than yours. iPand checks these points and the reciprocity of hreflang links every day.

Further reading