You have your page in English and Spanish. Google is showing the English version to Spanish speakers.
When your site exists in multiple languages or targets multiple regions, hreflang tags tell Google which version to show to which audience. Without them, Google guesses — and often gets it wrong.
The result? Spanish-speaking users land on your English page, bounce, and you lose the traffic you worked hard to get.
How hreflang works
Hreflang is an HTML attribute that declares the language and optional region of a page, and links it to its alternate versions:
<link rel="alternate" hreflang="en" href="https://example.com/page" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
The x-default tells Google which version to show when no other hreflang matches the user's language.
When you need hreflang
- You have the same content translated into multiple languages
- You have regional variations (US English vs UK English)
- You serve different content to different countries (pricing, availability)
If your site is in one language only, you don't need hreflang.
The mistakes that break everything
Hreflang has a reputation for being hard to implement — because people keep making the same mistakes:
| Mistake | What goes wrong |
|---|---|
| Missing return links | Page A references Page B, but B doesn't reference A. Google ignores both. |
| Wrong language codes | Using "uk" instead of "en-GB" or "jp" instead of "ja" |
| Missing x-default | Google doesn't know which version is the fallback |
| Hreflang on non-canonical URLs | The canonical and hreflang point to different pages — confusion |
| Inconsistent across pages | Some pages have hreflang, others don't |
The return link rule is the most broken. Every hreflang tag must be bidirectional. If the English page says "my Spanish version is /es/page", then /es/page must also say "my English version is /page". If either side is missing, Google ignores the whole set.
How to audit hreflang
Hreflang issues are nearly impossible to catch manually because they require cross-checking between multiple pages. An automated audit should:
- Check every page for hreflang tags
- Verify return links exist on both sides
- Validate language and region codes
- Confirm hreflang URLs match canonical URLs
- Detect missing x-default tags
- Flag pages where some language versions have hreflang and others don't
Kaitico checks hreflang implementation across every crawled page, validating return links, language codes, and consistency — so you can fix international SEO issues before they cost you traffic.