Volver al blog
Hreflang Validator7 min de lectura18 de abril de 2026

The 7 Most Common Hreflang Errors and How to Fix Them

Poorly implemented hreflang can cause Google to show the wrong version of your site in every country. These are the most frequent errors, how to detect them, and how to correct them.


Hreflang is one of the most error-prone SEO configurations. Google estimates that more than 50% of multilingual sites have some type of error in their hreflang implementation. The problem is that errors are silent: they do not appear in the browser, they do not break the page — Google simply ignores the signals and shows the wrong version to your users. This guide covers the 7 most common errors and their exact solutions.

Error 1: Missing return tag (broken bidirectionality)

Hreflang works as a mutual confirmation system: if the Spanish page points to the English version, the English version must also point back to the Spanish one. If any return tag is missing, Google may ignore the entire cluster signal.

html
<!-- Incorrect: the ES version points to EN but EN does not point back to ES -->
<!-- On /es/page/: -->
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />

<!-- On /en/page/ (missing the tag pointing to ES): -->
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />

<!-- Correct: both pages point to all variants -->
<!-- On /es/page/ AND on /en/page/, always include: -->
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />

Error 2: Incorrect language or country codes

Google only recognizes standard ISO codes. Any invented or misspelled variant causes it to ignore that specific tag.

IncorrectCorrectReason
hreflang="ES"hreflang="es"Language code must be lowercase
hreflang="es-es"hreflang="es-ES"Country code must be uppercase
hreflang="esp"hreflang="es""esp" is not a valid ISO 639-1 code
hreflang="spanish"hreflang="es"Language names are not valid — use codes only
hreflang="es-SP"hreflang="es-ES""SP" is not Spain's ISO code (it's "ES")
hreflang="ca-ES"hreflang="ca"Catalan: ISO code is "ca", not "cat"

Error 3: The hreflang tag URL returns an error (404, 301, 5xx)

If the URL specified in the href attribute of an hreflang tag does not respond with a 200 status code, Google cannot process that tag. URLs that redirect (301/302) or return errors (404, 500) invalidate that variant in the cluster.

  • Verify that all URLs in your hreflang tags return 200 OK.
  • If a URL has changed, update the hreflang tag with the new URL — do not use the old URL that redirects.
  • Pay special attention to URLs with trailing slashes: make sure all tags use the consistent format (with or without a trailing slash).

Error 4: Mixing page-level hreflang with site-level hreflang

Hreflang is a page-level signal, not a site-level one. Each page on the site has its own cluster of variants. A common mistake is adding the same hreflang tags on every page — ones that only point to the homepage of each language version — instead of the equivalent URLs for that specific page.

If /en/blog/article-1/ has hreflang tags pointing to /en/ and /es/ (the homepages), Google interprets the Spanish version of that article as the Spanish homepage. This can cause completely irrelevant content to appear in search results.

Error 5: Not including the current page in its own cluster

Every page must include an hreflang tag pointing to itself. This self-reference confirms to Google that the URL is part of the cluster. Without this self-reference, the signal may be weaker or ignored.

html
<!-- Incorrect: the EN version does not include itself -->
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />

<!-- Correct: always include the page's own URL -->
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />

Error 6: Hreflang on pages blocked with noindex or in robots.txt

If one of the URLs in an hreflang cluster is blocked in robots.txt or has a noindex tag, Google cannot crawl it or process its signals. The URL is effectively excluded from the cluster and bidirectionality breaks.

  • Check that no URL in the hreflang cluster is blocked in robots.txt.
  • Verify that indexable pages in the cluster do not have a noindex tag.
  • If a language version is under development and not yet public, do not include it in your hreflang tags yet — wait until it is accessible.

Error 7: Mixed www and non-www URLs in the same cluster

If your site uses https://www.example.com but the hreflang tags point to https://example.com (without www), Google detects an inconsistency. Always use the canonical version of your domain (with or without www) in all hreflang tags.

How to detect all these errors at once

iRankly's Hreflang Validator automatically checks bidirectionality, language codes, the HTTP status of each URL, and domain consistency for up to 50 URLs at a time. Enter the URLs of all variants in a cluster and get a complete report in seconds.

Prueba la herramienta gratis

Hreflang ValidatorAnaliza tus URLs con {tool} de iRankly. Sin registro, sin tarjeta.

Usar herramienta gratis

Prueba la herramienta gratis

Analiza tus URLs con Hreflang Validator de iRankly. Sin registro, sin tarjeta.

Usar herramienta gratis