BlogFindings

Googlebot sets no Accept-Language, so your site picks the locale for it

Google's locale-adaptive pages documentation, carrying Last updated 2025-12-10 UTC, states that the crawler sends HTTP requests without setting Accept-Language and that its default IP addresses appear to be based in the USA. Read on 13 August 2026, the crawler pages published by OpenAI, Anthropic and Perplexity name no language, locale or region behaviour at all, so a site that chooses a language from the request has nothing published to plan against.

16 min read Lantad

Crawlers are unusual requesters. Google publishes what its own crawler does here, and the answer is specific: no Accept-Language header, and a default location in the United States. The vendors behind the AI crawlers publish nothing on the subject. This post reads Google's international search documentation, RFC 9110 and the crawler pages published by OpenAI, Anthropic and Perplexity, all on 13 August 2026, then sets out what a multilingual site can check without waiting for any of them. Lantad has not measured the request headers an AI crawler sends. We have no packet capture of GPTBot, no log sample from a multilingual site, and no figure for how often a locale-adaptive page answers a crawler in the wrong language. What we have written from measurement is what a crawler meets on a real storefront, and the mechanism below is the part of that story a URL on its own does not tell you.

In short

  • Google's locale-adaptive pages documentation, carrying Last updated 2025-12-10 UTC, states that the Googlebot crawler sends HTTP requests without setting Accept-Language in the request header.
  • The same Google page states that the default IP addresses of the Googlebot crawler appear to be based in the USA, and that Googlebot also crawls with IP addresses based outside the USA.
  • RFC 9110 section 12.5.4 states that if no Accept-Language field is received in a request, the server MAY assume that all languages are equally acceptable, so returning your default is the conformant answer to a crawler that expresses no preference.
  • Read on 13 August 2026, the crawler documentation published by OpenAI, Anthropic and Perplexity names nine agent tokens between them and says nothing about language, locale, region or Accept-Language.
  • Lantad has not measured the request headers any AI crawler sends. Everything reported here is read from Google's international search documentation, RFC 9110 and three vendor crawler pages on 13 August 2026.

Settled by the address

  • Which document a citation points at, since a link carries only a URL
  • What a crawler with no headers of interest receives from /fr/ or /de/
  • What a cache can store and reuse without guessing
  • What a second fetch from a different country returns

Settled by the caller

  • Which language an Accept-Language header asks for, when one is sent
  • Which country an IP address is taken to represent
  • Which default answers a client that states no preference at all
  • Whether a redirect fires before your application sees the request
What the URL decides and what the request decides on a locale-adaptive page, compiled from Google's international search documentation and RFC 9110, read on 13 August 2026. A description of the mechanism, not a measurement of any site.

What a locale-adaptive page does with a request that names no language

Google's term for this class of page is locale-adaptive, and its definition is worth taking literally: pages that return different content based on the perceived country or preferred language of the visitor. The important word is perceived. Nothing in an HTTP request states who the visitor is. A server infers a country from an IP address and a language from a header, and both inferences can be wrong without anything appearing to fail.

The header is defined in RFC 9110, the current HTTP semantics specification. Section 12.5.4 says the Accept-Language field can be used by user agents to indicate the set of natural languages that are preferred in the response. It is a preference, expressed by the client, and it is optional. The same section settles the case that matters here: if no Accept-Language field is received in a request, the server MAY assume that all languages are equally acceptable. A server answering an unadorned request with its default is therefore not doing anything wrong. The specification permits it in as many words. Whatever your site shows a caller who expressed no opinion is the conformant answer, and on most sites that default was chosen for commercial reasons years before anyone was thinking about machine readers.

Two neighbouring definitions in the same document complete the picture. Section 8.5 defines Content-Language as describing the natural languages intended for the audience of the representation, which is the server stating what it has just sent rather than the client asking for anything. Section 12.5.5 defines Vary, which describes what parts of a request message, aside from the method, host and request target, might play a role in selecting the response representation. Vary is the honest way to admit that a URL is not the whole address of a document. A page that genuinely varies by Accept-Language and does not say so in Vary is misinforming every cache between it and its readers, and the symptom is one visitor being served another visitor's language.

The structural point is not really about language. A locale-adaptive page is a page whose bytes are a function of the request as well as of the URL. Nearly everything downstream assumes the opposite, because a citation assumes the opposite: a link is an address, and an address is expected to resolve to a document. When it instead resolves to a document chosen by the caller's apparent nationality, the question changes from what does this page say to what does this page say to whom, and only the first of those has an answer that fits in a report. That is the same failure shape as prose parity, where the text a browser renders and the text a crawler receives diverge for a reason that has nothing to do with what the page is about.

