We audited 200 multilingual WordPress sites for hreflang implementation. The error rate is staggering — and most site owners do not even know they have a problem.
hreflang tags tell search engines which language and region a page targets. Get them right and Google serves the correct version to the correct audience. Get them wrong and Google may ignore your alternate pages entirely, serving the wrong language or deindexing regional variants. Based on our internal review of 200 multilingual WordPress sites (a convenience sample from public directories and client audits, not a peer-reviewed study), we observed a ~90% error rate in hreflang implementation.
hreflang is a signal, not a directive. Google uses it to understand the relationship between pages in different languages or regions. With AI search engines crawling multilingual content, correct hreflang implementation ensures the right page appears in the right regional AI response. Incorrect implementation means your Spanish content may appear in English results — or not appear at all.
| Error | % of Sites | Impact | Fix |
|---|---|---|---|
| Missing return tags (x-default) | 73% | Google may ignore all hreflang signals | Add hreflang="x-default" to the default language page |
| Incorrect language codes | 52% | Google cannot match pages to regions | Use ISO 639-1 for language (en, es, fr) + ISO 3166-1 for region (US, GB, ES) |
| No self-referencing tag | 44% | Google may not understand which page is the canonical version | Every page must reference itself with its own hreflang |
| Incomplete bidirectional linking | 61% | If page A links to page B, page B must link back to page A | Ensure every hreflang pair is bidirectional |
| Mixed HTTP header and HTML tags | 18% | Conflicting signals confuse crawlers | Pick one method (HTML link tags recommended for WordPress) |
| Pointing to non-existent URLs | 27% | Google drops the hreflang cluster | All referenced URLs must return 200 status |
| No hreflang on mobile/AMP pages | 33% | Mobile-first indexing may serve wrong language | Include hreflang on all page variants |
WordPress does not have native multilingual support. Sites rely on plugins — WPML, Polylang, TranslatePress — each with different hreflang implementations. We tested the three most popular:
| Plugin | Auto-generates hreflang? | Common Issues |
|---|---|---|
| WPML | Yes | x-default missing by default. Language switcher can create conflicting canonical tags. |
| Polylang | Yes | Self-referencing tag sometimes missing on translated posts. Requires "Add hreflang attribute" option enabled. |
| TranslatePress | Yes | May output hreflang in HTTP headers instead of HTML — inconsistent with other plugins. |
For a site with English (US), English (UK), Spanish (Spain), and Spanish (Latin America) versions of the same page:
| Page URL | hreflang Tags Required |
|---|---|
| example.com/page (en-US) | en-US (self), en-GB, es-ES, es-LATAM, x-default |
| example.com/uk/page (en-GB) | en-GB (self), en-US, es-ES, es-LATAM |
| example.com/es/page (es-ES) | es-ES (self), en-US, en-GB, es-LATAM |
| example.com/es-419/page (es-LATAM) | es-419 (self), en-US, en-GB, es-ES |
Every page references itself and every other language variant. The x-default tag on the US English page tells Google which version to serve for unmatched regions.
AI search engines (ChatGPT, Perplexity, Google AI Overviews) are increasingly serving multilingual results. If a user in Mexico asks ChatGPT for product recommendations, the AI may serve results from your Spanish (Latin America) pages — but only if hreflang correctly identifies them. Broken hreflang means the AI may serve the US English version to a Spanish-speaking user, or skip your regional pages entirely.