Hreflang & Multilanguage Support
Your French page exists. But does Perplexity know it's French? Broken hreflang means AI engines cite the wrong language version -or miss your localization entirely.
Questions this article answers
- ?How do I set up hreflang tags so AI engines show the right language version?
- ?What are the most common hreflang mistakes that break multilingual AI visibility?
- ?Does Perplexity use hreflang to decide which language version to cite?
Summarize This Article With AI
Open this article in your preferred AI engine for an instant summary and analysis.
Quick Answer
Hreflang audit checks that multilingual pages have correct hreflang tags with valid language-region codes, reciprocal references between versions, and consistent canonicals per language. Incorrect hreflang causes AI engines to cite the wrong language version. It's the most common multilingual mistake we find.
Before & After
Before - Missing reciprocal hreflang
<!-- /en/product (English page) --> <link rel="alternate" hreflang="fr" href="/fr/product" /> <!-- /fr/product (French page) --> <!-- No hreflang tags at all! --> <!-- Broken: French page doesn't link back to English -->
After - Fully reciprocal with x-default
<!-- /en/product --> <link rel="alternate" hreflang="en" href="/en/product" /> <link rel="alternate" hreflang="fr" href="/fr/product" /> <link rel="alternate" hreflang="x-default" href="/en/product" /> <!-- /fr/product has matching tags pointing back -->
What This Actually Measures
We're evaluating the correctness and completeness of language/region targeting across multilingual sites. The hreflang attribute (<link rel="alternate" hreflang="xx">) tells search engines and AI crawlers which language version to serve to users in different markets. We measure whether these signals are present, syntactically correct, semantically valid, and consistent across all versions.
Three implementation methods get examined: HTML link elements in <head>, HTTP Link headers, and XML sitemap entries with <xhtml:link> elements. Each is valid, but we check for consistency -using different methods on different pages creates confusion. The primary metric: "hreflang coverage" -the percentage of multilingual page pairs with correct, reciprocal annotations.
Beyond presence, we validate hreflang values against IETF BCP 47. Valid values include language codes (en, fr, de), language-region codes (en-US, en-GB, fr-CA), and the special x-default for the fallback page. Common syntax errors we find: country codes alone (US instead of en-US), underscores (en_US instead of en-US), and non-standard codes.
We also measure reciprocal completeness -the property that breaks most often. If the English version lists French, German, and Spanish alternates, each of those must list English and all others back. A single missing reciprocal reference breaks the entire hreflang cluster. Over 60% of multilingual sites have this problem.
This is a conditional criterion -only applies to sites serving multiple languages. Monolingual sites get "not applicable."
Why Broken Hreflang Creates Wrong-Language Citations
Incorrect hreflang is one of the most damaging technical issues for multilingual AI visibility. When it's wrong or missing, AI engines serve the French version to English speakers, cite a Spanish translation when the English original is more authoritative, or display duplicate listings from multiple language versions in the same response.
The damage compounds at template level. A single page with broken hreflang is minor. But when the problem is in the template -hreflang copied from the English version with hardcoded English URLs instead of language-appropriate ones -every page inherits the error. For a 500-page multilingual site with 4 languages, that's 2,000 pages with incorrect targeting.
AI engines handle multilingual content differently than traditional search. When ChatGPT or Perplexity answers a query in French, they look for French-language sources. If your French pages lack proper hreflang and canonicals, the AI may not realize a French version exists -and instead translate and cite the English version. Your localized content provides zero value. Or worse: the AI cites the French page for an English query because it can't determine the intended language market.
Google's AI Overviews use hreflang to select which language version to feature. Correct hreflang = you appear in the right market's AI Overviews. Broken hreflang = wrong market or invisible.
How We Check This
First, we determine if the site is multilingual -checking for hreflang tags, language-specific URL patterns (/en/, /fr/, subdomains like en.example.com), and HTML lang attributes that differ across pages. Monolingual sites exit with "not applicable."
For multilingual sites, we construct an hreflang graph -a data structure mapping every page to its declared language alternates. The graph is built by crawling all language versions and extracting hreflang annotations from HTML head, HTTP headers, and XML sitemaps. The complete graph should form fully connected clusters: every page in a cluster references every other page in the same cluster.
Five validation checks run on the graph. Check one: syntax -every hreflang value must be a valid BCP 47 tag. Invalid codes, misspelled languages, country-only codes get flagged. Check two: reciprocal validation -for every page A declaring page B as an alternate, page B must declare page A. This is the most common error, affecting over 60% of multilingual sites we audit.
Check three: self-referencing -every page must include an hreflang tag pointing to itself with its own language code. Google requires this and many implementations miss it. Check four: x-default -each cluster should have one x-default entry pointing to the fallback (typically English or a language-selection page). Missing x-default gets a warning.
Check five: canonical consistency -each hreflang URL should match the target page's canonical. If page A declares /fr/product as the French alternate but /fr/product canonicalizes to /en/product, the signals conflict. We cross-reference all hreflang targets against their canonicals.
The output: a cluster-by-cluster report showing completeness and correctness of each language group, plus an overall site score based on percentage of fully valid clusters.
How We Score It
Hreflang scoring applies only to multilingual sites. Monolingual = "not applicable."
1. Hreflang coverage (3 points): - 90%+ of multilingual page pairs have annotations: 3/3 points - 70-89%: 2/3 points - 50-69%: 1/3 points - Below 50% or no hreflang on a multilingual site: 0/3 points
2. Syntax correctness (2 points): - All values are valid BCP 47 tags: 2/2 points - 90%+ valid with minor issues: 1.5/2 points - 70-89% valid: 1/2 points - Below 70% or systematic errors: 0/2 points
3. Reciprocal completeness (3 points): - 95%+ of clusters are fully reciprocal: 3/3 points - 80-94%: 2/3 points - 60-79%: 1/3 points - Below 60% (most clusters broken): 0/3 points
4. Canonical consistency and x-default (2 points): - All hreflang targets match canonicals AND x-default present: 2/2 points - Consistency above 90% OR x-default present (not both): 1.5/2 points - Minor conflicts (less than 10% of clusters): 1/2 points - Significant conflicts or no x-default with 3+ languages: 0/2 points
Deductions: - -2 points if implementation method is inconsistent (HTML on some pages, sitemap on others) - -1 point if self-referencing tags missing from 20%+ of pages - -0.5 points if hreflang tags only in JavaScript-rendered HTML
Properly configured multilingual CMS platforms (WordPress with WPML, Shopify Markets) score 6-9. Custom implementations frequently score 2-5 due to reciprocal errors.
Resources
Key Takeaways
- Every hreflang annotation must be reciprocal - if English lists French, French must list English back.
- Use valid BCP 47 language-region codes (en-US, fr-CA) - country-only codes (US) and underscores (en_US) are invalid.
- Always include a self-referencing hreflang tag and an x-default fallback on every page.
- Fix hreflang at the template level - a broken template means every page in that language is misconfigured.
- Use one implementation method consistently (HTML, HTTP headers, or sitemap) - mixing methods creates confusion.
How does your site score on this criterion?
Get a free AEO audit and see where you stand across all 10 criteria.