Geodocs.dev

Hreflang for AI Search: Multilingual Citation Optimization Guide

ShareLinkedIn

Open this article in your favorite AI assistant for deeper analysis, summaries, or follow-up questions.

Hreflang remains a high-leverage signal for the AI engines that inherit Google and Bing indexes (AI Overviews, Gemini, Copilot), but is largely ignored by retrieval-first engines (ChatGPT, Perplexity, Claude). To win multilingual AI citations, ship technically correct hreflang plus per-language entity grounding, in-language headings, and self-referential canonicals.

TL;DR

  • AI Overviews, Gemini, and Copilot honor hreflang because they pull from Google and Bing's localized indexes.
  • ChatGPT, Perplexity, and Claude rely on retrieval-time language matching and frequently surface the wrong-language URL even when hreflang is correct.
  • The winning play in 2026 is belt-and-suspenders: ship valid hreflang clusters and engineer each language version to be self-evidently localized to a generative engine that ignores the tag.

Why hreflang still matters in the AI search era

More than half of all Google searches now happen in non-English languages, and AI Overviews are rolling out in 100+ markets. When a generative engine answers a query in Spanish, Japanese, or German, it must choose one URL to cite even if you have ten translated versions. Hreflang is the only standardized signal that tells search engines, "these pages are alternates of each other; pick the one that matches the user's language and region."

Independent crawl studies report that 65-75% of international websites have hreflang errors — missing return links, mismatched canonicals, invalid language codes — fragmenting their international rankings before AI engines ever pick a citation.

How each AI engine handles hreflang in 2026

Community testing (notably the 2025-2026 GSQI multilingual probes) shows three distinct behavior tiers:

Engine Hreflang Honored? Why
Google AI Overviews / AI Mode Mostly yes Inherits Google index; localized retrieval pipeline.
Gemini Yes Same Google retrieval substrate.
Microsoft Copilot Yes Inherits Bing index, which honors hreflang.
ChatGPT (Search) Inconsistent Bing-backed retrieval but post-hoc language re-ranking; often surfaces English even on non-English prompts.
Perplexity Largely no Retrieval-first agent that scores by content semantics, not hreflang clusters.
Claude No No native search; relies on tool-provided URLs that already lost hreflang context.

Implication: Optimizing only for hreflang covers Google-family AI surfaces but leaves you blind on Perplexity and ChatGPT. You need both the tag and in-content language signals.

Hreflang anatomy: a 60-second refresher

A valid hreflang cluster has three parts on every page in the set:

<link rel="alternate" hreflang="en-US" href="https://example.com/us/page" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/page" />
<link rel="alternate" hreflang="de-DE" href="https://example.com/de/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />

Three non-negotiable rules:

  1. Self-reference required. Every page lists itself in its own cluster.
  2. Bidirectional return links. If page A points to page B, page B must point back.
  3. One canonical per page — and the canonical must equal the URL itself, not the default-language version.

Language codes are ISO 639-1 lowercase (en, fr); region codes are ISO 3166-1 Alpha-2 uppercase (US, DE); join with a hyphen, never an underscore. Always include x-default for the language picker or geolocation entry page.

Three implementation methods (and which to pick)

Best for: small/medium sites, marketing pages, JAMstack/static generators.

Caveat: must be in , not . Many AI scrapers truncate at first content.

Best for: non-HTML resources (PDFs, JSON-LD endpoints) and edge-rendered sites.

Caveat: harder to debug; auditing tools often miss them.

Best for: large e-commerce, news, and docs sites with thousands of multilingual URLs.

Caveat: only Google fully consumes it; Bing prefers in-page tags.

Pick one method and use it consistently. Mixed implementations are the #1 cause of hreflang errors in international sites.

Step-by-step: a hreflang implementation that AI engines respect

Step 1 — Define the locale matrix

List every (language, region) pair you publish. Resolve overlaps explicitly: do en-US and en-GB share a page or split? Will de-DE also serve Austria and Switzerland, or do you need de-AT and de-CH?

Step 2 — Generate self-referential canonicals

Each localized URL must canonicalize to itself. A common bug: every translation pointing its canonical at the English original. This collapses the cluster and forces AI engines to cite only the English version.

Step 3 — Emit a complete cluster on every page

Use a build-time generator (Next.js i18n config, Hugo languages, Drupal i18n module, or a custom MDX plugin) so every page renders the full cluster, including itself and x-default. Partial clusters are silently downgraded by Google.

Step 4 — Translate the metadata, not just the body