How a locale-adaptive page selects which representation to return, drawn from Google's locale-adaptive pages documentation and the Accept-Language definition in RFC 9110 section 12.5.4, read on 13 August 2026. A diagram of the mechanism, not a measurement of any site.

What Google publishes about how Googlebot fetches a locale-adaptive page

Google's page on crawling locale-adaptive pages carries Last updated 2025-12-10 UTC, and it states two things about its own crawler that almost nothing in this field states about any crawler.

The first is about headers. Google's locale-adaptive pages documentation says the crawler sends HTTP requests without setting Accept-Language in the request header. Not usually, not by default with exceptions: the documented behaviour is that the header is absent. Read alongside the specification, that places Googlebot in precisely the position RFC 9110 describes, a client that has stated no preference, and it places your server in the position of choosing on its behalf.

The second is about location. The same page says the default IP addresses of the Googlebot crawler appear to be based in the USA, and adds that Googlebot crawls with IP addresses based outside the USA in addition to the US-based ones. Both halves carry weight. A site inferring a country from the connecting address will usually infer the United States and sometimes will not, which means a locale-adaptive site can be crawled inconsistently over time without changing anything about itself. Google's guidance for that case is behavioural rather than technical: when Googlebot appears to come from a certain country, treat it as you would treat any other user from that country, and block or allow access consistently on that basis. The same page states that robots meta tags and robots.txt must specify the same rules in each locale, which is worth reading twice by anyone serving a different robots.txt to different regions.

Taken together, those statements describe a crawler that has deliberately given up the ability to ask for a language. That is a design decision rather than an oversight, and it follows from what a fetcher is. An AI crawler building an index cannot represent a reader, because at fetch time there is no reader to represent. It also fits the wider pattern that documented crawler limits are narrower than most people assume. The analogous case for size is already on this site: Googlebot reads the first 2MB of a supported file type and stops there, another published constraint that most site owners have never read.

One caution applies to every claim in this section, and to our own work equally. What a request carries is a claim, not a credential, and any client can send any header it likes. That is the argument in a user agent is a claim, not an identity, and it applies to Accept-Language as squarely as it applies to a product token. A documented behaviour is what a vendor says its fleet does. Confirming that a particular request really came from that fleet is a separate exercise, and it runs on published IP ranges rather than on anything in the request headers.

Property of the requestWhat Google's documentation statesConsequence for a locale-adaptive site
Accept-LanguageNot setThe crawler sends HTTP requests without setting the header, so the site chooses the language
Default IP locationAppears to be the USACountry inference from the connecting address usually resolves to the United States
Non-US crawlingAlso occursGooglebot crawls with IP addresses based outside the USA in addition to US-based ones
Treatment of geo-distributed crawlsSame as a userGoogle asks that Googlebot from a country be treated like any other user from that country
robots rules per localeMust matchRobots meta tags and robots.txt must specify the same rules in each locale
Statements about Googlebot's requests, transcribed from Google's locale-adaptive pages documentation carrying Last updated 2025-12-10 UTC, read on 13 August 2026. Reported from the documentation, not observed by Lantad.

What the AI crawler documentation says about language, which is nothing

The comparison this site can honestly make is a documentary one, and it is short because there is nothing in the documents to report. Three vendor pages, each read on 13 August 2026.

OpenAI's crawler overview names four agents: OAI-SearchBot, OAI-AdsBot, GPTBot and ChatGPT-User. It sets out what each is for and how to control it from robots.txt. It says nothing about language, locale, region, Accept-Language, or the geographic origin of its requests, and the page carries no visible update date. Anthropic's crawler article names three: ClaudeBot for training data collection, Claude-User for user-initiated web access, and Claude-SearchBot. It points site owners at a published file of source IP addresses so a request can be attributed to Anthropic, which is a statement about attribution rather than geography: it tells you a request came from Anthropic, not which country it left from. Language is not mentioned. Perplexity's crawler page names two, PerplexityBot and Perplexity-User, and notes that changes may take up to 24 hours to be reflected in its systems. It says nothing about language or locale either.

Nine tokens across three vendors, and not one published sentence about how any of them treats a multilingual site. This is not an accusation of bad faith. Crawler documentation is written to answer the question site owners actually ask, which is how to allow or block the thing, and language has not yet become a question people ask. It is worth naming precisely because an absence is so easy to fill with an assumption. If you have quietly assumed that a fetch triggered by a French speaker's question carries a French Accept-Language, nothing published supports that. Nothing published contradicts it either. The defensible position is that it is undocumented, and an undocumented behaviour is one you should not design around.

