Official statement
Other statements from this video 13 ▾
- 5:34 Faut-il supprimer massivement les pages à faible valeur ajoutée de votre site ?
- 6:25 Faut-il vraiment supprimer massivement du contenu pour améliorer son crawl budget ?
- 11:05 Faut-il encore optimiser ses meta descriptions si Google les réécrit ?
- 11:14 Google réécrit-il systématiquement vos meta descriptions ?
- 14:01 Les meta descriptions influencent-elles vraiment le classement SEO ou seulement le CTR ?
- 20:12 Faut-il regrouper les variantes produits sur une seule page ou les éclater ?
- 23:25 Optimiser les titres et descriptions améliore-t-il vraiment votre ranking Google ?
- 24:17 Le title est-il vraiment un signal de ranking faible comme Google le prétend ?
- 30:21 Le duplicate content interne est-il vraiment sans danger pour votre e-commerce ?
- 32:02 Le scrolling infini est-il un piège mortel pour l'indexation Google ?
- 34:57 Faut-il vraiment crawler son propre site avant de pousser des changements SEO majeurs ?
- 50:38 Faut-il vraiment modérer le contenu généré par les utilisateurs pour protéger son référencement ?
- 74:44 Faut-il bloquer l'indexation des fichiers Javascript avec noindex ?
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.
❓ Frequently Asked Questions
Peut-on utiliser des URLs relatives dans les attributs hreflang ?
Si une page n'a pas de canonical explicite, vers quelle URL doivent pointer les hreflang ?
Les hreflang doivent-ils être réciproques entre toutes les langues ?
Que se passe-t-il si un hreflang pointe vers une URL qui retourne une 404 ?
Doit-on inclure des hreflang pour des pages en noindex ?
🎥 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 →
💬 Comments (0)
Be the first to comment.