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

For a Mobile-First setup, even with dynamic serving, use the same hreflang tags for both desktop and mobile versions.
50:02
🎥 Source video

Extracted from a Google Search Central video

⏱ 1h12 💬 EN 📅 09/08/2019 ✂ 10 statements
Watch on YouTube (50:02) →
Other statements from this video 9
  1. 31:53 Faut-il vraiment dénoncer les liens non naturels de vos concurrents ?
  2. 35:05 Les balises H2 et H3 ont-elles un nombre optimal pour le SEO ?
  3. 37:38 Le contenu pertinent suffit-il vraiment à bien ranker sans optimisation technique ?
  4. 57:28 Faut-il craindre une pénalité manuelle pour un schema.org Organization Name incorrect ?
  5. 61:03 Comment Google traite-t-il réellement les sitemaps multiples et leur ordre d'URLs ?
  6. 62:05 Pourquoi Google crawle vos pages sans les indexer ?
  7. 69:35 Comment Google gère-t-il le crawl des URLs dupliquées pointant vers des produits différents ?
  8. 81:16 Pourquoi les fausses adresses locales sabotent-elles votre SEO local ?
  9. 81:49 Google Maps dans la SERP : comment les signaux comportementaux influencent-ils vraiment l'affichage local ?
📅
Official statement from (6 years ago)
TL;DR

Google confirms that hreflang tags must be identical for both desktop and mobile versions, even in dynamic serving configurations under Mobile-First. Specifically, a single hreflang declaration per URL is sufficient — the Mobile-First index crawls the mobile version that carries these tags and then applies them to the desktop version. The classic mistake would be to create two distinct sets of tags based on user-agent, which leads to confusion and dilution of the multilingual signal.

What you need to understand

Why this clarification on hreflang in Mobile-First?

Since the widespread shift to Mobile-First indexing, Google prioritizes crawling and indexing the mobile version of a site. This transition has caused confusion among many practitioners: should there be two distinct hreflang configurations, one for desktop and one for mobile? Google's answer is unequivocal.

In dynamic serving, the server sends different HTML based on the user-agent, but the URL remains unique. In this context, a single hreflang declaration per URL is enough. Google's mobile bot crawls the mobile version, reads the hreflang tags present in the <head>, and applies them to the index — whether the traffic is desktop or mobile.

How does dynamic serving change things technically?

Dynamic serving involves a single URL entry point for all devices but serves an adapted HTML render on the server side. Specifically, example.com/page serves a lightweight DOM for Googlebot smartphone and an enriched DOM for Googlebot desktop.

The classic trap: some developers thought they needed to inject different hreflang tags into each HTML version. However, Google reads the mobile index — if the hreflang tags are absent or different in the mobile version, then the multilingual consistency collapses. The signals for language targeting become contradictory, and Google may simply ignore the alternatives.

What happens if the tags diverge between desktop and mobile?

If the desktop version has hreflang="en" pointing to an English URL A, but the mobile version points to an English URL B, Google detects a structural inconsistency. Mobile-First indexing prioritizes the mobile version: thus, B will be considered, and A risks being ignored or regarded as orphaned.

Result: broken hreflang signals, cascading canonicalization errors, and crawl logs polluted by ghost redirect loops. Worse, Google may decide to no longer trust the hreflang tags of the site and revert to heuristic language detection, which is far less accurate.

  • One hreflang configuration per URL, identical for desktop and mobile.
  • Mobile-First indexing crawls the mobile version: this version contains the truthful hreflang.
  • Any divergence between the two HTML versions creates signal dilution and targeting errors.
  • In dynamic serving, the server must serve the same hreflang tags regardless of the user-agent.
  • Hreflang XML sitemaps, if they exist, must point to the same URL/language pairs as the HTML tags.

SEO Expert opinion

Is this statement consistent with observed practices on the ground?

Absolutely. Since the full deployment of Mobile-First in March 2021, audits of multilingual sites using dynamic serving show that a desktop/mobile hreflang duality consistently generates errors in Search Console. Google raises warnings like "missing hreflang" or "alternative URL not found," even when tags are present on the desktop side.

The issue is that Google no longer inspects the desktop as a reference. If the mobile version lacks the tags, or if they differ, the index does not receive any coherent signal. On multilingual e-commerce sites with millions of pages, this configuration error can fragment the index across language versions and generate massive duplicate content.

What nuances should be added to this directive?

Google's directive strictly applies to dynamic serving — that is, a single URL with adaptive HTML rendering on the server side. If your site uses separate URLs for mobile (e.g. m.example.com) or a pure responsive design (one HTML version for all devices), the logic changes.

In responsive setups, a single HTML version exists: no dilemma. In a distinct mobile URL (m.example.com), hreflang tags should point to the linguistic equivalents of m.example.com, and rel="alternate" tags should create a bidirectional match between desktop and mobile. This is a more complex configuration, rarely justified today. [To verify]: On legacy sites with distinct mobile URLs, ensure that each version (desktop and mobile) carries its own consistent hreflang — Google can crawl both in this specific case.

In what situations does this rule not apply directly?