The shape recurs across this corpus, which is the reason to treat it as a pattern rather than a gap in one vendor's writing. Six of the nine vendors we track publish exactly one crawler token, which is fewer than the standard advice to allow search and block training requires anyone to write a working rule. Our reference list of the agents and what each is documented to do sits at the AI crawler directory, and it records what vendors publish rather than what we infer from behaviour. Where a vendor is silent, the entry is silent, which is the only defensible way to keep a list of that kind.

  • OpenAI crawler overview No language statement Names OAI-SearchBot, OAI-AdsBot, GPTBot and ChatGPT-User. No mention of language, locale, region or Accept-Language, and no visible update date.
  • Anthropic crawler article No language statement Names ClaudeBot, Claude-User and Claude-SearchBot, and publishes source IP addresses for attribution. Geography and language are not addressed.
  • Perplexity crawler page No language statement Names PerplexityBot and Perplexity-User, and says changes may take up to 24 hours to reflect. Nothing on language or locale.
  • Google locale-adaptive page States both The one page of the four that documents header behaviour and default crawl location, carrying Last updated 2025-12-10 UTC.
The three AI vendor crawler documentation pages, read on 13 August 2026, and what each says about language or locale. Reported from the pages themselves, not measured by Lantad.

Hreflang annotates separate URLs, it does not switch a page's language

The advice Google gives for multilingual sites is not to detect and adapt. It is to publish separate addresses and annotate the relationship between them. The locale-adaptive page says so directly, recommending separate locale URL configurations annotated with rel=alternate hreflang annotations, and a dedicated page explains the annotation.

Google's localized versions documentation, carrying Last updated 2025-12-22 UTC, lists exactly three ways to declare an alternate version: HTML link elements carrying rel=alternate and an hreflang value, Link headers returned on the GET response, and xhtml:link entries inside an XML sitemap. Three delivery mechanisms, one annotation. Notice what they have in common: every one of them names a URL. The annotation does not switch a page's language. It tells a search engine that a different address holds the same content in another language, and it leaves both addresses independently fetchable. The sitemap form inherits the usual caveat about anything a site asserts about itself, which is the argument in a sitemap telling a crawler where pages are rather than that they changed.

The same page carries a sentence that surprises people who have treated hreflang as a language declaration: Google doesn't use hreflang or the HTML lang attribute to detect the language of a page, and instead uses algorithms to determine the language. The annotation is a relationship between documents, not a label on one of them. A page does not become Portuguese because somebody wrote a Portuguese hreflang value on it, and a page mislabelled that way is not corrected by the label either.

Google's multi-regional and multilingual guidance, also carrying Last updated 2025-12-10 UTC, then closes the loop with two instructions that read as warnings. Avoid automatically redirecting users from one language version of a site to a different language version of a site. And do not use IP analysis to adapt your content, because IP location analysis is difficult and generally not reliable. The same page lists the signals Google says it does use for country targeting: country-code top-level domains, hreflang statements in tags, headers or sitemaps, server location through the IP address of the server, and other local signals such as addresses and phone numbers on the pages, local language and currency, and links from other local sites.

Read as one instruction the advice is coherent: give each locale a stable address, state the relationship between the addresses, and stop trying to guess who is calling. The reason to care beyond Google is that this is the only arrangement an undocumented crawler cannot get wrong. A fetcher with no Accept-Language header and a United States IP address still receives French from a French URL, because that URL is an address rather than a negotiation. For generative engine optimisation the point is sharper still, since the unit of citation is a URL and the engine doing the citing has told you nothing about itself.

MechanismWhere it livesWhat a crawler must fetch to see it
HTML link elementIn the head of each page, rel=alternate with an hreflang valueThe page itself, and its raw HTML rather than a rendered view
Link headerAn HTTP response header on the GET responseThe response headers, which survive even when the body does not
Sitemap entryAn xhtml:link element inside the XML sitemapThe sitemap file, which is a separate request from any page
HTML lang attributeNot used for thisGoogle states it does not use hreflang or the lang attribute to detect a page's language
The three mechanisms for declaring a localized version, transcribed from Google's localized versions documentation carrying Last updated 2025-12-22 UTC, read on 13 August 2026. Reported from the documentation, not measured by Lantad.

What to check on a multilingual site this week