Localize , meta description, OpenGraph fields, and JSON-LD inLanguage. Engines that ignore hreflang (Perplexity, Claude) use these in-document signals to decide language match at retrieval time.</p> <h3 id="step-5-reinforce-language-identity-inside-the-content">Step 5 — Reinforce language identity inside the content</h3> <p>Add lang="de" on the <html> element. Use native script (don't write Japanese articles in romaji). Place a localized hub link in the first 100 words; AI extractors weight early-page entities heavily.</p> <h3 id="step-6-validate-with-three-independent-tools">Step 6 — Validate with three independent tools</h3> <p>Don't trust a single audit. Cross-check with:</p> <ul> <li>Google Search Console International Targeting report.</li> <li>A crawler (Screaming Frog, Sitebulb, Lumar) configured to flag missing return links.</li> <li>An on-page validator that fetches all alternates and verifies HTTP 200 + matching canonical.</li> </ul> <h3 id="step-7-monitor-ai-citation-language-drift">Step 7 — Monitor AI citation language drift</h3> <p>Set up monthly probes against the same prompt in each target locale: "What is X?" in Spanish, German, Japanese. Log which URL each engine cites and whether language matches. Drift over consecutive months is the leading indicator of a hreflang regression.</p> <h2 id="common-hreflang-failures-and-how-ai-engines-penalize-them">Common hreflang failures (and how AI engines penalize them)</h2> <div class="table-responsive"><table><thead><tr><th>Failure</th><th>Symptom in AI engines</th></tr></thead><tbody><tr><td>Missing return link</td><td>Google drops the alternate; AI Overviews cites the wrong version.</td></tr><tr><td>Mixed methods (HTML + sitemap conflict)</td><td>Indexing fragmented; AI cites a stale URL.</td></tr><tr><td>Country code in language slot (hreflang="UK")</td><td>Cluster invalidated entirely.</td></tr><tr><td>Underscore separator (en_US)</td><td>Tag ignored.</td></tr><tr><td>Canonical points to default language</td><td>All translations collapse into one citable URL.</td></tr><tr><td>Non-200 alternates</td><td>Engines flag the cluster as untrustworthy.</td></tr><tr><td>x-default missing</td><td>Geolocation entry page not surfaced for global queries.</td></tr></tbody></table></div> <h2 id="beyond-hreflang-signals-that-win-citations-on-perplexity-and-chatgpt">Beyond hreflang: signals that win citations on Perplexity and ChatGPT</h2> <p>Because retrieval-first engines ignore hreflang, you need in-content language proof:</p> <ul> <li>Native-language headings and TL;DR — extractors anchor on the first paragraph and <h1>/<h2>.</li> <li>Region-specific entities — local currencies, regulators, public holidays, statistical bodies.</li> <li>In-language citations — link to authoritative sources in the same language; Perplexity's source-confidence model uses this.</li> <li>Schema.org inLanguage on Article, FAQPage, and HowTo nodes.</li> <li>One concept per URL per language. Do not stack ?lang=de on top of /en/; AI engines cannot reliably parse query-string locales.</li> </ul> <h2 id="hreflang-and-llms-txt-complementary-not-competing">Hreflang and llms.txt: complementary, not competing</h2> <p>llms.txt advertises canonical content paths to AI crawlers. Pair them: list each language's hub in llms.txt, link out to the per-locale articles, and ensure those articles carry valid hreflang clusters. Together, they give you discovery (llms.txt) plus retrieval routing (hreflang).</p> <h2 id="quick-reference-checklist">Quick reference checklist</h2> <ul> <li>[ ] Locale matrix documented with explicit fallbacks</li> <li>[ ] Self-referential canonical on every page</li> <li>[ ] Full hreflang cluster (incl. x-default) on every page</li> <li>[ ] One implementation method, used consistently</li> <li>[ ] <html lang="…"> and inLanguage schema present</li> <li>[ ] Localized <title>, meta, OG, and first-100-words content</li> <li>[ ] Crawler-validated return links</li> <li>[ ] Monthly multi-engine citation probe in place</li> </ul> <h2 id="faq">FAQ</h2> <h3 id="q-do-ai-search-engines-use-hreflang-the-same-way-google-does">Q: Do AI search engines use hreflang the same way Google does?</h3> <p>No. Google AI Overviews, Gemini, and Copilot largely respect hreflang because they inherit Google and Bing's localized indexes. Perplexity, ChatGPT, and Claude rely on retrieval-time language matching and often ignore the tag, surfacing the wrong language even with a correct cluster.</p> <h3 id="q-is-x-default-required-for-ai-citation-optimization">Q: Is x-default required for AI citation optimization?</h3> <p>Yes, in practice. x-default tells engines which URL to surface when no specific language matches. Without it, generative engines tend to default to your strongest English page, hurting non-English citation share.</p> <h3 id="q-can-i-use-hreflang-on-a-single-language-site-to-target-multiple-regions">Q: Can I use hreflang on a single-language site to target multiple regions?</h3> <p>Yes. hreflang="en-US", hreflang="en-GB", and hreflang="en-AU" are valid for separating English-language pages by region. Each must self-reference and return-link.</p> <h3 id="q-how-long-does-it-take-for-ai-engines-to-reflect-hreflang-changes">Q: How long does it take for AI engines to reflect hreflang changes?</h3> <p>Google-family surfaces (AI Overviews, Gemini) typically reflect changes within 2-6 weeks. Bing-backed surfaces (Copilot, ChatGPT Search) lag 4-8 weeks. Perplexity and Claude do not reflect hreflang at all; for them you must change the in-content language signals.</p> <h3 id="q-should-the-canonical-tag-point-to-the-default-language-version">Q: Should the canonical tag point to the default language version?</h3> <p>No. Each translated page must canonicalize to itself. Pointing all canonicals at the default-language version collapses the cluster and is one of the most common reasons AI engines cite only the English page.</p></div><div style="margin-top:64px"><h2 style="font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-default)">Related Articles</h2><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:16px"><a style="text-decoration:none" data-related-article="answer-block-architecture-framework" data-related-position="1" href="/aeo/answer-block-architecture-framework"><div class="card"><span class="badge badge-green" style="margin-bottom:8px">framework</span><h3 style="font-size:15px;font-weight:600;color:var(--text-heading);margin-bottom:4px">Answer Block Architecture Framework: Engineering Extractable Answer Units for AI Engines</h3><p style="font-size:13px;color:var(--text-secondary);line-height:1.5">A 5-component framework for engineering extractable answer blocks that ChatGPT, Perplexity, and Google AI Overviews cite cleanly — with schema bindings and length rules.</p></div></a><a style="text-decoration:none" data-related-article="ai-search-serp-feature-citation-map" data-related-position="2" href="/reference/ai-search-serp-feature-citation-map"><div class="card"><span class="badge badge-green" style="margin-bottom:8px">checklist</span><h3 style="font-size:15px;font-weight:600;color:var(--text-heading);margin-bottom:4px">AI Search SERP Feature Citation Map: Where AI Mentions Appear in 2026</h3><p style="font-size:13px;color:var(--text-secondary);line-height:1.5">AI search SERP feature citation map: a 2026 checklist of every surface where AI mentions appear, from AI Overviews to Perplexity Sources.</p></div></a><a style="text-decoration:none" data-related-article="llm-citation-anchor-text-patterns" data-related-position="3" href="/reference/llm-citation-anchor-text-patterns"><div class="card"><span class="badge badge-green" style="margin-bottom:8px">reference</span><h3 style="font-size:15px;font-weight:600;color:var(--text-heading);margin-bottom:4px">LLM Citation Anchor Text Patterns: How Generative Engines Phrase Source Mentions</h3><p style="font-size:13px;color:var(--text-secondary);line-height:1.5">LLM citation anchor text patterns reference cataloging how ChatGPT, Perplexity, Gemini, and Claude phrase source mentions across answer formats and engines.</p></div></a></div></div></article><div style="padding-left:40px" class="toc-sidebar"><nav style="position:sticky;top:88px;font-size:13px;line-height:1.6;max-height:calc(100vh - 100px);overflow-y:auto"><div style="font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-cool-gray);margin-bottom:12px">On this page</div><a href="#tl-dr" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">TL;DR</a><a href="#why-hreflang-still-matters-in-the-ai-search-era" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Why hreflang still matters in the AI search era</a><a href="#how-each-ai-engine-handles-hreflang-in-2026" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">How each AI engine handles hreflang in 2026</a><a href="#hreflang-anatomy-a-60-second-refresher" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Hreflang anatomy: a 60-second refresher</a><a href="#three-implementation-methods-and-which-to-pick" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Three implementation methods (and which to pick)</a><a href="#1-html-link-tags-in-head" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">1. HTML <link> tags in <head></a><a href="#2-http-link-headers" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">2. HTTP Link headers</a><a href="#3-xml-sitemap-xhtml-link-entries" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">3. XML sitemap <xhtml:link> entries</a><a href="#step-by-step-a-hreflang-implementation-that-ai-engines-respect" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Step-by-step: a hreflang implementation that AI engines respect</a><a href="#step-1-define-the-locale-matrix" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Step 1 — Define the locale matrix</a><a href="#step-2-generate-self-referential-canonicals" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Step 2 — Generate self-referential canonicals</a><a href="#step-3-emit-a-complete-cluster-on-every-page" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Step 3 — Emit a complete cluster on every page</a><a href="#step-4-translate-the-metadata-not-just-the-body" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Step 4 — Translate the metadata, not just the body</a><a href="#step-5-reinforce-language-identity-inside-the-content" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Step 5 — Reinforce language identity inside the content</a><a href="#step-6-validate-with-three-independent-tools" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Step 6 — Validate with three independent tools</a><a href="#step-7-monitor-ai-citation-language-drift" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Step 7 — Monitor AI citation language drift</a><a href="#common-hreflang-failures-and-how-ai-engines-penalize-them" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Common hreflang failures (and how AI engines penalize them)</a><a href="#beyond-hreflang-signals-that-win-citations-on-perplexity-and-chatgpt" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Beyond hreflang: signals that win citations on Perplexity and ChatGPT</a><a href="#hreflang-and-llms-txt-complementary-not-competing" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Hreflang and llms.txt: complementary, not competing</a><a href="#quick-reference-checklist" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Quick reference checklist</a><a href="#faq" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">FAQ</a><a href="#q-do-ai-search-engines-use-hreflang-the-same-way-google-does" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: Do AI search engines use hreflang the same way Google does?</a><a href="#q-is-x-default-required-for-ai-citation-optimization" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: Is x-default required for AI citation optimization?</a><a href="#q-can-i-use-hreflang-on-a-single-language-site-to-target-multiple-regions" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: Can I use hreflang on a single-language site to target multiple regions?</a><a href="#q-how-long-does-it-take-for-ai-engines-to-reflect-hreflang-changes" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: How long does it take for AI engines to reflect hreflang changes?</a><a href="#q-should-the-canonical-tag-point-to-the-default-language-version" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: Should the canonical tag point to the default language version?</a></nav></div></div><style> @media (max-width: 1024px) { .toc-sidebar { display: none !important; } } @media (min-width: 1025px) { article { /* override grid for 3-col with TOC */ } } .article-tag-link:hover { border-color: var(--color-dark-green) !important; color: var(--text-primary) !important; background: rgba(0, 237, 100, 0.06) !important; } </style></main><section style="padding:64px 24px;background:var(--bg-surface);border-top:1px solid var(--border-subtle)"><div style="max-width:520px;margin:0 auto;text-align:center"><div style="font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-dark-green);margin-bottom:12px">Stay Updated</div><h2 style="font-family:var(--font-display);font-size:clamp(1.25rem, 3vw, 1.75rem);font-weight:400;color:var(--text-heading);margin-bottom:8px;line-height:1.3">GEO & AI Search Insights</h2><p style="font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:24px">New articles, framework updates, and industry analysis. No spam, unsubscribe anytime.</p><form style="display:flex;flex-wrap:wrap;gap:8px;max-width:420px;margin:0 auto"><input type="email" placeholder="your@email.com" required="" style="flex:1;min-width:200px;padding:12px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:14px;outline:none;transition:border-color 0.2s ease" value=""/><button type="submit" class="btn btn-primary" style="padding:12px 24px;font-size:14px;opacity:1">Subscribe</button></form></div></section><footer style="background:var(--color-forest-black);border-top:1px solid var(--color-teal-gray);padding:64px 24px 32px"><div style="max-width:1200px;margin:0 auto"><div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:48px;margin-bottom:48px"><div><div style="margin-bottom:16px"><img alt="Geodocs.dev" loading="lazy" width="140" height="32" decoding="async" data-nimg="1" style="color:transparent;height:24px;width:auto" src="/geodocs-logo-dark.svg"/></div><p style="font-size:13px;color:var(--color-cool-gray);line-height:1.6;max-width:220px">Structured knowledge for AI search visibility. The canonical reference for GEO, AEO, and AI search optimization.</p></div><div><h4 style="font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-mongodb-green);margin-bottom:16px">Learn</h4><ul style="list-style:none;display:flex;flex-direction:column;gap:10px"><li><a class="footer-link" href="/geo/what-is-geo">What Is GEO?</a></li><li><a class="footer-link" href="/aeo/what-is-aeo">What Is AEO?</a></li><li><a class="footer-link" href="/geo/geo-vs-seo">GEO vs SEO</a></li><li><a class="footer-link" href="/reference/geo-aeo-glossary">GEO Glossary</a></li></ul></div><div><h4 style="font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-mongodb-green);margin-bottom:16px">Build</h4><ul style="list-style:none;display:flex;flex-direction:column;gap:10px"><li><a class="footer-link" href="/technical/llms-txt">llms.txt Reference</a></li><li><a class="footer-link" href="/technical/how-to-create-llms-txt">Create llms.txt</a></li><li><a class="footer-link" href="/technical/structured-data-for-ai-search">Structured Data</a></li><li><a class="footer-link" href="/technical/ai-txt">ai.txt Reference</a></li></ul></div><div><h4 style="font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-mongodb-green);margin-bottom:16px">Strategy</h4><ul style="list-style:none;display:flex;flex-direction:column;gap:10px"><li><a class="footer-link" href="/strategy/ai-visibility-measurement">AI Visibility</a></li><li><a class="footer-link" href="/strategy/geo-content-strategy">Content Strategy</a></li><li><a class="footer-link" href="/strategy/geo-roi-framework">GEO ROI</a></li><li><a class="footer-link" href="/aeo/aeo-content-checklist">AEO Checklist</a></li></ul></div><div><h4 style="font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-mongodb-green);margin-bottom:16px">Resources</h4><ul style="list-style:none;display:flex;flex-direction:column;gap:10px"><li><a class="footer-link" href="https://github.com/Geodocs-dev">GitHub</a></li><li><a class="footer-link" href="/contact">Contact</a></li><li><a class="footer-link" href="/tags">Tags</a></li><li><a class="footer-link" href="/sitemap.xml">Sitemap</a></li><li><a class="footer-link" href="/llms.txt">llms.txt</a></li><li><a class="footer-link" href="/ai.txt">ai.txt</a></li></ul></div></div><div style="border-top:1px solid var(--color-teal-gray);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px"><p style="font-size:12px;color:var(--color-cool-gray)">© <!-- -->2026<!-- --> Geodocs.dev. <!-- -->All rights reserved.</p><p style="font-size:12px;color:var(--color-cool-gray)"><a href="mailto:contact@geodocs.dev" class="footer-link">contact@geodocs.dev</a> · <!-- -->Built for humans and AI agents.</p></div></div><style> .footer-link { font-size: 13px; color: var(--color-silver-teal); text-decoration: none; transition: color 0.2s ease; } .footer-link:hover { color: var(--color-white); } </style></footer><!--$--><!--/$--><script> (function(){ var s=document.createElement('script'); s.src='https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js'; s.defer=true; s.onload=function(){ var isDark=document.documentElement.getAttribute('data-theme')==='dark'; mermaid.initialize({startOnLoad:true,theme:isDark?'dark':'default',securityLevel:'loose'}); mermaid.run(); }; document.head.appendChild(s); })(); </script><script src="/_next/static/chunks/0_k5kz-r4593u.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[86402,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"GTMNoScript\"]\n3:I[59919,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"ThemeProvider\"]\n4:\"$Sreact.suspense\"\n5:I[86402,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"PostHogPageView\"]\n6:I[39756,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"default\"]\n7:I[37457,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"default\"]\n9:I[35264,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"AlgoliaSearchDialog\"]\na:I[56414,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"GeolifyAIDialog\"]\nb:I[86402,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"Analytics\"]\nd:I[97367,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"OutletBoundary\"]\n10:I[97367,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"ViewportBoundary\"]\n12:I[97367,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"MetadataBoundary\"]\n14:I[63491,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0z~59b-n8nq5n.js\"],\"default\"]\n:HL[\"/_next/static/chunks/0hbz95bqplbsv.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=DM+Serif+Text\u0026family=Plus+Jakarta+Sans:wght@300;400;500;600;700\u0026family=Source+Code+Pro:wght@400;500;600\u0026display=swap\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"technical\",\"hreflang-for-ai-search\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"technical\",{\"children\":[[\"slug\",\"hreflang-for-ai-search\",\"d\",null],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0hbz95bqplbsv.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0ld4q8u-25eux.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0xf6s51ok42m_.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/148t.fhegq9f1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/05cra..ka3fzk.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem('geodocs-theme');if(t==='dark'){document.documentElement.setAttribute('data-theme','dark')}else{document.documentElement.setAttribute('data-theme','light')}}catch(e){}})()\"}}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=DM+Serif+Text\u0026family=Plus+Jakarta+Sans:wght@300;400;500;600;700\u0026family=Source+Code+Pro:wght@400;500;600\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$4\",null,{\"fallback\":null,\"children\":[\"$\",\"$L5\",null,{}]}],[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L8\",[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L9\",null,{}],[\"$\",\"$La\",null,{}]]}],[\"$\",\"$Lb\",null,{}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n(function(){\\n var s=document.createElement('script');\\n s.src='https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js';\\n s.defer=true;\\n s.onload=function(){\\n var isDark=document.documentElement.getAttribute('data-theme')==='dark';\\n mermaid.initialize({startOnLoad:true,theme:isDark?'dark':'default',securityLevel:'loose'});\\n mermaid.run();\\n };\\n document.head.appendChild(s);\\n})();\\n\"}}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$Lc\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0immojv~8w4~6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}],{},null,false,null]},null,false,\"$@f\"]},null,false,\"$@f\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0hbz95bqplbsv.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"NIAK0ez3QwYT5WEUUjWPI\"}\n"])</script><script>self.__next_f.push([1,"15:[]\nf:\"$W15\"\n"])</script><script>self.__next_f.push([1,"16:I[2971,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"Header\"]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"$L16\",null,{\"lang\":\"en\",\"dict\":{\"nav\":{\"startHere\":\"Start Here\",\"geo\":\"GEO\",\"aeo\":\"AEO\",\"technical\":\"Technical\",\"strategy\":\"Strategy\",\"reference\":\"Reference\",\"tools\":\"Tools\",\"search\":\"Search docs...\",\"askGeolifyAI\":\"Ask GeolifyAI\",\"beta\":\"Beta\"},\"home\":{\"tagline\":\"The Canonical Knowledge System\",\"headline\":\"Structured knowledge for\",\"headlineHighlight\":\"AI search visibility\",\"subtitle\":\"GEO, AEO, and AI search optimization — defined, structured, and operationalized. Built for SEO professionals, developers, content teams, and AI agents.\",\"ctaPrimary\":\"Start with GEO\",\"ctaSecondary\":\"Read llms.txt spec\",\"trustSignals\":{\"answerFirst\":\"Answer-first content\",\"aiCitable\":\"AI-citable definitions\",\"machineReadable\":\"Machine-readable specs\",\"openFree\":\"Open \u0026 free\"},\"essentialReading\":\"Essential Reading\",\"geoPlaybooks\":\"GEO Playbooks\",\"playbooksSubtitle\":\"Canonical definitions, comparisons, and implementation guides. Start here to build your GEO foundation.\",\"readArticle\":\"Read article\",\"operatorsToolkit\":\"Operator's Toolkit\",\"technicalStandards\":\"Technical Standards for AI Search\",\"technicalSubtitle\":\"Implementation specs, file standards, and measurement frameworks. Everything you need to make your content AI-ready.\",\"knowledgeMap\":\"Knowledge Map\",\"browseBySection\":\"Browse by Section\",\"browseSubtitle\":\"Every concept has one canonical page. Explore the knowledge graph organized by domain.\",\"aiNativeDoc\":\"AI-Native Documentation\",\"builtForHumans\":\"Built for humans.\",\"readableByAI\":\"Readable by AI.\",\"aiNativeSubtitle\":\"Every page on geodocs.dev includes AI summary blocks, structured frontmatter, and machine-readable specs. Our content is designed to be cited by AI systems worldwide.\",\"aiContentSpec\":\"AI Content Spec\",\"viewLlmsTxt\":\"View llms.txt\"},\"sections\":{\"geo\":{\"title\":\"GEO - Generative Engine Optimization\",\"description\":\"Guides, definitions, and frameworks for optimizing content visibility in AI-generated answers.\"},\"aeo\":{\"title\":\"AEO - Answer Engine Optimization\",\"description\":\"How to structure content so AI systems can extract and cite direct answers.\"},\"technical\":{\"title\":\"Technical Implementation\",\"description\":\"llms.txt, ai.txt, structured data, and other technical specs for AI search readiness.\"},\"strategy\":{\"title\":\"Strategy \u0026 Frameworks\",\"description\":\"Business frameworks for AI search visibility — ROI, measurement, and content planning.\"},\"reference\":{\"title\":\"Reference\",\"description\":\"Glossary, cheatsheets, and canonical definitions for GEO/AEO terminology.\"},\"tools\":{\"title\":\"Tools \u0026 Platforms\",\"description\":\"Evaluations, comparisons, and stack recommendations for AI search optimization tools.\"},\"case-studies\":{\"title\":\"Case Studies\",\"description\":\"Evidence-based examples with real data — before/after results and industry applications.\"},\"ai-agents\":{\"title\":\"AI Agents\",\"description\":\"Machine-readable specs and documentation designed specifically for AI parsers and bots.\"}},\"article\":{\"minRead\":\"{min} min read\",\"words\":\"{count} words\",\"updated\":\"Updated {date}\",\"relatedArticles\":\"Related Articles\",\"onThisPage\":\"On this page\",\"topics\":\"Topics\",\"copy\":\"Copy\",\"copied\":\"Copied!\"},\"tags\":{\"browseByTopic\":\"Browse by Topic\",\"exploreTopics\":\"Explore {count} topics across all GEO, AEO, and AI search optimization articles.\",\"articlesTaggedWith\":\"{count} article tagged with \\\"{tag}\\\"|{count} articles tagged with \\\"{tag}\\\"\"},\"newsletter\":{\"stayUpdated\":\"Stay Updated\",\"title\":\"GEO \u0026 AI Search Insights\",\"description\":\"New articles, framework updates, and industry analysis. No spam, unsubscribe anytime.\",\"placeholder\":\"your@email.com\",\"subscribe\":\"Subscribe\",\"success\":\"You're subscribed! We'll keep you updated.\",\"error\":\"Something went wrong. Please try again.\"},\"footer\":{\"learn\":\"Learn\",\"build\":\"Build\",\"strategy\":\"Strategy\",\"resources\":\"Resources\",\"description\":\"Structured knowledge for AI search visibility. The canonical reference for GEO, AEO, and AI search optimization.\",\"allRightsReserved\":\"All rights reserved.\",\"builtForHumansAndAI\":\"Built for humans and AI agents.\"},\"common\":{\"articles\":\"articles\",\"article\":\"article\",\"page\":\"Page {current} of {total}\",\"noArticles\":\"No published articles in this section yet.\",\"checkBackSoon\":\"Content is being actively developed. Check back soon.\",\"loadingArticles\":\"Loading articles…\",\"prev\":\"← Prev\",\"next\":\"Next →\",\"goHome\":\"Go home\",\"startWithGEO\":\"Start with GEO\"},\"notFound\":{\"label\":\"404 - Page Not Found\",\"title\":\"This page doesn't exist yet.\",\"description\":\"The content you're looking for may be in development. Geodocs.dev is actively building the canonical knowledge base for GEO and AEO.\"},\"error\":{\"title\":\"Something went wrong\",\"description\":\"An unexpected error occurred. Our team has been notified.\",\"tryAgain\":\"Try Again\"},\"contact\":{\"getInTouch\":\"Get In Touch\",\"contactUs\":\"Contact Us\",\"heroDescription\":\"Have a question about GEO, AEO, or AI search optimization? Want to collaborate or contribute? We'd love to hear from you.\",\"name\":\"Name\",\"email\":\"Email\",\"subject\":\"Subject\",\"subjectPlaceholder\":\"What is this about?\",\"namePlaceholder\":\"Your name\",\"message\":\"Message\",\"messagePlaceholder\":\"Tell us more...\",\"sendMessage\":\"Send Message\",\"sending\":\"Sending...\",\"messageSent\":\"Message sent!\",\"thankYou\":\"Thank you for reaching out. We'll get back to you within 1-2 business days.\",\"sendAnother\":\"Send another message\",\"emailDirectly\":\"Or email us directly at\",\"validationName\":\"Please enter your name.\",\"validationEmail\":\"Please enter a valid email address.\",\"validationMessage\":\"Please enter a message (at least 10 characters).\",\"networkError\":\"Network error. Please try again.\",\"genericError\":\"Something went wrong. Please try again.\"},\"languagePicker\":{\"label\":\"Language\"}}}],\"$L17\",\"$L18\"]\n"])</script><script>self.__next_f.push([1,"19:I[22016,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"\"]\n1a:I[5500,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"Image\"]\n17:[\"$\",\"main\",null,{\"style\":{\"minHeight\":\"60vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"textAlign\":\"center\",\"padding\":\"80px 24px\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":3,\"color\":\"var(--color-cool-gray)\",\"marginBottom\":16},\"children\":\"404 - Page Not Found\"}],[\"$\",\"h1\",null,{\"style\":{\"fontFamily\":\"var(--font-display)\",\"fontSize\":\"clamp(2rem, 4vw, 3rem)\",\"fontWeight\":400,\"color\":\"var(--color-forest-black)\",\"marginBottom\":16},\"children\":\"This page doesn't exist yet.\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":16,\"color\":\"var(--color-cool-gray)\",\"lineHeight\":1.7,\"maxWidth\":480,\"margin\":\"0 auto 32px\"},\"children\":\"The content you're looking for may be in development. Geodocs.dev is actively building the canonical knowledge base for GEO and AEO.\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"flex\",\"justifyContent\":\"center\",\"gap\":12},\"children\":[[\"$\",\"$L19\",null,{\"href\":\"/\",\"className\":\"btn btn-primary\",\"children\":\"Go home\"}],[\"$\",\"$L19\",null,{\"href\":\"/geo/what-is-geo\",\"className\":\"btn btn-outline\",\"children\":\"Start with GEO\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"18:[\"$\",\"footer\",null,{\"style\":{\"background\":\"var(--color-forest-black)\",\"borderTop\":\"1px solid var(--color-teal-gray)\",\"padding\":\"64px 24px 32px\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"maxWidth\":1200,\"margin\":\"0 auto\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"display\":\"grid\",\"gridTemplateColumns\":\"repeat(auto-fit, minmax(180px, 1fr))\",\"gap\":48,\"marginBottom\":48},\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"style\":{\"marginBottom\":16},\"children\":[\"$\",\"$L1a\",null,{\"src\":\"/geodocs-logo-dark.svg\",\"alt\":\"Geodocs.dev\",\"width\":140,\"height\":32,\"style\":{\"height\":24,\"width\":\"auto\"}}]}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--color-cool-gray)\",\"lineHeight\":1.6,\"maxWidth\":220},\"children\":\"Structured knowledge for AI search visibility. The canonical reference for GEO, AEO, and AI search optimization.\"}]]}],[[\"$\",\"div\",\"Learn\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Learn\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/geo/what-is-geo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/geo/what-is-geo\",\"className\":\"footer-link\",\"children\":\"What Is GEO?\"}]}],[\"$\",\"li\",\"/aeo/what-is-aeo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/aeo/what-is-aeo\",\"className\":\"footer-link\",\"children\":\"What Is AEO?\"}]}],[\"$\",\"li\",\"/geo/geo-vs-seo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/geo/geo-vs-seo\",\"className\":\"footer-link\",\"children\":\"GEO vs SEO\"}]}],[\"$\",\"li\",\"/reference/geo-aeo-glossary\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/reference/geo-aeo-glossary\",\"className\":\"footer-link\",\"children\":\"GEO Glossary\"}]}]]}]]}],[\"$\",\"div\",\"Build\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Build\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/technical/llms-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/llms-txt\",\"className\":\"footer-link\",\"children\":\"llms.txt Reference\"}]}],[\"$\",\"li\",\"/technical/how-to-create-llms-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/how-to-create-llms-txt\",\"className\":\"footer-link\",\"children\":\"Create llms.txt\"}]}],[\"$\",\"li\",\"/technical/structured-data-for-ai-search\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/structured-data-for-ai-search\",\"className\":\"footer-link\",\"children\":\"Structured Data\"}]}],[\"$\",\"li\",\"/technical/ai-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/ai-txt\",\"className\":\"footer-link\",\"children\":\"ai.txt Reference\"}]}]]}]]}],[\"$\",\"div\",\"Strategy\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Strategy\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/strategy/ai-visibility-measurement\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/ai-visibility-measurement\",\"className\":\"footer-link\",\"children\":\"AI Visibility\"}]}],[\"$\",\"li\",\"/strategy/geo-content-strategy\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/geo-content-strategy\",\"className\":\"footer-link\",\"children\":\"Content Strategy\"}]}],[\"$\",\"li\",\"/strategy/geo-roi-framework\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/geo-roi-framework\",\"className\":\"footer-link\",\"children\":\"GEO ROI\"}]}],[\"$\",\"li\",\"/aeo/aeo-content-checklist\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/aeo/aeo-content-checklist\",\"className\":\"footer-link\",\"children\":\"AEO Checklist\"}]}]]}]]}],[\"$\",\"div\",\"Resources\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Resources\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"https://github.com/Geodocs-dev\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"https://github.com/Geodocs-dev\",\"className\":\"footer-link\",\"children\":\"GitHub\"}]}],[\"$\",\"li\",\"/contact\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/contact\",\"className\":\"footer-link\",\"children\":\"Contact\"}]}],[\"$\",\"li\",\"/tags\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/tags\",\"className\":\"footer-link\",\"children\":\"Tags\"}]}],[\"$\",\"li\",\"/sitemap.xml\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/sitemap.xml\",\"className\":\"footer-link\",\"children\":\"Sitemap\"}]}],\"$L1b\",\"$L1c\"]}]]}]]]}],\"$L1d\"]}],\"$L1e\"]}]\n"])</script><script>self.__next_f.push([1,"1b:[\"$\",\"li\",\"/llms.txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/llms.txt\",\"className\":\"footer-link\",\"children\":\"llms.txt\"}]}]\n1c:[\"$\",\"li\",\"/ai.txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/ai.txt\",\"className\":\"footer-link\",\"children\":\"ai.txt\"}]}]\n1d:[\"$\",\"div\",null,{\"style\":{\"borderTop\":\"1px solid var(--color-teal-gray)\",\"paddingTop\":24,\"display\":\"flex\",\"justifyContent\":\"space-between\",\"alignItems\":\"center\",\"flexWrap\":\"wrap\",\"gap\":16},\"children\":[[\"$\",\"p\",null,{\"style\":{\"fontSize\":12,\"color\":\"var(--color-cool-gray)\"},\"children\":[\"© \",2026,\" Geodocs.dev. \",\"All rights reserved.\"]}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":12,\"color\":\"var(--color-cool-gray)\"},\"children\":[[\"$\",\"a\",null,{\"href\":\"mailto:contact@geodocs.dev\",\"className\":\"footer-link\",\"children\":\"contact@geodocs.dev\"}],\" · \",\"Built for humans and AI agents.\"]}]]}]\n1e:[\"$\",\"style\",null,{\"children\":\"\\n .footer-link {\\n font-size: 13px;\\n color: var(--color-silver-teal);\\n text-decoration: none;\\n transition: color 0.2s ease;\\n }\\n .footer-link:hover {\\n color: var(--color-white);\\n }\\n \"}]\n"])</script><script>self.__next_f.push([1,"1f:I[43937,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"ArticleTracker\"]\n20:T4d5,{\"@context\":\"https://schema.org\",\"@type\":\"TechArticle\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://geodocs.dev/technical/hreflang-for-ai-search\"},\"headline\":\"Hreflang for AI Search: Multilingual Citation Optimization Guide\",\"description\":\"Hreflang for AI search ensures generative engines like ChatGPT, Perplexity, and Gemini cite the right language and regional version of your content.\",\"image\":\"https://geodocs.dev/geodocs-logo-dark.png\",\"url\":\"https://geodocs.dev/technical/hreflang-for-ai-search\",\"author\":{\"@type\":\"Person\",\"name\":\"Geodocs Research Team\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Geodocs.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://geodocs.dev/geodocs-logo-dark.png\"}},\"datePublished\":\"2026-04-28\",\"dateModified\":\"2026-04-28\",\"keywords\":\"hreflang for AI search, multilingual AI citation, hreflang ChatGPT, international generative engine optimization, x-default AI search, hreflang AI Overviews\",\"about\":[{\"@type\":\"Thing\",\"name\":\"hreflang\"},{\"@type\":\"Thing\",\"name\":\"ChatGPT\"},{\"@type\":\"Thing\",\"name\":\"Perplexity\"},{\"@type\":\"Thing\",\"name\":\"Gemini\"},{\"@type\":\"Thing\",\"name\":\"Copilot\"},{\"@type\":\"Thing\",\"name\":\"Claude\"},{\"@type\":\"Thing\",\"name\":\"Google AI Overviews\"},{\"@type\":\"Thing\",\"name\":\"Bing\"}]}21:T768,"])</script><script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Do AI search engines use hreflang the same way Google does?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. Google AI Overviews, Gemini, and Copilot largely respect hreflang because they inherit Google and Bing's localized indexes. Perplexity, ChatGPT, and Claude rely on retrieval-time language matching and often ignore the tag, surfacing the wrong language even with a correct cluster.\"}},{\"@type\":\"Question\",\"name\":\"Is x-default required for AI citation optimization?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, in practice. x-default tells engines which URL to surface when no specific language matches. Without it, generative engines tend to default to your strongest English page, hurting non-English citation share.\"}},{\"@type\":\"Question\",\"name\":\"Can I use hreflang on a single-language site to target multiple regions?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. hreflang=\\\"en-US\\\", hreflang=\\\"en-GB\\\", and hreflang=\\\"en-AU\\\" are valid for separating English-language pages by region. Each must self-reference and return-link.\"}},{\"@type\":\"Question\",\"name\":\"How long does it take for AI engines to reflect hreflang changes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Google-family surfaces (AI Overviews, Gemini) typically reflect changes within 2-6 weeks. Bing-backed surfaces (Copilot, ChatGPT Search) lag 4-8 weeks. Perplexity and Claude do not reflect hreflang at all; for them you must change the in-content language signals.\"}},{\"@type\":\"Question\",\"name\":\"Should the canonical tag point to the default language version?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. Each translated page must canonicalize to itself. Pointing all canonicals at the default-language version collapses the cluster and is one of the most common reasons AI engines cite only the English page.\"}}]}"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"$L16\",null,{\"lang\":\"en\",\"dict\":\"$8:0:props:dict\"}],[[\"$\",\"main\",null,{\"style\":{\"minHeight\":\"70vh\"},\"children\":[[\"$\",\"$L1f\",null,{\"meta\":{\"slug\":\"hreflang-for-ai-search\",\"section\":\"technical\",\"content_type\":\"guide\",\"difficulty\":\"advanced\",\"primary_audience\":\"technical-seo\",\"secondary_audiences\":[\"international-marketing\",\"content-engineering\",\"localization-ops\"],\"word_count\":1484,\"reading_time_min\":8,\"has_code_snippet\":false,\"has_table\":false,\"citation_readiness\":\"reviewed\",\"series\":\"international-geo\",\"series_order\":1}}],[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$20\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Home\\\",\\\"item\\\":\\\"https://geodocs.dev\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"TECHNICAL\\\",\\\"item\\\":\\\"https://geodocs.dev/technical\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"Hreflang for AI Search: Multilingual Citation Optimization Guide\\\",\\\"item\\\":\\\"https://geodocs.dev/technical/hreflang-for-ai-search\\\"}]}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$21\"}}],\"$L22\",\"$L23\"]]}],\"$L24\"],\"$L25\"]\n"])</script><script>self.__next_f.push([1,"26:I[23150,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"ShareButtons\"]\n27:I[47654,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"ExploreWithAI\"]\n2b:I[11181,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"Newsletter\"]\n28:T338f,"])</script><script>self.__next_f.push([1,"\u003cdiv class=\"ai-summary\"\u003e\u003cp\u003eHreflang remains a high-leverage signal for the AI engines that inherit Google and Bing indexes (AI Overviews, Gemini, Copilot), but is largely ignored by retrieval-first engines (ChatGPT, Perplexity, Claude). To win multilingual AI citations, ship technically correct hreflang plus per-language entity grounding, in-language headings, and self-referential canonicals.\u003c/p\u003e\u003c/div\u003e\n\u003ch2 id=\"tl-dr\"\u003eTL;DR\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAI Overviews, Gemini, and Copilot honor hreflang because they pull from Google and Bing's localized indexes.\u003c/li\u003e\n\u003cli\u003eChatGPT, Perplexity, and Claude rely on retrieval-time language matching and frequently surface the wrong-language URL even when hreflang is correct.\u003c/li\u003e\n\u003cli\u003eThe winning play in 2026 is belt-and-suspenders: ship valid hreflang clusters and engineer each language version to be self-evidently localized to a generative engine that ignores the tag.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"why-hreflang-still-matters-in-the-ai-search-era\"\u003eWhy hreflang still matters in the AI search era\u003c/h2\u003e\n\u003cp\u003eMore than half of all Google searches now happen in non-English languages, and AI Overviews are rolling out in 100+ markets. When a generative engine answers a query in Spanish, Japanese, or German, it must choose one URL to cite even if you have ten translated versions. Hreflang is the only standardized signal that tells search engines, \"these pages are alternates of each other; pick the one that matches the user's language and region.\"\u003c/p\u003e\n\u003cp\u003eIndependent crawl studies report that 65-75% of international websites have hreflang errors — missing return links, mismatched canonicals, invalid language codes — fragmenting their international rankings before AI engines ever pick a citation.\u003c/p\u003e\n\u003ch2 id=\"how-each-ai-engine-handles-hreflang-in-2026\"\u003eHow each AI engine handles hreflang in 2026\u003c/h2\u003e\n\u003cp\u003eCommunity testing (notably the 2025-2026 GSQI multilingual probes) shows three distinct behavior tiers:\u003c/p\u003e\n\u003cp\u003e\u003ctable fit-page-width=\"true\" header-row=\"true\"\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003ctr\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eEngine\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eHreflang Honored?\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eWhy\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003c/tr\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003ctr\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eGoogle AI Overviews / AI Mode\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eMostly yes\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eInherits Google index; localized retrieval pipeline.\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003c/tr\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003ctr\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eGemini\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eYes\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eSame Google retrieval substrate.\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003c/tr\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003ctr\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eMicrosoft Copilot\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eYes\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eInherits Bing index, which honors hreflang.\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003c/tr\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003ctr\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eChatGPT (Search)\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eInconsistent\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eBing-backed retrieval but post-hoc language re-ranking; often surfaces English even on non-English prompts.\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003c/tr\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003ctr\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003ePerplexity\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eLargely no\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eRetrieval-first agent that scores by content semantics, not hreflang clusters.\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003c/tr\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003ctr\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eClaude\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eNo\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\t\u003ctd\u003eNo native search; relies on tool-provided URLs that already lost hreflang context.\u003c/td\u003e\u003c/p\u003e\n\u003cp\u003e\t\u003c/tr\u003e\u003c/p\u003e\n\u003cp\u003e\u003c/table\u003e\u003c/p\u003e\n\u003cp\u003eImplication: Optimizing only for hreflang covers Google-family AI surfaces but leaves you blind on Perplexity and ChatGPT. You need both the tag and in-content language signals.\u003c/p\u003e\n\u003ch2 id=\"hreflang-anatomy-a-60-second-refresher\"\u003eHreflang anatomy: a 60-second refresher\u003c/h2\u003e\n\u003cp\u003eA valid hreflang cluster has three parts on every page in the set:\u003c/p\u003e\n\u003cdiv class=\"code-block-wrapper\" style=\"position:relative\"\u003e\u003cbutton data-copy-snippet=\"true\" data-snippet-id=\"snippet-0\" data-snippet-lang=\"html\" class=\"copy-btn\" title=\"Copy code\" style=\"position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:4px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);cursor:pointer;opacity:0.7;transition:opacity 0.2s;z-index:1\" onclick=\"navigator.clipboard.writeText(this.parentElement.querySelector('code').textContent);this.textContent='Copied!';setTimeout(()=\u003ethis.textContent='Copy',1500)\"\u003eCopy\u003c/button\u003e\u003cpre\u003e\u003ccode class=\"language-html\"\u003e\u0026lt;link rel=\"alternate\" hreflang=\"en-US\" href=\"https://example.com/us/page\" /\u0026gt;\n\u0026lt;link rel=\"alternate\" hreflang=\"en-GB\" href=\"https://example.com/uk/page\" /\u0026gt;\n\u0026lt;link rel=\"alternate\" hreflang=\"de-DE\" href=\"https://example.com/de/page\" /\u0026gt;\n\u0026lt;link rel=\"alternate\" hreflang=\"x-default\" href=\"https://example.com/page\" /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp\u003eThree non-negotiable rules:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eSelf-reference required. Every page lists itself in its own cluster.\u003c/li\u003e\n\u003cli\u003eBidirectional return links. If page A points to page B, page B must point back.\u003c/li\u003e\n\u003cli\u003eOne canonical per page — and the canonical must equal the URL itself, not the default-language version.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eLanguage codes are ISO 639-1 lowercase (en, fr); region codes are ISO 3166-1 Alpha-2 uppercase (US, DE); join with a hyphen, never an underscore. Always include x-default for the language picker or geolocation entry page.\u003c/p\u003e\n\u003ch2 id=\"three-implementation-methods-and-which-to-pick\"\u003eThree implementation methods (and which to pick)\u003c/h2\u003e\n\u003ch3 id=\"1-html-link-tags-in-head\"\u003e1. HTML \u003clink\u003e tags in \u003chead\u003e\u003c/h3\u003e\n\u003cp\u003eBest for: small/medium sites, marketing pages, JAMstack/static generators.\u003c/p\u003e\n\u003cp\u003eCaveat: must be in \u003chead\u003e, not \u003cbody\u003e. Many AI scrapers truncate at first \u003cbody\u003e content.\u003c/p\u003e\n\u003ch3 id=\"2-http-link-headers\"\u003e2. HTTP Link headers\u003c/h3\u003e\n\u003cp\u003eBest for: non-HTML resources (PDFs, JSON-LD endpoints) and edge-rendered sites.\u003c/p\u003e\n\u003cp\u003eCaveat: harder to debug; auditing tools often miss them.\u003c/p\u003e\n\u003ch3 id=\"3-xml-sitemap-xhtml-link-entries\"\u003e3. XML sitemap \u003cxhtml:link\u003e entries\u003c/h3\u003e\n\u003cp\u003eBest for: large e-commerce, news, and docs sites with thousands of multilingual URLs.\u003c/p\u003e\n\u003cp\u003eCaveat: only Google fully consumes it; Bing prefers in-page tags.\u003c/p\u003e\n\u003cp\u003ePick one method and use it consistently. Mixed implementations are the #1 cause of hreflang errors in international sites.\u003c/p\u003e\n\u003ch2 id=\"step-by-step-a-hreflang-implementation-that-ai-engines-respect\"\u003eStep-by-step: a hreflang implementation that AI engines respect\u003c/h2\u003e\n\u003ch3 id=\"step-1-define-the-locale-matrix\"\u003eStep 1 — Define the locale matrix\u003c/h3\u003e\n\u003cp\u003eList every (language, region) pair you publish. Resolve overlaps explicitly: do en-US and en-GB share a page or split? Will de-DE also serve Austria and Switzerland, or do you need de-AT and de-CH?\u003c/p\u003e\n\u003ch3 id=\"step-2-generate-self-referential-canonicals\"\u003eStep 2 — Generate self-referential canonicals\u003c/h3\u003e\n\u003cp\u003eEach localized URL must canonicalize to itself. A common bug: every translation pointing its canonical at the English original. This collapses the cluster and forces AI engines to cite only the English version.\u003c/p\u003e\n\u003ch3 id=\"step-3-emit-a-complete-cluster-on-every-page\"\u003eStep 3 — Emit a complete cluster on every page\u003c/h3\u003e\n\u003cp\u003eUse a build-time generator (Next.js i18n config, Hugo languages, Drupal i18n module, or a custom MDX plugin) so every page renders the full cluster, including itself and x-default. Partial clusters are silently downgraded by Google.\u003c/p\u003e\n\u003ch3 id=\"step-4-translate-the-metadata-not-just-the-body\"\u003eStep 4 — Translate the metadata, not just the body\u003c/h3\u003e\n\u003cp\u003eLocalize \u003ctitle\u003e, meta description, OpenGraph fields, and JSON-LD inLanguage. Engines that ignore hreflang (Perplexity, Claude) use these in-document signals to decide language match at retrieval time.\u003c/p\u003e\n\u003ch3 id=\"step-5-reinforce-language-identity-inside-the-content\"\u003eStep 5 — Reinforce language identity inside the content\u003c/h3\u003e\n\u003cp\u003eAdd lang=\"de\" on the \u003chtml\u003e element. Use native script (don't write Japanese articles in romaji). Place a localized hub link in the first 100 words; AI extractors weight early-page entities heavily.\u003c/p\u003e\n\u003ch3 id=\"step-6-validate-with-three-independent-tools\"\u003eStep 6 — Validate with three independent tools\u003c/h3\u003e\n\u003cp\u003eDon't trust a single audit. Cross-check with:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGoogle Search Console International Targeting report.\u003c/li\u003e\n\u003cli\u003eA crawler (Screaming Frog, Sitebulb, Lumar) configured to flag missing return links.\u003c/li\u003e\n\u003cli\u003eAn on-page validator that fetches all alternates and verifies HTTP 200 + matching canonical.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"step-7-monitor-ai-citation-language-drift\"\u003eStep 7 — Monitor AI citation language drift\u003c/h3\u003e\n\u003cp\u003eSet up monthly probes against the same prompt in each target locale: \"What is X?\" in Spanish, German, Japanese. Log which URL each engine cites and whether language matches. Drift over consecutive months is the leading indicator of a hreflang regression.\u003c/p\u003e\n\u003ch2 id=\"common-hreflang-failures-and-how-ai-engines-penalize-them\"\u003eCommon hreflang failures (and how AI engines penalize them)\u003c/h2\u003e\n\u003cdiv class=\"table-responsive\"\u003e\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth\u003eFailure\u003c/th\u003e\u003cth\u003eSymptom in AI engines\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003eMissing return link\u003c/td\u003e\u003ctd\u003eGoogle drops the alternate; AI Overviews cites the wrong version.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eMixed methods (HTML + sitemap conflict)\u003c/td\u003e\u003ctd\u003eIndexing fragmented; AI cites a stale URL.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eCountry code in language slot (hreflang=\"UK\")\u003c/td\u003e\u003ctd\u003eCluster invalidated entirely.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eUnderscore separator (en_US)\u003c/td\u003e\u003ctd\u003eTag ignored.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eCanonical points to default language\u003c/td\u003e\u003ctd\u003eAll translations collapse into one citable URL.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eNon-200 alternates\u003c/td\u003e\u003ctd\u003eEngines flag the cluster as untrustworthy.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003ex-default missing\u003c/td\u003e\u003ctd\u003eGeolocation entry page not surfaced for global queries.\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/div\u003e\n\u003ch2 id=\"beyond-hreflang-signals-that-win-citations-on-perplexity-and-chatgpt\"\u003eBeyond hreflang: signals that win citations on Perplexity and ChatGPT\u003c/h2\u003e\n\u003cp\u003eBecause retrieval-first engines ignore hreflang, you need in-content language proof:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNative-language headings and TL;DR — extractors anchor on the first paragraph and \u003ch1\u003e/\u003ch2\u003e.\u003c/li\u003e\n\u003cli\u003eRegion-specific entities — local currencies, regulators, public holidays, statistical bodies.\u003c/li\u003e\n\u003cli\u003eIn-language citations — link to authoritative sources in the same language; Perplexity's source-confidence model uses this.\u003c/li\u003e\n\u003cli\u003eSchema.org inLanguage on Article, FAQPage, and HowTo nodes.\u003c/li\u003e\n\u003cli\u003eOne concept per URL per language. Do not stack ?lang=de on top of /en/; AI engines cannot reliably parse query-string locales.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"hreflang-and-llms-txt-complementary-not-competing\"\u003eHreflang and llms.txt: complementary, not competing\u003c/h2\u003e\n\u003cp\u003ellms.txt advertises canonical content paths to AI crawlers. Pair them: list each language's hub in llms.txt, link out to the per-locale articles, and ensure those articles carry valid hreflang clusters. Together, they give you discovery (llms.txt) plus retrieval routing (hreflang).\u003c/p\u003e\n\u003ch2 id=\"quick-reference-checklist\"\u003eQuick reference checklist\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ ] Locale matrix documented with explicit fallbacks\u003c/li\u003e\n\u003cli\u003e[ ] Self-referential canonical on every page\u003c/li\u003e\n\u003cli\u003e[ ] Full hreflang cluster (incl. x-default) on every page\u003c/li\u003e\n\u003cli\u003e[ ] One implementation method, used consistently\u003c/li\u003e\n\u003cli\u003e[ ] \u003chtml lang=\"…\"\u003e and inLanguage schema present\u003c/li\u003e\n\u003cli\u003e[ ] Localized \u003ctitle\u003e, meta, OG, and first-100-words content\u003c/li\u003e\n\u003cli\u003e[ ] Crawler-validated return links\u003c/li\u003e\n\u003cli\u003e[ ] Monthly multi-engine citation probe in place\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"faq\"\u003eFAQ\u003c/h2\u003e\n\u003ch3 id=\"q-do-ai-search-engines-use-hreflang-the-same-way-google-does\"\u003eQ: Do AI search engines use hreflang the same way Google does?\u003c/h3\u003e\n\u003cp\u003eNo. Google AI Overviews, Gemini, and Copilot largely respect hreflang because they inherit Google and Bing's localized indexes. Perplexity, ChatGPT, and Claude rely on retrieval-time language matching and often ignore the tag, surfacing the wrong language even with a correct cluster.\u003c/p\u003e\n\u003ch3 id=\"q-is-x-default-required-for-ai-citation-optimization\"\u003eQ: Is x-default required for AI citation optimization?\u003c/h3\u003e\n\u003cp\u003eYes, in practice. x-default tells engines which URL to surface when no specific language matches. Without it, generative engines tend to default to your strongest English page, hurting non-English citation share.\u003c/p\u003e\n\u003ch3 id=\"q-can-i-use-hreflang-on-a-single-language-site-to-target-multiple-regions\"\u003eQ: Can I use hreflang on a single-language site to target multiple regions?\u003c/h3\u003e\n\u003cp\u003eYes. hreflang=\"en-US\", hreflang=\"en-GB\", and hreflang=\"en-AU\" are valid for separating English-language pages by region. Each must self-reference and return-link.\u003c/p\u003e\n\u003ch3 id=\"q-how-long-does-it-take-for-ai-engines-to-reflect-hreflang-changes\"\u003eQ: How long does it take for AI engines to reflect hreflang changes?\u003c/h3\u003e\n\u003cp\u003eGoogle-family surfaces (AI Overviews, Gemini) typically reflect changes within 2-6 weeks. Bing-backed surfaces (Copilot, ChatGPT Search) lag 4-8 weeks. Perplexity and Claude do not reflect hreflang at all; for them you must change the in-content language signals.\u003c/p\u003e\n\u003ch3 id=\"q-should-the-canonical-tag-point-to-the-default-language-version\"\u003eQ: Should the canonical tag point to the default language version?\u003c/h3\u003e\n\u003cp\u003eNo. Each translated page must canonicalize to itself. Pointing all canonicals at the default-language version collapses the cluster and is one of the most common reasons AI engines cite only the English page.\u003c/p\u003e"])</script><script>self.__next_f.push([1,"22:[\"$\",\"div\",null,{\"style\":{\"display\":\"grid\",\"gridTemplateColumns\":\"1fr min(var(--content-max-width), 100%) 1fr\",\"gap\":0,\"maxWidth\":1200,\"margin\":\"0 auto\",\"padding\":\"48px 24px 80px\"},\"children\":[[\"$\",\"div\",null,{}],[\"$\",\"article\",null,{\"children\":[[\"$\",\"h1\",null,{\"style\":{\"fontFamily\":\"var(--font-display)\",\"fontSize\":\"clamp(1.75rem, 4vw, 2.5rem)\",\"fontWeight\":400,\"lineHeight\":1.2,\"color\":\"var(--text-heading)\",\"marginBottom\":16},\"children\":\"Hreflang for AI Search: Multilingual Citation Optimization Guide\"}],[\"$\",\"div\",null,{\"className\":\"metadata-bar\",\"style\":{\"marginBottom\":24},\"children\":[[\"$\",\"span\",null,{\"className\":\"metadata-bar__tag metadata-bar__tag--section\",\"children\":\"technical\"}],[\"$\",\"span\",null,{\"className\":\"metadata-bar__tag\",\"children\":\"guide\"}],[\"$\",\"span\",null,{\"className\":\"metadata-bar__tag\",\"children\":\"advanced\"}],[\"$\",\"span\",null,{\"className\":\"metadata-bar__dot\"}],[\"$\",\"span\",null,{\"children\":[8,\" min read\"]}],[\"$\",\"span\",null,{\"className\":\"metadata-bar__dot\"}],[\"$\",\"span\",null,{\"children\":[\"1,484\",\" words\"]}],[[\"$\",\"span\",null,{\"className\":\"metadata-bar__dot\"}],[\"$\",\"span\",null,{\"children\":[\"Updated\",\" \",\"Apr 2026\"]}]]]}],[\"$\",\"$L26\",null,{\"title\":\"Hreflang for AI Search: Multilingual Citation Optimization Guide\",\"url\":\"https://geodocs.dev/technical/hreflang-for-ai-search\"}],[\"$\",\"$L27\",null,{\"title\":\"Hreflang for AI Search: Multilingual Citation Optimization Guide\",\"url\":\"https://geodocs.dev/technical/hreflang-for-ai-search\",\"section\":\"technical\",\"slug\":\"hreflang-for-ai-search\"}],[\"$\",\"div\",null,{\"className\":\"prose\",\"dangerouslySetInnerHTML\":{\"__html\":\"$28\"}}],\"$L29\",false]}],\"$L2a\"]}]\n"])</script><script>self.__next_f.push([1,"23:[\"$\",\"style\",null,{\"children\":\"\\n @media (max-width: 1024px) {\\n .toc-sidebar { display: none !important; }\\n }\\n @media (min-width: 1025px) {\\n article {\\n /* override grid for 3-col with TOC */\\n }\\n }\\n .article-tag-link:hover {\\n border-color: var(--color-dark-green) !important;\\n color: var(--text-primary) !important;\\n background: rgba(0, 237, 100, 0.06) !important;\\n }\\n \"}]\n24:[\"$\",\"$L2b\",null,{\"dict\":\"$8:0:props:dict:newsletter\"}]\n"])</script><script>self.__next_f.push([1,"25:[\"$\",\"footer\",null,{\"style\":{\"background\":\"var(--color-forest-black)\",\"borderTop\":\"1px solid var(--color-teal-gray)\",\"padding\":\"64px 24px 32px\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"maxWidth\":1200,\"margin\":\"0 auto\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"display\":\"grid\",\"gridTemplateColumns\":\"repeat(auto-fit, minmax(180px, 1fr))\",\"gap\":48,\"marginBottom\":48},\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"style\":{\"marginBottom\":16},\"children\":[\"$\",\"$L1a\",null,{\"src\":\"/geodocs-logo-dark.svg\",\"alt\":\"Geodocs.dev\",\"width\":140,\"height\":32,\"style\":{\"height\":24,\"width\":\"auto\"}}]}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--color-cool-gray)\",\"lineHeight\":1.6,\"maxWidth\":220},\"children\":\"Structured knowledge for AI search visibility. The canonical reference for GEO, AEO, and AI search optimization.\"}]]}],[[\"$\",\"div\",\"Learn\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Learn\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/geo/what-is-geo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/geo/what-is-geo\",\"className\":\"footer-link\",\"children\":\"What Is GEO?\"}]}],[\"$\",\"li\",\"/aeo/what-is-aeo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/aeo/what-is-aeo\",\"className\":\"footer-link\",\"children\":\"What Is AEO?\"}]}],[\"$\",\"li\",\"/geo/geo-vs-seo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/geo/geo-vs-seo\",\"className\":\"footer-link\",\"children\":\"GEO vs SEO\"}]}],[\"$\",\"li\",\"/reference/geo-aeo-glossary\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/reference/geo-aeo-glossary\",\"className\":\"footer-link\",\"children\":\"GEO Glossary\"}]}]]}]]}],[\"$\",\"div\",\"Build\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Build\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/technical/llms-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/llms-txt\",\"className\":\"footer-link\",\"children\":\"llms.txt Reference\"}]}],[\"$\",\"li\",\"/technical/how-to-create-llms-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/how-to-create-llms-txt\",\"className\":\"footer-link\",\"children\":\"Create llms.txt\"}]}],[\"$\",\"li\",\"/technical/structured-data-for-ai-search\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/structured-data-for-ai-search\",\"className\":\"footer-link\",\"children\":\"Structured Data\"}]}],[\"$\",\"li\",\"/technical/ai-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/ai-txt\",\"className\":\"footer-link\",\"children\":\"ai.txt Reference\"}]}]]}]]}],[\"$\",\"div\",\"Strategy\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Strategy\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/strategy/ai-visibility-measurement\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/ai-visibility-measurement\",\"className\":\"footer-link\",\"children\":\"AI Visibility\"}]}],[\"$\",\"li\",\"/strategy/geo-content-strategy\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/geo-content-strategy\",\"className\":\"footer-link\",\"children\":\"Content Strategy\"}]}],[\"$\",\"li\",\"/strategy/geo-roi-framework\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/geo-roi-framework\",\"className\":\"footer-link\",\"children\":\"GEO ROI\"}]}],[\"$\",\"li\",\"/aeo/aeo-content-checklist\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/aeo/aeo-content-checklist\",\"className\":\"footer-link\",\"children\":\"AEO Checklist\"}]}]]}]]}],[\"$\",\"div\",\"Resources\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Resources\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"https://github.com/Geodocs-dev\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"https://github.com/Geodocs-dev\",\"className\":\"footer-link\",\"children\":\"GitHub\"}]}],[\"$\",\"li\",\"/contact\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/contact\",\"className\":\"footer-link\",\"children\":\"Contact\"}]}],[\"$\",\"li\",\"/tags\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/tags\",\"className\":\"footer-link\",\"children\":\"Tags\"}]}],[\"$\",\"li\",\"/sitemap.xml\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/sitemap.xml\",\"className\":\"footer-link\",\"children\":\"Sitemap\"}]}],\"$L2c\",\"$L2d\"]}]]}]]]}],\"$L2e\"]}],\"$L2f\"]}]\n"])</script><script>self.__next_f.push([1,"29:[\"$\",\"div\",null,{\"style\":{\"marginTop\":64},\"children\":[[\"$\",\"h2\",null,{\"style\":{\"fontSize\":18,\"fontWeight\":600,\"marginBottom\":16,\"paddingBottom\":8,\"borderBottom\":\"1px solid var(--border-default)\"},\"children\":\"Related Articles\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"grid\",\"gridTemplateColumns\":\"repeat(auto-fill, minmax(280px, 1fr))\",\"gap\":16},\"children\":[[\"$\",\"$L19\",\"answer-block-architecture-framework\",{\"href\":\"/aeo/answer-block-architecture-framework\",\"style\":{\"textDecoration\":\"none\"},\"data-related-article\":\"answer-block-architecture-framework\",\"data-related-position\":1,\"children\":[\"$\",\"div\",null,{\"className\":\"card\",\"children\":[[\"$\",\"span\",null,{\"className\":\"badge badge-green\",\"style\":{\"marginBottom\":8},\"children\":\"framework\"}],[\"$\",\"h3\",null,{\"style\":{\"fontSize\":15,\"fontWeight\":600,\"color\":\"var(--text-heading)\",\"marginBottom\":4},\"children\":\"Answer Block Architecture Framework: Engineering Extractable Answer Units for AI Engines\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--text-secondary)\",\"lineHeight\":1.5},\"children\":\"A 5-component framework for engineering extractable answer blocks that ChatGPT, Perplexity, and Google AI Overviews cite cleanly — with schema bindings and length rules.\"}]]}]}],[\"$\",\"$L19\",\"ai-search-serp-feature-citation-map\",{\"href\":\"/reference/ai-search-serp-feature-citation-map\",\"style\":{\"textDecoration\":\"none\"},\"data-related-article\":\"ai-search-serp-feature-citation-map\",\"data-related-position\":2,\"children\":[\"$\",\"div\",null,{\"className\":\"card\",\"children\":[[\"$\",\"span\",null,{\"className\":\"badge badge-green\",\"style\":{\"marginBottom\":8},\"children\":\"checklist\"}],[\"$\",\"h3\",null,{\"style\":{\"fontSize\":15,\"fontWeight\":600,\"color\":\"var(--text-heading)\",\"marginBottom\":4},\"children\":\"AI Search SERP Feature Citation Map: Where AI Mentions Appear in 2026\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--text-secondary)\",\"lineHeight\":1.5},\"children\":\"AI search SERP feature citation map: a 2026 checklist of every surface where AI mentions appear, from AI Overviews to Perplexity Sources.\"}]]}]}],[\"$\",\"$L19\",\"llm-citation-anchor-text-patterns\",{\"href\":\"/reference/llm-citation-anchor-text-patterns\",\"style\":{\"textDecoration\":\"none\"},\"data-related-article\":\"llm-citation-anchor-text-patterns\",\"data-related-position\":3,\"children\":[\"$\",\"div\",null,{\"className\":\"card\",\"children\":[[\"$\",\"span\",null,{\"className\":\"badge badge-green\",\"style\":{\"marginBottom\":8},\"children\":\"reference\"}],[\"$\",\"h3\",null,{\"style\":{\"fontSize\":15,\"fontWeight\":600,\"color\":\"var(--text-heading)\",\"marginBottom\":4},\"children\":\"LLM Citation Anchor Text Patterns: How Generative Engines Phrase Source Mentions\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--text-secondary)\",\"lineHeight\":1.5},\"children\":\"LLM citation anchor text patterns reference cataloging how ChatGPT, Perplexity, Gemini, and Claude phrase source mentions across answer formats and engines.\"}]]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"2a:[\"$\",\"div\",null,{\"style\":{\"paddingLeft\":40},\"className\":\"toc-sidebar\",\"children\":[\"$\",\"nav\",null,{\"style\":{\"position\":\"sticky\",\"top\":88,\"fontSize\":13,\"lineHeight\":1.6,\"maxHeight\":\"calc(100vh - 100px)\",\"overflowY\":\"auto\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":10,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-cool-gray)\",\"marginBottom\":12},\"children\":\"On this page\"}],[[\"$\",\"a\",\"tl-dr\",{\"href\":\"#tl-dr\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"TL;DR\"}],[\"$\",\"a\",\"why-hreflang-still-matters-in-the-ai-search-era\",{\"href\":\"#why-hreflang-still-matters-in-the-ai-search-era\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Why hreflang still matters in the AI search era\"}],[\"$\",\"a\",\"how-each-ai-engine-handles-hreflang-in-2026\",{\"href\":\"#how-each-ai-engine-handles-hreflang-in-2026\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"How each AI engine handles hreflang in 2026\"}],[\"$\",\"a\",\"hreflang-anatomy-a-60-second-refresher\",{\"href\":\"#hreflang-anatomy-a-60-second-refresher\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Hreflang anatomy: a 60-second refresher\"}],[\"$\",\"a\",\"three-implementation-methods-and-which-to-pick\",{\"href\":\"#three-implementation-methods-and-which-to-pick\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Three implementation methods (and which to pick)\"}],[\"$\",\"a\",\"1-html-link-tags-in-head\",{\"href\":\"#1-html-link-tags-in-head\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"1. HTML \u003clink\u003e tags in \u003chead\u003e\"}],[\"$\",\"a\",\"2-http-link-headers\",{\"href\":\"#2-http-link-headers\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"2. HTTP Link headers\"}],[\"$\",\"a\",\"3-xml-sitemap-xhtml-link-entries\",{\"href\":\"#3-xml-sitemap-xhtml-link-entries\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"3. XML sitemap \u003cxhtml:link\u003e entries\"}],[\"$\",\"a\",\"step-by-step-a-hreflang-implementation-that-ai-engines-respect\",{\"href\":\"#step-by-step-a-hreflang-implementation-that-ai-engines-respect\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Step-by-step: a hreflang implementation that AI engines respect\"}],[\"$\",\"a\",\"step-1-define-the-locale-matrix\",{\"href\":\"#step-1-define-the-locale-matrix\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Step 1 — Define the locale matrix\"}],[\"$\",\"a\",\"step-2-generate-self-referential-canonicals\",{\"href\":\"#step-2-generate-self-referential-canonicals\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Step 2 — Generate self-referential canonicals\"}],[\"$\",\"a\",\"step-3-emit-a-complete-cluster-on-every-page\",{\"href\":\"#step-3-emit-a-complete-cluster-on-every-page\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Step 3 — Emit a complete cluster on every page\"}],\"$L30\",\"$L31\",\"$L32\",\"$L33\",\"$L34\",\"$L35\",\"$L36\",\"$L37\",\"$L38\",\"$L39\",\"$L3a\",\"$L3b\",\"$L3c\",\"$L3d\"]]}]}]\n"])</script><script>self.__next_f.push([1,"2c:[\"$\",\"li\",\"/llms.txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/llms.txt\",\"className\":\"footer-link\",\"children\":\"llms.txt\"}]}]\n2d:[\"$\",\"li\",\"/ai.txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/ai.txt\",\"className\":\"footer-link\",\"children\":\"ai.txt\"}]}]\n2e:[\"$\",\"div\",null,{\"style\":{\"borderTop\":\"1px solid var(--color-teal-gray)\",\"paddingTop\":24,\"display\":\"flex\",\"justifyContent\":\"space-between\",\"alignItems\":\"center\",\"flexWrap\":\"wrap\",\"gap\":16},\"children\":[[\"$\",\"p\",null,{\"style\":{\"fontSize\":12,\"color\":\"var(--color-cool-gray)\"},\"children\":[\"© \",2026,\" Geodocs.dev. \",\"All rights reserved.\"]}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":12,\"color\":\"var(--color-cool-gray)\"},\"children\":[[\"$\",\"a\",null,{\"href\":\"mailto:contact@geodocs.dev\",\"className\":\"footer-link\",\"children\":\"contact@geodocs.dev\"}],\" · \",\"Built for humans and AI agents.\"]}]]}]\n2f:[\"$\",\"style\",null,{\"children\":\"\\n .footer-link {\\n font-size: 13px;\\n color: var(--color-silver-teal);\\n text-decoration: none;\\n transition: color 0.2s ease;\\n }\\n .footer-link:hover {\\n color: var(--color-white);\\n }\\n \"}]\n"])</script><script>self.__next_f.push([1,"30:[\"$\",\"a\",\"step-4-translate-the-metadata-not-just-the-body\",{\"href\":\"#step-4-translate-the-metadata-not-just-the-body\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Step 4 — Translate the metadata, not just the body\"}]\n31:[\"$\",\"a\",\"step-5-reinforce-language-identity-inside-the-content\",{\"href\":\"#step-5-reinforce-language-identity-inside-the-content\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Step 5 — Reinforce language identity inside the content\"}]\n32:[\"$\",\"a\",\"step-6-validate-with-three-independent-tools\",{\"href\":\"#step-6-validate-with-three-independent-tools\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Step 6 — Validate with three independent tools\"}]\n33:[\"$\",\"a\",\"step-7-monitor-ai-citation-language-drift\",{\"href\":\"#step-7-monitor-ai-citation-language-drift\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Step 7 — Monitor AI citation language drift\"}]\n34:[\"$\",\"a\",\"common-hreflang-failures-and-how-ai-engines-penalize-them\",{\"href\":\"#common-hreflang-failures-and-how-ai-engines-penalize-them\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Common hreflang failures (and how AI engines penalize them)\"}]\n35:[\"$\",\"a\",\"beyond-hreflang-signals-that-win-citations-on-perplexity-and-chatgpt\",{\"href\":\"#beyond-hreflang-signals-that-win-citations-on-perplexity-and-chatgpt\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Beyond hreflang: signals that win citations on Perplexity and ChatGPT\"}]\n36:[\"$\",\"a\",\"hreflang-and-llms-txt-complementary-not-competing\",{\"href\":\"#hreflang-and-llms-txt-complementary-not-competing\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Hreflang and llms.txt: complementary, not competing\"}]\n37:[\"$\",\"a\",\"quick-reference-checklist\",{\"href\":\"#quick-reference-checklist\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Quick reference checklist\"}]\n38:[\"$\",\"a\",\"faq\",{\"href\":\"#faq\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"FAQ\"}]\n39:[\"$\",\"a\",\"q-do-ai-search-engines-use-hreflang-the-same-way-google-does\",{\"href\":\"#q-do-ai-search-engines-use-hreflang-the-same-way-google-does\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: Do AI search engines use hreflang the same way Google does?\"}]\n3a:[\"$\",\"a\",\"q-is-x-default-required-for-ai-citation-optimization\",{\"href\":\"#q-is-x-default-required-for-ai-citation-optimization\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: Is x-default required for AI citation optimization?\"}]\n3b:[\"$\",\"a\",\"q-can-i-use-hreflang-on-a-single-language-site-to"])</script><script>self.__next_f.push([1,"-target-multiple-regions\",{\"href\":\"#q-can-i-use-hreflang-on-a-single-language-site-to-target-multiple-regions\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: Can I use hreflang on a single-language site to target multiple regions?\"}]\n3c:[\"$\",\"a\",\"q-how-long-does-it-take-for-ai-engines-to-reflect-hreflang-changes\",{\"href\":\"#q-how-long-does-it-take-for-ai-engines-to-reflect-hreflang-changes\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: How long does it take for AI engines to reflect hreflang changes?\"}]\n3d:[\"$\",\"a\",\"q-should-the-canonical-tag-point-to-the-default-language-version\",{\"href\":\"#q-should-the-canonical-tag-point-to-the-default-language-version\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: Should the canonical tag point to the default language version?\"}]\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"3e:I[27201,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"IconMark\"]\ne:null\n"])</script><script>self.__next_f.push([1,"13:[[\"$\",\"title\",\"0\",{\"children\":\"Hreflang for AI Search: Multilingual Citation Optimization Guide | Geodocs.dev\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Hreflang for AI search ensures generative engines like ChatGPT, Perplexity, and Gemini cite the right language and regional version of your content.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"hreflang for AI search,multilingual AI citation,hreflang ChatGPT,international generative engine optimization,x-default AI search,hreflang AI Overviews\"}],[\"$\",\"link\",\"3\",{\"rel\":\"canonical\",\"href\":\"https://geodocs.dev/technical/hreflang-for-ai-search\"}],[\"$\",\"link\",\"4\",{\"rel\":\"alternate\",\"hrefLang\":\"en\",\"href\":\"https://geodocs.dev/technical/hreflang-for-ai-search\"}],[\"$\",\"link\",\"5\",{\"rel\":\"alternate\",\"hrefLang\":\"x-default\",\"href\":\"https://geodocs.dev/technical/hreflang-for-ai-search\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:title\",\"content\":\"Hreflang for AI Search: Multilingual Citation Optimization Guide\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:description\",\"content\":\"Hreflang for AI search ensures generative engines like ChatGPT, Perplexity, and Gemini cite the right language and regional version of your content.\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"9\",{\"property\":\"article:published_time\",\"content\":\"2026-04-28\"}],[\"$\",\"meta\",\"10\",{\"property\":\"article:modified_time\",\"content\":\"2026-04-28\"}],[\"$\",\"meta\",\"11\",{\"property\":\"article:author\",\"content\":\"Geodocs Research Team\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:title\",\"content\":\"Hreflang for AI Search: Multilingual Citation Optimization Guide\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:description\",\"content\":\"Hreflang for AI search ensures generative engines like ChatGPT, Perplexity, and Gemini cite the right language and regional version of your content.\"}],[\"$\",\"link\",\"15\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0zl.ysuv3a32n.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"18\",{\"rel\":\"apple-touch-icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L3e\",\"19\",{}]]\n"])</script></body></html>