If your site uses client-side JavaScript rendering to inject hreflang tags (e.g. via React or Angular), Google reads the DOM after executing JS. In this case, ensure that the JS injects the same tags regardless of the rendering context — and that server-side rendering (SSR) or pre-rendering provides a coherent mobile version.

Sites with geolocated CDNs (Cloudflare, Fastly) serving HTML variants based on IP location must also ensure that hreflang tags remain identical across all edges. An inconsistency on a single edge can pollute the index for an entire geographic area. Testing with a VPN and comparing the DOM crawled by Googlebot from various IPs is essential.

Attention: If you use a plugin or CMS that automatically generates hreflang tags on the frontend (WordPress with WPML, Shopify with Langify), check that the tags are not filtered by user-agent. Some legacy scripts detect Googlebot desktop and inject different hreflang tags — a practice that breaks Mobile-First indexing.

Practical impact and recommendations

What should you do concretely to align hreflang in Mobile-First?

Start with a comparative crawl of desktop vs mobile using Screaming Frog or Oncrawl. Configure two user agents (Googlebot desktop and Googlebot smartphone) and crawl the same URLs. Then compare the extracted hreflang tags: any divergence is a bug to fix immediately.

Next, inspect the server-side code. If you use PHP, Node.js, or Python to dynamically serve HTML, ensure that the logic for injecting hreflang tags does not depend on the user-agent. The tags should be generated once, upstream, and served identically regardless of the device. If you have a Varnish or Redis cache, make sure that the cache key does not include the user-agent for hreflang tags.

What mistakes should be avoided in Mobile-First hreflang implementation?

The most common mistake: duplicating hreflang tags in two distinct config files (one for desktop, one for mobile), with slightly different URLs or language codes. For example, pointing to /en-us/ on desktop and /en/ on mobile — Google sees two contradictory signals and ignores both.

Another classic trap: using hreflang tags in HTTP headers only for desktop, and HTML tags in the <head> for mobile. Google reads both sources, but if they diverge, it prioritizes the version crawled by the mobile bot — hence the HTML tags. Result: HTTP headers are ignored, and if the mobile version lacks them, you lose all hreflang signal.

How can I check if my site is compliant after corrections?

Use the URL Inspection tool in Search Console. Request an inspection of a multilingual page, force a crawl as Googlebot smartphone, and then examine the returned HTML DOM. The hreflang tags should appear in the "Extracted Data" section. If they are absent or incomplete, your mobile rendering is faulty.

Then run an automated hreflang test with a tool like hreflang Testing Tool or SEMrush Site Audit. Configure the crawl in mobile mode and verify that each page contains its linguistic equivalents, and that links are bidirectional (if A points to B, B must point to A). A broken hreflang graph generates cascading errors.

  • Crawl the site with Googlebot smartphone and Googlebot desktop, compare the extracted hreflang tags.
  • Check that the server code generates hreflang tags independently of the user-agent.
  • Eliminate any device detection logic in the generation of hreflang tags.
  • Test the URL Inspection in Search Console in mobile mode to validate the crawled DOM by Google.
  • Launch an automated hreflang audit in mobile mode and fix bidirectional errors.
  • If you use hreflang HTTP headers, ensure they are identical for both desktop and mobile.
In summary: one hreflang configuration per URL, served identically for desktop and mobile. The Mobile-First indexing crawls the mobile version — it holds the multilingual truth. Any divergence breaks the signal and generates language targeting errors. These technical optimizations can be tricky to deploy on complex architectures, especially if the CMS or CDN introduces rendering variations. In these cases, consulting a specialized SEO agency in internationalization helps secure the configuration and avoid costly visibility errors.

❓ Frequently Asked Questions

Dois-je créer deux ensembles de balises hreflang distincts pour desktop et mobile en Mobile-First ?
Non. Google exige une seule configuration hreflang par URL, identique pour desktop et mobile. L'indexation Mobile-First crawle la version mobile qui porte ces balises, puis les applique à l'index complet.
Que se passe-t-il si mes balises hreflang diffèrent entre la version desktop et mobile ?
Google détecte une incohérence et privilégie la version mobile. Les balises desktop sont ignorées, ce qui peut générer des erreurs de ciblage linguistique et fragmenter l'index multilingue.
La livraison dynamique change-t-elle la façon dont Google lit les balises hreflang ?
Non. Même en livraison dynamique (dynamic serving), Google lit les balises hreflang de la version mobile crawlée et les applique à l'index complet. Une URL unique doit porter une seule déclaration hreflang.
Comment vérifier que mes balises hreflang sont identiques entre desktop et mobile ?
Crawle ton site avec deux user-agents (Googlebot desktop et Googlebot smartphone) via Screaming Frog ou Oncrawl, puis compare les balises extraites. Utilise aussi l'Inspection d'URL Search Console en mode mobile.
Les balises hreflang en HTTP header sont-elles affectées par le Mobile-First ?
Oui. Si les headers HTTP diffèrent entre desktop et mobile, Google privilégie ceux retournés pour le bot mobile. Assure-toi qu'ils sont identiques quel que soit le user-agent.
🏷 Related Topics
AI & SEO Mobile SEO International SEO

🎥 From the same video 9

Other SEO insights extracted from this same Google Search Central video · duration 1h12 · published on 09/08/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.