None of this needs a crawler log to act on, which is just as well, because most sites do not keep one worth reading. Four checks follow from the documentation above, and each has a failure mode that produces no error anywhere.

Find out whether your site varies at all. Request your home page twice, once with no Accept-Language header and once with the header set to a language you publish, and compare the two responses. If they differ, you have a locale-adaptive page and everything in this post applies to you. If they are byte for byte the same, language is settled by the URL and you can stop at the first check. The request with no header is the one that matters most, because it is the case Google documents its own crawler producing and the case the specification permits a server to answer with anything at all.

Check what a crawler-shaped request receives, separately from what your browser receives. A browser sends a long Accept-Language list, a set of client hints and a cookie jar. A crawler sends a user agent and frequently little else. Lantad's own per-bot probe is built that way as a matter of configuration rather than discovery: it re-requests the final URL with a single user-agent header carrying the bot's published string, and no Accept-Language. That is a setting in our pipeline, not a finding about anybody's crawler, but it does mean the response we grade is the one a header-light client receives. You can run the equivalent against a single page with what GPTBot sees, and the way the resulting response is scored is set out in our methodology.

Look for a redirect before you look for a translation. An IP-based redirect from the root to a country path is invisible to anyone browsing from the country it targets and highly visible to a crawler sitting in a data centre somewhere else. Google's guidance is to avoid the pattern outright, and the reason to take that seriously has little to do with rankings: a redirect is a place where a request can be answered by something other than your application, which is the general case that two layers decide if AI can read your site sets out.

Then decide what your default should be, and write the decision down somewhere. Somebody chose it once, probably in the first week of the site's life, and on a locale-adaptive site that choice is now the answer given to every client that does not ask, which includes every crawler documented not to ask. It is a one line decision with an outsized effect on the AI visibility of a business whose main market is not the one the default happens to serve, and of the four things here it is the cheapest to check and the easiest to forget.

  • Does the response vary at all Fetch the same URL with and without an Accept-Language header and compare. Identical responses mean language is settled by the address and nothing else here applies.
  • What a header-light request receives Google documents Googlebot sending no Accept-Language. Reproduce that shape rather than testing from a browser carrying a full header set and a cookie jar.
  • Redirects before translations An IP-based redirect from the root to a country path is invisible from inside the target country. Google's guidance is to avoid automatic redirection between language versions.
  • Which language is the default RFC 9110 section 12.5.4 permits a server to treat all languages as equally acceptable when no preference is sent, so the default is what a documented crawler receives.
Four checks that follow from Google's international search documentation and RFC 9110, both read on 13 August 2026. Not a scored Lantad check, and not weighted.

Written by

Lantad

Published .

A site that publishes in more than one language has to answer a question on every single request: which language? Two mechanisms decide it in practice. The first is the Accept-Language header the client sends. The second is the country the request appears to come from, inferred from its IP address. Both are properties of the requester rather than of the URL, which means one address can return different documents to different callers, and that is exactly the condition under which a scanner and a browser stop agreeing about what a page says.

Common questions

Does Googlebot send an Accept-Language header?

No. Google's documentation on crawling locale-adaptive pages, carrying Last updated 2025-12-10 UTC, states that the crawler sends HTTP requests without setting Accept-Language in the request header. Under RFC 9110 section 12.5.4 a server receiving no Accept-Language field may assume that all languages are equally acceptable, so a locale-adaptive site is free to answer with whatever its default is.

Which language do AI crawlers see on a multilingual site?

Nothing published answers that. The crawler documentation from OpenAI, Anthropic and Perplexity, read on 13 August 2026, names nine agent tokens between them and does not mention language, locale, region or Accept-Language anywhere. Lantad has not measured the headers those crawlers send, so the honest answer is that the behaviour is undocumented rather than known.

Does hreflang tell a crawler what language a page is in?

No. Google's localized versions documentation, carrying Last updated 2025-12-22 UTC, states that Google does not use hreflang or the HTML lang attribute to detect the language of a page and instead uses algorithms to determine it. Hreflang declares that another URL holds the same content in another language. It is a relationship between addresses rather than a label on one page.

Should a multilingual site redirect visitors by IP address?

Google's multi-regional and multilingual guidance, carrying Last updated 2025-12-10 UTC, advises against it twice: avoid automatically redirecting users from one language version of a site to a different language version, and do not use IP analysis to adapt content because IP location analysis is difficult and generally not reliable. Separate locale URLs annotated with hreflang are the documented alternative.

See what AI can read on your site

Run a free scan and get a graded report of exactly what AI crawlers can and cannot read, with ranked fixes.