Blog · Diagnosis

International and multilingual AI visibility

Published 15 May 2026 · Updated 15 October 2026 · 10 min read

International and multilingual AI visibility
Photograph: Annie Spratt / unsplash

The short answer: To make your website visible in AI search in multiple languages, give each language its own crawlable URL, check that a crawler sending no language header still gets that language back, make the hreflang set reciprocal so the versions are not collapsed into one, keep each canonical inside its own language, translate the main content and not only the boilerplate, and test with real buyer questions asked in that language rather than translated from your English list.

International and multilingual AI visibility is the question of whether an answer engine can find, read and correctly attribute the right language version of your site for a buyer asking in their own language. The loss is often in plumbing rather than in content: auto-redirects that serve crawlers one locale, hreflang sets that Google ignores because they are not reciprocal, and market pages whose facts quietly disagree with each other.

The symptom is familiar. Your brand shows up when somebody asks in English and vanishes when the same person asks in German, Hindi or Portuguese. The German answer names three other companies and describes your category correctly, so this is not a topic problem. Something stopped the German version of you from reaching the model.

The crawler does not speak your visitor's language

Google states that it determines a page's language from the visible content on that page, and that it does not read code-level language information. It also says Googlebot issues requests without setting an Accept-Language header at all. Both statements appear in Google's guidance on managing multi-regional and multilingual sites, and both are worth reading twice if your site chooses a locale at the edge.

Here is the failure that follows. A site that picks a language from Accept-Language, with a fallback to the default locale when the header is absent, hands Googlebot the default locale, because Google documents that its crawler sends no such header. Other assistant fetchers do not publish what headers they send, so we cannot tell you they all behave this way. What we can say is that we have found no fetcher documentation that promises the opposite. Where the fallback fires, your nine language versions exist and one of them is the only one that was fetched, so the text an assistant holds about you is English.

IP based redirection fails the same way for a different reason. Google says plainly that IP location analysis is difficult and generally not reliable, and advises against automatically redirecting users from one language version to another. A fetcher reaches you from whatever network its operator runs on, which is not your buyer's country. Geo-redirect on IP and you have decided, on its behalf, which market page it is allowed to see.

hreflang is a handshake, not a label

Three implementations are valid: link rel="alternate" elements in the head, a Link: HTTP header, or xhtml:link entries in the XML sitemap. The part teams get wrong is not the syntax. It is the reciprocity rule. Google is explicit that if two pages do not both point to each other, the tags will be ignored.

So a one-directional set is not a weak signal. It is no signal. The common shape of the bug: the English page lists eleven alternates, the Japanese page was built from a different template and lists none, and the entire cluster collapses to unlinked pages that look like near duplicates of each other. Add x-default for the fallback, keep codes to ISO 639-1 for language with an optional ISO 3166-1 alpha-2 region, and remember that a region code cannot stand alone. de-CH is valid. CH is not.

Hreflang does not get you into an AI answer by itself. What it does is stop a set of localised pages from being read as duplicates of one page, which is the state in which an engine picks one of them and discards the rest. That is also why this sits in the same bucket as the other mechanical faults in Why AI never mentions your brand.

The corpus is thinner in your language than you think

Open the Common Crawl language statistics, which run CLD2 over the HTML pages in each crawl and record one primary language per page. We downloaded their languages.csv on 12 October 2026 and read the CC-MAIN-2026-39 row set. English is 41.86 percent of pages, Russian 6.70, German 5.73, Japanese 5.17, Spanish 4.74, French 4.68, Chinese 4.23 and Arabic 0.67. The table carries 161 primary language codes for that crawl, and only 69 of them reach even 0.01 percent of pages. This counts pages Common Crawl fetched, not the web, and not what any engine chose to index.

That lopsidedness has a direct consequence for visibility. In a thin language, the pool of corroborating documents about your category is small, so a handful of directories, a translated news item and two marketplace listings can dominate what an engine believes. The good news is that the same thinness makes the market cheap to influence. The bad news is that a single stale translation of your company description can anchor an entire language.

Google's AI Mode help page lists the countries, territories and languages the feature covers, and the list is long. We could not read the list itself from the page source, so we quote no count from it. The shape of the problem survives the missing number: reach that wide meets a web that is still mostly English, the gap gets filled by translating English sources at answer time, and your brand gets described in Portuguese using sentences nobody at your company ever approved in Portuguese.

Contradictions multiply by the number of markets

One site with one pricing page has one version of the truth. Nine market sites have nine, and they drift. Prices change on the US page in March and on the French page in September. A product is renamed globally and three locales keep the old name because they sit in a separate CMS. Support hours, legal entity names and shipping claims diverge the same way.

Engines resolve this by picking something. Usually the version with the strongest corroboration elsewhere, which is often the English one, which means your French buyer is told a US price. Running the same prompt set in each market language is the only way to see it. The self-audit checklist covers the single-language version of this work, and the multi-market version is the same checklist run once per locale with a native speaker reading the output.

