¿Qué es hreflang y cómo se configura sin errores?

Para qué sirve hreflang en una web con varios idiomas o países, por qué tiene que ser recíproco, qué es x-default, cómo se escriben los códigos de idioma y región, y los errores que hacen que Google lo ignore.

Por , Desarrollador full stack

En esta página

Tienes la web en español y en inglés, o una versión para Colombia y otra para España. Para ti es evidente cuál corresponde a cada visitante. Para Google no lo es: sin una indicación, puede enseñar la versión inglesa a quien busca en español, o tratar dos páginas casi idénticas para dos países como contenido duplicado y quedarse solo con una.

hreflang es esa indicación. Una etiqueta pequeña, invisible para el usuario y con fama de complicada, sobre todo porque sus errores no avisan: si algo está mal, Google simplemente la ignora.

¿Para qué sirve hreflang?

Le dice al buscador: «esta página tiene estas versiones equivalentes en otros idiomas o para otras regiones». Con esa información, Google puede mostrar en sus resultados la versión que corresponde al idioma y al país de quien busca.

Conviene tener claro lo que no hace. No traduce nada, no redirige a nadie y no mejora el posicionamiento de por sí. Tampoco es una orden: es una señal que Google tiene en cuenta junto con otras. Su efecto es que la persona correcta llegue a la versión correcta.

La forma más habitual es una lista de enlaces en el <head> de cada versión:

<link rel="alternate" hreflang="es" href="https://example.com/servicios/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/services/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/servicios/" />

También puede declararse en la cabecera HTTP (útil para archivos sin <head>, como un PDF) o en el sitemap XML, cómodo cuando hay muchos idiomas. Lo sensato es elegir un método y mantenerlo: dos fuentes para lo mismo acaban contradiciéndose.

Las tres reglas: reciprocidad, autorreferencia y x-default

Reciprocidad. Si la página en español declara que su versión en inglés es tal URL, esa URL en inglés tiene que declarar a su vez la española. Un enlace de ida sin vuelta se descarta. Es una medida contra el abuso: impide que cualquiera declare tu página como «su versión en inglés».

Autorreferencia. Cada página se incluye a sí misma en su propia lista, con su idioma. Parece redundante, pero así el conjunto es idéntico en todas las versiones y no hay dudas sobre a quién pertenece cada una.

x-default. Es la versión para quien no encaja en ninguno de los idiomas declarados. Si tu web está en español e inglés y alguien busca en alemán, x-default le dice a Google qué ofrecerle. Suele apuntar a la versión principal o a una página para elegir idioma. No es obligatorio, pero sin él esa decisión queda en manos del buscador.

¿Cómo se escriben los códigos de idioma y región?

El valor de hreflang tiene dos partes:

  • El idioma, obligatorio, con el código de dos letras de la norma ISO 639-1: es, en, pt, fr.
  • La región, opcional, con el código de país de dos letras de la norma ISO 3166-1: CO, ES, MX, GB, US.

Se escriben en ese orden y unidos por un guion: es-CO, en-GB. Una región sola, sin idioma, no es válida.

La región solo hace falta cuando existe de verdad una versión distinta por país: otra moneda, otros precios, otras condiciones de envío u otra legislación. Si tu español sirve igual para toda Hispanoamérica, es a secas es lo correcto. Con es-ES le estarías diciendo a Google que esa página es para España, y a quien busca desde México podría ofrecerle otra cosa.

Los errores de código más comunes:

Escrito Problema Correcto
en-UK el código ISO del Reino Unido es GB en-GB
es_CO guion bajo en lugar de guion es-CO
es-LA LA es Laos, no Latinoamérica es
CO región sin idioma es-CO

El guion bajo tiene una explicación: es el formato que usa og:locale en las etiquetas Open Graph, y a veces se copia de una a otra.

hreflang y canonical, juntos

Las dos etiquetas tienen que contar la misma historia. Cada versión debe ser canónica de sí misma. Si la página en inglés declara como canónica a la española, le está diciendo a Google que la versión inglesa es un duplicado, y el buscador hará caso al canonical y descartará el hreflang.

Por la misma lógica, las URLs que aparecen en hreflang tienen que ser las definitivas: que respondan directamente con la página, sin redirección, sin error y sin noindex. Un hreflang que apunta a una dirección que redirige obliga a Google a adivinar, y el detalle de por qué importa está en las diferencias entre redirecciones 301 y 302.

Errores típicos

  • Añadir un idioma y no actualizar los antiguos. La página nueva declara todas las versiones, pero las existentes no la declaran a ella. Es el error que Search Console llama «sin etiquetas de retorno».
  • Apuntar a la portada del otro idioma en lugar de a la página equivalente. Cada página debe enlazar a su gemela, no a la home.
  • Mezclar variantes de la misma URL: con y sin barra final, con y sin www, http y https. Para Google son direcciones distintas, y la reciprocidad se rompe.
  • Declarar traducciones que no existen, o páginas que en el otro idioma son solo un resumen. Si no hay una versión equivalente, mejor no declarar ninguna para esa página.
  • Redirigir automáticamente según la ubicación o el idioma del navegador. Googlebot rastrea sobre todo desde Estados Unidos y podría no ver nunca las otras versiones. Es preferible sugerir el cambio de idioma con un aviso o un selector, sin forzarlo.
  • Copiar el canonical del idioma principal a todas las versiones, el caso del apartado anterior.

Si tu web está pasando de una plataforma a otra, esta es una de las piezas que más se rompen por el camino, y conviene revisarla antes y después de cualquier migración.

¿Y si mi web solo tiene un idioma?

Entonces no necesitas hreflang. Lo que sí conviene es declarar el idioma en el atributo lang de la etiqueta <html>, que usan los navegadores para la traducción automática y los lectores de pantalla para la pronunciación. hreflang entra en juego el día que haya una segunda versión.

¿Cómo comprobar el tuyo?

El comprobador de hreflang lee las etiquetas de una URL, visita cada una de las alternas que declara (hasta veinte) y de cada una revisa su estado, su canonical y sus propias alternas. Con eso arma una matriz de quién apunta a quién y señala lo que falla: alternas sin retorno, páginas que no se incluyen a sí mismas, ausencia de x-default, códigos de idioma o región mal escritos y canonicals que contradicen al hreflang.

Conviene pasarlo por una página de cada plantilla (portada, servicio, artículo) y repetirlo cada vez que se añade un idioma o se cambia la estructura de URLs, que es justo cuando aparecen los retornos rotos.


hreflang no da posiciones, pero evita perderlas por enseñar la versión equivocada a la persona equivocada. Bien hecho, nadie lo nota; mal hecho, tampoco, y ese es precisamente el motivo para comprobarlo.

¿Hablamos de seo técnico avanzado?

Cuéntanos tu caso y te respondemos con una primera lectura del alcance en menos de 24 horas hábiles.

Respondemos en menos de 24 horas hábilesBogotá · UTC−5

Escríbenos por WhatsApp (se abre en una pestaña nueva)