Qué Hace Realmente hreflang
Hreflang es una declaración de tu sitio a los motores de búsqueda que dice: "esta URL es la versión de esta página para usuarios que buscan en el idioma X (y opcionalmente país Y)". Google no usa hreflang como señal directa de ranking — lo usa como señal de enrutamiento. Cuando un usuario hispanohablante en México busca una de tus páginas, Google decide qué URL mostrar en la SERP en parte leyendo tu cluster hreflang. Si el cluster está mal, aparece la URL incorrecta; si el cluster está roto, Google puede recurrir a su propia detección de idioma, que a menudo es peor que lo que tú declaraste.
El mecanismo es sencillo. Cada URL declara una lista de hermanas "alternate": mismo contenido, audiencia distinta. Cada alternate se anota con un atributo hreflang que nombra la audiencia mediante un código ISO 639-1 de idioma, opcionalmente sufijado con un código ISO 3166-1 de región. Un alternate x-default opcional maneja el caso "todos los demás". El cluster debe ser bidireccional y los códigos de locale deben cumplir el estándar para que Google confíe en la señal.
Dónde Vive hreflang
Hay tres lugares válidos para declarar hreflang. Primero, en el head HTML como <link rel="alternate" hreflang="..." href="...">. Segundo, en las cabeceras HTTP de respuesta mediante Link: <...>; rel="alternate"; hreflang="...". Tercero, en el sitemap XML como elementos <xhtml:link rel="alternate" hreflang="..." href="..."/> dentro de cada entrada <url>. Los tres son equivalentes para Google. La mayoría de sitios sobre CMS usan el enfoque del head HTML porque los metadatos por página son más fáciles de plantilla; los sitios empresariales grandes suelen usar el enfoque del sitemap porque concentra todas las declaraciones internacionales en un único lugar que puede regenerarse desde un export del CMS.
Los Cinco Errores a Nivel de Cluster
La mayoría de los fallos de hreflang caen en una de estas cinco categorías: etiquetas de retorno faltantes, auto-referencias faltantes, códigos de locale inválidos, locales duplicados y x-default ausente. El verificador reporta cada uno con un código de hallazgo distinto para que puedan triarse de forma independiente.
- Etiqueta de retorno faltante (
MISSING_RETURN_TAG): La URL A declara la URL B como alternate, pero la URL B no declara A. Google exige que la relación sea bidireccional — sin el retorno, el cluster entero se descarta silenciosamente.
- Auto-referencia faltante (
MISSING_SELF_REFERENCE): El bloque hreflang de la URL A debe incluirse a sí misma como alternate. Esta es la regla más violada por bugs de plantilla CMS que emiten la lista de "otros idiomas" pero olvidan añadir el actual.
- Locale inválido (
INVALID_LOCALE): Valores como en-USA, en-UK, br (en vez de pt-BR) o english fallan la validación. Google rechaza la entrada mal formada y puede descartar el cluster entero si hay demasiadas erróneas.
- Locale duplicado (
DUPLICATE_LOCALE): Dos alternates dentro de la misma URL fuente reclaman el mismo locale pero apuntan a URLs distintas. El verificador marca esto con ambas URLs de destino para que el conflicto se pueda resolver.
- x-default faltante (
MISSING_X_DEFAULT): Estrictamente opcional, pero muy recomendable. Sin x-default, Google no tiene fallback para usuarios cuyo locale no coincida con ninguna de tus declaraciones. Se reporta como aviso por defecto, error cuando Exigir x-default está activado.
Estándares de Códigos de Locale
La parte de idioma usa ISO 639-1 (dos letras) o ISO 639-2 (tres letras cuando no existe código de dos). Ejemplos: en, es, zh, fil. La parte opcional de región usa ISO 3166-1 alpha-2 (dos letras, convencionalmente en mayúsculas). Ejemplos: en-US, es-MX, zh-CN. El separador es un guion, no un guion bajo. Errores comunes que detecta el verificador: en_US (separador erróneo), en-USA (región de tres letras), en-UK (UK no es un código ISO 3166-1 — Gran Bretaña es GB) y entradas solo de idioma con códigos inválidos como english o br.
x-default: El Fallback Que Casi Siempre Debes Declarar
El alternate x-default le dice a Google: "si el locale del usuario no coincide con ninguno de mis alternates explícitos, envíalo aquí". Para la mayoría de sitios, x-default apunta a la página global (a menudo la versión en inglés o un selector de idioma sin marca). Sin x-default, Google tiene que adivinar. La adivinanza suele ser errónea, y el coste es enviar hispanohablantes a la URL alemana porque la URL alemana tenía la mayor autoridad. El verificador reporta x-default ausente como aviso por defecto porque algunos clusters de un solo locale legítimamente no lo necesitan, pero para cualquier cluster con tres o más locales, x-default es efectivamente obligatorio.
Bidireccionalidad del Cluster: El Error Más Caro
La regla de bidireccionalidad es la causa más común de que Google ignore silenciosamente los clusters hreflang. La regla es exacta: para cada URL A en un cluster de tamaño N, A debe declarar las N URLs (incluyéndose) como alternates. Si A declara B pero B no declara A, la relación está rota y Google puede descartar todo el cluster. El verificador recorre cada cluster par a par y reporta la etiqueta de retorno faltante exacta — no "cluster roto" sino "al bloque hreflang de la URL A le falta una etiqueta de retorno apuntando a la URL B". Esa precisión convierte un vago aviso de "problema de segmentación internacional" de Search Console en una corrección de una línea en el CMS.
Dónde Encaja la Auditoría hreflang en el SEO Internacional
Un cluster hreflang limpio no garantiza buenos rankings internacionales — garantiza que Google enruta a los usuarios a la URL que pretendías. Los programas de SEO internacional más sólidos combinan: (a) un cluster hreflang funcional validado por una herramienta como esta; (b) contenido específico por mercado en lugar de traducción automática genérica; (c) propiedades de Search Console segmentadas por país para poder seguir el rendimiento por mercado; (d) canonicalización explícita para que las reglas de contenido duplicado no colapsen el cluster; (e) perfiles de backlinks desde fuentes locales para establecer autoridad temática en cada mercado. La comprobación hreflang es el 80% más barato de esa auditoría y el más fácil de ejecutar antes de cualquier despliegue.
Privacidad: Por Qué Importa la Validación Local
Los archivos sitemap multilingües suelen incluir URLs de entornos de staging, prelanzamientos por mercado y contenido restringido por país. Subir eso a un validador externo significa que esas URLs terminan en los logs de otro. Este verificador se ejecuta enteramente en tu pestaña del navegador — el XML o HTML no abandona la página. Puedes verificar en DevTools que pulsar Comprobar dispara cero peticiones salientes. La misma librería de validación está disponible en código abierto si quieres ejecutarla en CI; la herramienta web es totalmente autocontenida."