Hreflang, qué es y cómo implementarlo sin errores

Escrito por

Pedro Diez

Publicado

Comparte el post

Hreflang es un atributo que indica a los buscadores qué versiones de una misma página existen en otros idiomas o regiones. Sirve para que cada usuario aterrice en la versión correcta, no en la de otro mercado.

No es una etiqueta difícil de escribir, pero sí una de las peor implementadas del SEO técnico. Basta un enlace recíproco que falta para que Google ignore todo el conjunto.

Esta guía recoge los tres métodos que admite Google, los códigos que puedes usar y los errores que anulan la anotación, todo según su documentación oficial.

Datos clave

  • Métodos válidos. Etiquetas link en el head, cabeceras HTTP o sitemap XML. Los tres son equivalentes.
  • Elige solo uno. Usar los tres a la vez no aporta ninguna ventaja en la Búsqueda.
  • Reciprocidad obligatoria. Si A enlaza a B, B debe enlazar a A o se ignoran las etiquetas.
  • Autorreferencia. Cada versión debe incluirse a sí misma en el conjunto.
  • Códigos. Idioma en ISO 639-1 y región opcional en ISO 3166-1 Alpha 2.

Qué es hreflang y para qué sirve

Hreflang le comunica a Google que varias URLs son variantes localizadas del mismo contenido. Con esa información, la Búsqueda puede mostrar a cada usuario la versión más adecuada según su idioma y su ubicación.

Google recomienda declararlo en tres situaciones concretas. Cuando solo se traduce la plantilla y no el contenido principal, cuando hay variaciones regionales del mismo idioma y cuando la página está traducida por completo.

Lo que hreflang no hace

Aquí hay un malentendido muy extendido. Google no usa hreflang ni el atributo lang del HTML para detectar el idioma de una página. Lo determina con sus propios algoritmos, analizando el contenido.

Tampoco es una directiva. Hreflang es una señal que Google puede seguir o ignorar, y no fuerza el posicionamiento de una versión concreta en un país determinado.

Cómo implementar hreflang con los tres métodos válidos

Google admite tres formas de declararlo y las considera equivalentes. Puedes elegir la que mejor encaje con tu web, pero conviene usar solo una. Mantener tres implementaciones a la vez complica el trabajo sin aportar nada.

Etiquetas link en el head

Es el método más habitual. Se añade un elemento link por cada variante dentro de la sección head, incluida la versión de la propia página.

<head>
  <link rel="alternate" hreflang="es" href="https://example.com/es/pagina" />
  <link rel="alternate" hreflang="en-gb" href="https://example.com/en-gb/page" />
  <link rel="alternate" hreflang="de" href="https://example.com/de/seite" />
  <link rel="alternate" hreflang="x-default" href="https://example.com/" />
</head>

Ese mismo bloque tiene que aparecer idéntico en las cuatro páginas. Y debe estar dentro del head, no inyectado en el body por un script.

Cabeceras HTTP

Es la opción para archivos que no son HTML, como los PDF. Se devuelve una cabecera Link en la respuesta con todas las variantes separadas por comas.

Link: <https://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <https://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

Este método resuelve un problema real en proyectos multilingües. Los catálogos y las fichas técnicas en PDF también necesitan declarar sus equivalentes en otros idiomas.

Sitemap XML

Es el método más cómodo cuando hay muchas URLs, porque centraliza todo en un archivo. Cada elemento url incluye un hijo xhtml:link por cada variante, incluida la suya.

Con tres versiones de una página, el sitemap tendrá tres entradas y cada una con tres hijos idénticos. Hay que declarar el espacio de nombres xhtml en la cabecera del archivo.

¿Tu web multiidioma no acaba de posicionar en los mercados donde vendes?

Pide una revisión

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

El valor de hreflang se compone de un código de idioma y, de forma opcional, uno de región separado por guion. El idioma va en formato ISO 639-1 y la región en ISO 3166-1 Alpha 2.

La regla que más se incumple es que el primer código siempre es el idioma. No se puede indicar solo el país, y Google no lo deduce.

ValorSignificadoCorrecto
deAlemán, sin importar la región
en-GBInglés para usuarios del Reino Unido
fr-beFrancés para usuarios de Bélgica
beBielorruso, no BélgicaError frecuente
en-UKUK es código reservado, el válido es GBSe ignora
es-419No figura en ISO 3166-1 Alpha 2No admitido

En idiomas con varios alfabetos, el sistema de escritura se infiere del país. También puedes declararlo con el código ISO 15924, como zh-Hans para chino simplificado.

Para qué sirve el valor x-default

El valor x-default es reservado y se usa cuando la configuración del navegador del usuario no coincide con ninguna de las versiones que ofreces. Es tu página de respaldo.

Google indica que funciona mejor en páginas selectoras de idioma y país, aunque puede declararse en cualquier página. No necesita código de idioma porque su función es precisamente cubrir a quien no encaja en ninguno.

Sin x-default, es Google quien decide qué versión enseña a esos usuarios. Y su criterio no tiene por qué coincidir con el tuyo.