Translated marketplace and directory listings are worth a separate thought. They are rented visibility in every market, and in a thin language they can outweigh your own site simply because there is less competing text. When the listing is a four-year-old machine translation, that is what gets quoted.

What actually changes per language

Six things change, and only one of them is the translation.

One URL per language. Google recommends using different URLs for each language version of a page, and advises against swapping the content language on a single URL based on cookies or browser settings. A language that exists only as a state of the same URL has no address an engine can cite.

Each version independently fetchable. Request each market URL cold, with no cookies and no language header, and read what comes back. You want a 200 with the translated main content present in the HTML, not a 302 to the default locale and not an empty shell that fills in afterwards, which is the failure described in JavaScript rendering and AI crawlers.

Canonical inside the same language. Google's canonicalisation guidance says that when you use hreflang, the canonical page you specify should be in the same language, or the best possible substitute language, and that the canonical page should carry a self-referential rel="canonical" of its own. A French page that canonicalises to the English one has nominated the English page as the version worth keeping.

Translated content, not translated wrapping. Google notes that localised pages are treated as duplicates when the main content stays untranslated, and warns separately about translating only the boilerplate. Machine translation is a starting point rather than a finish: Google's spam policies list automated transformations such as translating among the examples of scaled content abuse when little value is added for the reader. A native speaker reading the page before it ships is the cheapest insurance we know of.

Indexable on purpose. Staging locales often ship with a noindex or a robots rule that nobody removes at launch. Check the response headers and the robots file per locale, not once for the domain.

Prompts are not translations. This is the part teams skip. Buyers in another language ask different questions, not translated versions of your English ones, because the category has different local vocabulary, different comparison sets and different regulatory worries. We build the prompt list per market with someone who sells in that market, and the overlap with the English list is usually partial. Translating your English prompt set measures a question nobody asks.

Checks you can run this week

Fetch your market pages the way a crawler does, with no language header and no cookies.

`` curl -sIL -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \ example.com/de/pricing | grep -iE "^(HTTP|location|content-language|link)" ``

A 302 to /en/ is your answer. Repeat it for each locale, and repeat it from a second network if you can, because edge rules often differ by region.

Then verify reciprocity rather than presence. Pull the hreflang set from each page, build the graph, and look for any node that is named by a peer but does not name that peer back. A twenty-line script does this. A crawl report that merely counts hreflang tags does not.

Finally, run your real buyer questions in each market language on more than one engine, and record three things each time: whether you were named, whether the claim was true, and which URL was cited. We have not found documentation from any engine on how it routes a non-English query, so running the questions yourself is the only way to see what happens, and the Bing index sits underneath more surfaces than most teams expect, which is the argument in Microsoft Copilot and the Bing index. The sample audit report shows how that evidence is laid out when the work is done at scale.

What we are still measuring

This post establishes less than it may read like. The crawler behaviour above is documented by Google for Googlebot; we have not verified what any other assistant fetcher sends, and absence of a published header is not proof that none is sent. The reciprocity rule and the IP redirection advice are Google's policy for Google, not a cross-engine standard. The Common Crawl shares describe one crawl of pages Common Crawl fetched, which is a sample of the web. It does not tell you what an engine indexed. We do not know how much weight an engine gives a correctly localised page against a translated English one, because none of them say and the output is regenerated each run, so treat any precise multiplier for localisation with care.

FAQ

How do I make my website visible in AI search in multiple languages? Publish each language on its own URL, confirm that a crawler sending no language header gets that language back, make the hreflang set reciprocal, point each canonical at a page in the same language, and translate the main content rather than the boilerplate alone. Then ask real buyer questions in that language on the engines you care about and record what comes back, because what you are told in English says nothing about what a German buyer is told.

Our AI visibility tool cannot track answers in German. Which European platform should we switch to? We do not recommend tools by name. Where a vendor is headquartered is a separate question from whether it queries an engine in your language, so ask the specific one instead: which engines does it query, in which locales, and can you supply prompts you wrote yourself in German. If the answer is no, measure it directly. Have a German speaker write twenty to thirty real buyer questions, run them on the engines you care about, and record three things per run: whether you were named, whether the claim was true, and which URL was cited. That record is yours, it reflects your market, and it survives any change of tooling. Our audit runs its prompt set this way when a reader of the language can check the output.

Does hreflang help with AI answers? Indirectly. It stops localised pages being collapsed into one another, which keeps every market version eligible to be retrieved. We have not found engine documentation that treats it as an input to an answer.

Should I auto-redirect visitors to their local site? Google advises against automatic redirection between language versions, and documents that Googlebot sends no language preference, so a redirect rule serves it the default locale. Offer a clear language switcher and let the user choose.

Is machine translation enough for market pages? It is enough to be read and not always enough to be correct. Translating only boilerplate while leaving the body in one language is worse, because the same content appears repeatedly under different wrappers.

Which language should I fix first? The one where the gap between your revenue and your mention rate is widest. That is usually a mid-size market with a thin local web, not your largest one.

Sources

Related reading