What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 5 questions

Less than a minute. Find out how much you really know about Google search.

🕒 ~1 min 🎯 5 questions

Official statement

It is advised to always point hreflang attributes to the canonical version of the page. This helps Google understand the correct canonical version, especially in cases of pages with tracking parameters.
1:44
🎥 Source video

Extracted from a Google Search Central video

⏱ 55:12 💬 EN 📅 17/10/2019 ✂ 14 statements
Watch on YouTube (1:44) →
Other statements from this video 13
  1. 5:34 Faut-il supprimer massivement les pages à faible valeur ajoutée de votre site ?
  2. 6:25 Faut-il vraiment supprimer massivement du contenu pour améliorer son crawl budget ?
  3. 11:05 Faut-il encore optimiser ses meta descriptions si Google les réécrit ?
  4. 11:14 Google réécrit-il systématiquement vos meta descriptions ?
  5. 14:01 Les meta descriptions influencent-elles vraiment le classement SEO ou seulement le CTR ?
  6. 20:12 Faut-il regrouper les variantes produits sur une seule page ou les éclater ?
  7. 23:25 Optimiser les titres et descriptions améliore-t-il vraiment votre ranking Google ?
  8. 24:17 Le title est-il vraiment un signal de ranking faible comme Google le prétend ?
  9. 30:21 Le duplicate content interne est-il vraiment sans danger pour votre e-commerce ?
  10. 32:02 Le scrolling infini est-il un piège mortel pour l'indexation Google ?
  11. 34:57 Faut-il vraiment crawler son propre site avant de pousser des changements SEO majeurs ?
  12. 50:38 Faut-il vraiment modérer le contenu généré par les utilisateurs pour protéger son référencement ?
  13. 74:44 Faut-il bloquer l'indexation des fichiers Javascript avec noindex ?
📅
Official statement from (6 years ago)
TL;DR

Google recommends pointing hreflang attributes to the canonical version of each page, rather than to variants with tracking parameters or sessions. This practice reduces conflicting signals between hreflang and canonical, making it easier for the search engine to identify the correct version. In practical terms, this means a multilingual site with UTM parameters should manage its hreflang links to the cleaned URLs.

What you need to understand

Why should you point to the canonical version and not just any URL?

hreflang attributes indicate to Google the relationships between language or regional versions of the same page. But when multiple variants of a URL exist — with tracking parameters (utm_source, fbclid), session IDs, or anchors — the search engine must determine which one represents the ‘official’ version.

If your hreflang point to URLs with parameters, while your canonical tag points to a cleaned URL, Google receives two conflicting signals. Mueller's recommendation aims to eliminate this ambiguity: hreflang should always reference the same URL as the canonical for each page.

What happens if hreflang and canonical diverge?

Google may simply ignore your hreflang if it detects a significant inconsistency. The engine then favors its own signals to determine the target language or region — IP geolocation, text content, lang tags — with less reliability than well-configured hreflang.

In the worst-case scenario, you end up with unmanaged duplicate content between regional variants, or with the wrong version showing up in local SERPs. A fr-CA site might see its fr-FR version indexed in Canada if the signals are too unclear.

How does this directive apply to e-commerce sites with intensive tracking?

E-commerce sites often generate dozens of URL variants per product page: affiliate parameters, promo codes, user sessions. The rule remains the same: hreflang must point to the canonical URL, the one declared in the canonical tag of each page.

This means cleaning the URLs before injecting them into the hreflang annotations, either server-side or in the XML sitemap if you manage your hreflang this way. Modern e-commerce CMS generally do this natively, but custom configurations or failed migrations often leave these inconsistencies behind.

  • hreflang must always point to the canonical version of each page, never to variants with parameters.
  • A divergence between hreflang and canonical can lead to the outright ignoring of your annotations by Google.
  • Sites with intensive tracking must clean URLs before injecting them into hreflang, either server-side or in the XML sitemap.
  • This recommendation applies to both HTML annotations (link rel="alternate" tags) and declarations in sitemaps.
  • The consistency between hreflang and canonical reduces processing time for Googlebot and speeds up the indexing of the correct regional versions.

SEO Expert opinion

Is this directive consistent with observed practices in the field?

Absolutely. Audits of international sites regularly reveal hreflang/canonical consistency errors that disrupt multilingual indexing. Google has always favored canonical as the truth signal — hreflang pointing to non-canonical URLs is thus treated as noise.

What’s surprising is that Mueller specifically mentions “tracking parameters.” This suggests that Google still sees many sites pointing their hreflang to URLs with utm_*, which is a beginner's mistake but surprisingly widespread, especially on legacy sites or poorly configured CMS.

Are there cases where this rule does not apply?

No, it is an absolute rule. Unlike canonicals themselves — which can sometimes point to a slightly different URL if deemed more relevant by Google — hreflang have no room for interpretation. Either the target URL is the official canonical, or the signal is degraded or ignored.

There is a nuance for sites with both regional variations AND product variations (color, size). In this case, each variant can have its own canonical and its own hreflang cluster. But each hreflang must always point to the canonical of the corresponding variant, never to an intermediate URL or a parameterized one.

What is the best method to implement this consistency at scale?