Los errores de hreflang más habituales

La documentación de Google señala tres fallos recurrentes, a los que conviene sumar otros que aparecen en cualquier auditoría de una web multiidioma.

  • Faltan enlaces recíprocos. Si la página A enlaza a la B, la B debe enlazar a la A. Sin reciprocidad, las anotaciones se ignoran o se interpretan mal.
  • Códigos de idioma incorrectos. Usar un código de país como primer valor es el error más común.
  • Códigos de región no válidos. Valores como EU, UN o UK no tienen efecto en la Búsqueda de Google.
  • URLs relativas. Deben ser absolutas e incluir el protocolo. Vale https://example.com/foo, no /foo.
  • Falta la autorreferencia. Cada página debe incluirse a sí misma dentro del conjunto de etiquetas.
  • URLs que no devuelven 200. Si una versión apunta a una redirección o a un error, el conjunto pierde validez.

Hay una razón de fondo para la exigencia de reciprocidad. Evita que el responsable de otro sitio marque de forma arbitraria una página suya como versión alternativa de la tuya.

Para validar la implementación existen herramientas de terceros que el propio Google menciona, como el generador de etiquetas de Aleyda Solís o el validador de Merkle.

Genera contenido duplicado tener la web en varios idiomas

Es la duda que frena muchos proyectos de internacionalización, y la respuesta de Google es clara. Las versiones localizadas de una página solo se consideran duplicadas si el contenido principal no está traducido.

Traducir bien tu web no genera penalización por duplicidad. El riesgo aparece cuando se publica la misma página con la plantilla traducida y el cuerpo intacto en el idioma original.

Ahí es donde una traducción automática sin revisión pasa factura. Si el contenido no llega a ser realmente distinto y útil en cada idioma, hreflang no te salva.

Qué estructura de URL conviene para cada idioma

Hreflang funciona con cualquier estructura, incluso entre dominios distintos, así que la decisión se toma por otros motivos. Estos son los tres modelos habituales.

ModeloEjemploCuándo encaja
Subdirectorioexample.com/es/Concentra la autoridad en un solo dominio. La opción por defecto
Subdominioes.example.comCuando hay equipos o infraestructuras separadas por mercado
Dominio por paísexample.esSeñal geográfica fuerte, pero exige construir autoridad desde cero

Sea cual sea el modelo, la anotación tiene que mantenerse cuando cambian las URLs. En una migración es habitual redirigir las páginas y olvidar el hreflang, y ahí es donde se rompe.

Si estás planteando la arquitectura de tu web internacional, en Linguaserve trabajamos la traducción y localización web junto con el SEO internacional, porque separar ambas cosas es lo que suele provocar estos fallos.

Preguntas frecuentes sobre hreflang

¿Es obligatorio usar hreflang?

No, pero Google lo recomienda si tienes versiones en varios idiomas o regiones. Puede encontrarlas sin que se lo indiques, aunque el resultado es menos fiable.

¿Puedo usar los tres métodos a la vez?

Puedes, pero no sirve de nada. Google los considera equivalentes y advierte de que mantener tres implementaciones solo hace más difícil la gestión.

¿Hreflang detecta el idioma de mi página?

No. Google no usa hreflang ni el atributo lang del HTML para determinar el idioma. Lo hace analizando el contenido con sus propios algoritmos.

¿Qué pasa si una página no se enlaza a sí misma?

El conjunto queda incompleto. Cada versión debe incluir a todas las demás y también a sí misma, y ese mismo bloque debe repetirse en todas las variantes.

¿Puedo apuntar a URLs de otro dominio?

Sí. Las URLs alternativas no tienen que estar en el mismo dominio, siempre que sean absolutas y exista reciprocidad entre todas ellas.

¿Traducir mi web genera contenido duplicado?

No, siempre que traduzcas el contenido principal. Solo se consideran duplicadas las versiones en las que se traduce la plantilla y el cuerpo del texto se queda igual.

¿Sirve hreflang para archivos PDF?

Sí, mediante cabeceras HTTP. Es el método previsto para archivos que no son HTML y resulta útil con catálogos y fichas técnicas traducidas.

Que tu web llegue bien a cada mercado

Revisamos la arquitectura multiidioma, la implementación de hreflang y la calidad real de cada versión traducida.

Solicita tu revisión
Pedro Luis Díez Orzas

Escrito por

Pedro Luis Díez Orzas

CEO · Linguaserve

Doctor en Lingüística Computacional y pionero en la aplicación de Inteligencia Artificial al lenguaje. Con más de 35 años de experiencia, lidera Linguaserve desde su fundación, ayudando a empresas a gestionar su presencia internacional con soluciones multilingües inteligentes. Defiende el idioma y la comunicación como motor real de transformación digital y crecimiento empresarial. ¿Quieres llevar tu empresa a nuevos mercados con IA y tecnología del lenguaje? Hablemos.

Comparte el post

Otras noticias...

Suscríbete a nuestra newsletter de IA y comunicación internacional