Official statement
Other statements from this video 41 ▾
- 3:48 Does Google really automatically ignore irrelevant URL parameters?
- 3:48 Why does Google ignore certain URL parameters and how does it choose its canonical version?
- 4:34 Does Google really ignore non-essential URL parameters on your site?
- 8:48 Are errors 405 and soft 404 truly handled the same way by Google?
- 8:48 Do soft 404s really trigger deindexing without a penalty?
- 10:08 Should you really prefer a soft 404 over a 405 error for removed Flash content?
- 17:06 Does submitting multiple Google reconsideration requests really speed up the review of your site?
- 18:07 Do manual actions for unnatural outbound links really affect a site's ranking?
- 18:08 Do penalties on outbound links really impact your site's ranking?
- 18:08 Should you really set all your outbound links to nofollow to protect your SEO?
- 19:42 Should you really set all your outbound links to nofollow to protect your PageRank?
- 22:23 Does Google always show your images in search results?
- 22:23 How does Google decide which images to display in search results?
- 23:58 How long does it take to recover traffic after a 301 redirect bug?
- 23:58 Can temporary technical bugs really sink your Google ranking for good?
- 24:04 Can a bug restoring your old URLs kill your SEO?
- 24:08 Why does Google aggressively recrawl your site after a migration?
- 27:47 Should you index a new URL before redirecting an old one in a 301?
- 28:18 Is it really necessary to wait for indexing before redirecting a URL in 301?
- 34:02 Why does the mobile-friendly test produce conflicting results on the same page?
- 37:14 Why should WebPageTest be your go-to tool for web performance diagnostics?
- 37:54 Are H1 titles really essential for ranking your pages?
- 38:06 Are H1 and H2 tags really important for Google ranking?
- 39:58 Is it true that structured data makes a difference based on whether it's implemented with a plugin or manually?
- 39:58 Should you manually code your structured data or opt for a WordPress plugin?
- 41:04 Should you really be worried about a 503 error on your site for a few hours?
- 41:04 Can a 503 error truly harm your site's SEO?
- 43:15 Why are your FAQ rich snippets disappearing despite technically valid markup?
- 43:15 Why are your rich results disappearing from regular SERPs while they technically work?
- 43:15 Why do your rich snippets vanish even when your markup is technically correct?
- 47:02 Why does Search Console show indexed URLs that are missing from the sitemap?
- 48:04 Should you really modify the lastmod of the sitemap to speed up recrawling after fixing missing tags?
- 48:04 Should you modify the lastmod date in the sitemap after simply correcting a meta title or description?
- 50:43 Is it normal for the Rich Results report in Search Console to remain empty despite valid markup?
- 50:43 Why is Google showing fewer of your FAQs as rich results?
- 50:43 Is it true that your validated FAQ markup might be invisible in Search Console?
- 51:17 Why is Google showing fewer FAQs in rich results now?
- 54:21 Why does Google choose a canonical URL in the wrong language for your multilingual content?
- 54:21 Can Google really tell the difference between your multilingual pages, or is it at risk of mistakenly canonicalizing them?
- 57:01 Is Google really tolerant of hreflang errors that mismatch language and content?
- 57:14 Does Googlebot really send an accept-language header during crawling?
Googlebot almost always crawls without a defined accept-language header, or occasionally uses 'en' as the default. If your site automatically switches content based on this header, Google will only see the English version or the default version—never your other language variants. The official recommendation: manual language selection banner rather than automatic redirection.
What you need to understand
Why does Googlebot crawl without an accept-language header?
Googlebot does not behave like a standard browser. Unlike a user whose browser systematically sends an accept-language header reflecting their language preferences, Google’s bot mostly crawls without this HTTP header.
When this header is sent, it defaults to 'en' (English). This deliberate approach aims to ensure that Googlebot accesses a stable and predictable version of your pages, without any language bias introduced by the server.
What is the risk for a site that detects language via accept-language?
If your server detects the accept-language header and automatically serves different content based on language, you create a major indexing issue. Google will only see the version served by default (often English, sometimes the default language of your server configuration).
The other language versions remain invisible to crawling. Your French, Spanish, or Japanese site may technically exist, but Googlebot will never access it if access depends on a header it doesn’t send. This creates a complete blind spot in indexing.
How does Google actually distinguish language versions?
Google relies on explicit signals: distinct URLs by language (subdomains, subdirectories, URL parameters), hreflang tags declared in HTML or the sitemap, and visible content on the page.
The accept-language header never enters the equation. It is a volatile, client-side data point that Google deliberately ignores to prioritize structural signals that the webmaster can control.
- Googlebot does not read accept-language in 99% of cases—it crawls “neutrally”
- Switching content via this header makes your language versions invisible to indexing
- Distinct URLs + hreflang are the only reliable signals for multilingualism
- A manual language selection banner ensures that all versions remain accessible to crawl
- The content served to Googlebot must be identical to what is served to a user without language preferences
SEO Expert opinion
Is this statement consistent with observed practices in the field?
Yes, and it serves as a brutal reminder for those who persist in believing that Google “understands everything.” In audits of multilingual sites, we regularly observe cases where only the English version (or the default server version) appears in the index. The rest? Never crawled, never indexed.
The confusion often arises from a misunderstanding of how HTTP works. Many frameworks (especially those focused on “user experience”) automatically detect accept-language and redirect the user. Convenient for UX, catastrophic for SEO if no distinct URL structure exists in parallel.
What nuances should be added to this official guideline?
Mueller talks about “almost never.” This “almost” leaves some margin for uncertainty—Googlebot can send 'en' in certain contexts. In practical terms? If your site switches from French to English as soon as it detects 'en', you lose the French version even in this minority scenario.
Another nuance: this rule applies to initial crawling and indexing. For JavaScript rendering or certain specific tests (Search Console, Mobile-Friendly Test), Google can simulate different contexts, but this is not the standard behavior of Googlebot in its classic indexing pipeline. [To be verified]: no official data on the exact frequency of sending the 'en' header.
In what cases could this rule still pose a problem?
If you use a CDN or reverse proxy that detects accept-language upstream of your server and serves differentiated cached versions, you are exposed. Even if you have distinct URLs, if the CDN overrides language detection, Googlebot may be stuck on a single variant.
Classic case: Cloudflare Workers or Lambda@Edge with poorly configured language routing rules. The bot arrives at /fr/, but the worker detects the absence of the accept-language header (or the value 'en') and serves the English version on the French URL. Result: duplicate content, chaotic indexing, loss of local relevance.
Practical impact and recommendations
What should be done concretely for a multilingual site?
First step: distinct URLs by language. Subdomains (fr.example.com), subdirectories (example.com/fr/), or URL parameters (example.com?lang=fr)—the structure doesn’t matter, as long as it is stable and crawlable without a specific HTTP header.
Second step: correctly implement hreflang tags. Each page must declare its linguistic and regional variants, including self-references. Googlebot relies on these tags to understand the relationships between versions, independently of any HTTP header.
What mistakes should be absolutely avoided?
Never serve different content on the same URL based on accept-language. This is the classic trap of “smart” frameworks that detect the visitor's language. For Googlebot, the URL example.com/product must always return exactly the same content, regardless of the header.
Avoid 302 redirects based on accept-language as well. Googlebot will follow the redirect but will index the target (often the English version), leaving your other language versions orphaned. If you must redirect users, do it using client-side JavaScript after the initial HTML load—this way, Googlebot always sees the canonical version.
How can I check that my site complies with this logic?
Test your URLs with curl by explicitly removing the accept-language header: curl -H "Accept-Language:" https://example.com/fr/. The returned content should be identical to what is visible in a browser configured in French.
Also use Google Search Console, Coverage section, to check that all your language versions appear as indexed. If only the English version shows up, you likely have a server-side detection problem based on accept-language. Inspect the URL using the URL Testing Tool—the returned HTML should match the expected language, without depending on a header that Googlebot does not send.
- Structure the site with distinct URLs by language (subdomain, subdirectory, or parameter)
- Implement hreflang tags on all pages, including self-references
- Never serve different content on the same URL based on accept-language
- Offer a manual language selection banner instead of automatic redirection
- Test server rendering with curl without the accept-language header to validate content stability
- Check in Search Console that all language versions are crawled and indexed
❓ Frequently Asked Questions
Googlebot envoie-t-il parfois un header accept-language avec une autre valeur que 'en' ?
Mon site redirige automatiquement selon accept-language, est-ce que Google verra quand même toutes mes langues ?
Peut-on détecter la langue de l'utilisateur en JavaScript côté client sans impacter l'indexation ?
Les balises hreflang suffisent-elles à compenser une détection serveur basée sur accept-language ?
Est-ce que cette règle s'applique aussi aux sites monopages (SPA) avec routing JavaScript ?
🎥 From the same video 41
Other SEO insights extracted from this same Google Search Central video · duration 59 min · published on 11/08/2020
🎥 Watch the full video on YouTube →
💬 Comments (0)
Be the first to comment.