Using hreflang annotations in the XML sitemap is generally more reliable than HTML tags for large international sites. They allow for centralizing the logic of generating canonical URLs and minimizing risks of inconsistency between teams (dev, marketing, SEO).

From a technical standpoint, the generation of hreflang should use exactly the same server function that generates the canonicals. If you have a function getCanonicalUrl(), your hreflang should call it for each language/region, not reconstruct the URL on-the-fly with string concatenations. That's where 90% of bugs hide. [To check] in your codebase if you have any doubts.

Practical impact and recommendations

What should you prioritize auditing on an existing site?

The first step: extract a representative sample of pages with hreflang (via Screaming Frog, Sitebulb, or a custom crawler). For each page, compare the declared URL in the canonical tag with the target URLs of the hreflang attributes of that same page.

If you find discrepancies — hreflang pointing to URLs with ?lang=, ?utm_source=, PHP sessions, or simply inconsistent trailing slashes — this is a bug that needs to be corrected as a priority. These errors are often massive on poorly configured e-commerce sites or multi-author platforms.

How can you correct hreflang/canonical inconsistencies without breaking the existing setup?

The safe method is to first normalize canonical generation: one single server function that returns the clean URL for a given page, without parameters, with the correct protocol (HTTPS), the correct domain, and the correct format for trailing slashes (with or without, but consistent).

Then, update your templates or your sitemap so that each hreflang calls this same function with the appropriate language/region parameters. First deploy on a sample (a test region or language), validate in Search Console that the hreflang are correctly recognized, and then generalize. Large sites should monitor Googlebot logs to detect any abnormal crawling post-deployment.

Should you favor hreflang in HTML or in the XML sitemap?

For sites with more than a few dozen pages per language, the XML sitemap is more maintainable. It centralizes logic, reduces the weight of HTML pages, and avoids implementation errors at the template level. Google regularly crawls sitemaps and treats the hreflang found within with the same priority as those in HTML.

The downside: if your sitemap is poorly generated or corrupted, all your annotations can fail at once. Hreflang in HTML are more resilient page by page, but much more difficult to audit and correct at scale. The choice depends on your architecture and your ability to maintain a clean sitemap continuously.

  • Audit the hreflang/canonical consistency on a representative sample of pages (crawler + CSV export).
  • Centralize the generation of canonical URLs in a single server function, used by both canonical AND hreflang.
  • Clean all tracking parameters (utm_*, fbclid, sessions) from URLs before injecting them into hreflang.
  • Validate the deployment on a subset of pages (a test region) before generalization.
  • Monitor Search Console and Googlebot logs post-deployment to detect any abnormal signals.
  • Favor the XML sitemap for large multi-regional sites, with automated and tested generation processes.
Consistency between hreflang and canonical is not an option — it is a condition for the proper functioning of international indexing. Sites that neglect this point lose organic traffic on their regional variants without even realizing it. If your technical infrastructure does not allow ensuring this consistency automatically, it may be wise to enlist the help of an SEO agency specialized in international SEO to audit your configuration, identify friction points, and establish a robust long-term process.

❓ Frequently Asked Questions

Peut-on utiliser des URLs relatives dans les attributs hreflang ?
Non, Google recommande explicitement des URLs absolues (protocole + domaine complet) dans les hreflang. Les URLs relatives sont techniquement acceptées mais peuvent générer des erreurs d'interprétation selon le contexte de crawl.
Si une page n'a pas de canonical explicite, vers quelle URL doivent pointer les hreflang ?
Vers l'URL de la page elle-même, dans sa forme normalisée (HTTPS, domaine principal, sans paramètres). L'absence de canonical explicite revient à une auto-canonicalisation — les hreflang doivent refléter cette logique.
Les hreflang doivent-ils être réciproques entre toutes les langues ?
Oui, chaque page doit déclarer un hreflang vers elle-même et vers toutes ses variantes linguistiques/régionales. Si la page FR pointe vers EN mais que EN ne pointe pas vers FR, Google peut ignorer la relation.
Que se passe-t-il si un hreflang pointe vers une URL qui retourne une 404 ?
Google ignore ce hreflang et peut considérer que la relation entre les versions est brisée. Cela peut entraîner un mauvais ciblage géographique dans les SERP. Il faut auditer régulièrement les URLs cibles des hreflang pour détecter les liens cassés.
Doit-on inclure des hreflang pour des pages en noindex ?
Non, c'est incohérent. Une page en noindex ne doit pas figurer dans un cluster hreflang, puisqu'elle ne sera pas indexée. Si vous avez des variantes régionales en noindex, elles ne peuvent pas servir de cibles hreflang pour les autres versions.
🏷 Related Topics
Domain Age & History Crawl & Indexing AI & SEO International SEO

🎥 From the same video 13

Other SEO insights extracted from this same Google Search Central video · duration 55 min · published on 17/10/2019

🎥 Watch the full video on YouTube →

Related statements

💬 Comments (0)

Be the first to comment.

2000 characters remaining
🔔

Get real-time analysis of the latest Google SEO declarations

Be the first to know every time a new official Google statement drops — with full expert analysis.

No spam. Unsubscribe in one click.