Saltar al contenido principal
← Todas las guías

Hreflang

Hreflang le dice a un buscador que varias páginas son el mismo contenido para públicos distintos, para que sirva la correcta. Es una señal que puede optar por no seguir, no una directiva que deba obedecer.

Cuatro reglas que mantienen el conjunto interpretable

Hreflang es un grupo de anotaciones, por lo que los errores de un lado pueden afectar la forma en que Google interpreta la relación. Google dice que los enlaces de retorno faltantes o las anotaciones no válidas pueden ignorarse o interpretarse incorrectamente; no promete que un error anule siempre todo el grupo.

  • Completo: cada versión del grupo lista a todas las demás.
  • Mutuo: si X apunta a Y, Y debería apuntar nuevamente a X. La falta de enlaces de retorno puede hacer que las anotaciones se ignoren o se interpreten incorrectamente.
  • Autorreferenciado: cada página se lista a sí misma junto a las otras.
  • Válido: los códigos deben leerse como códigos reales de idioma y región.

La regla de mutualidad es la que atrapa a los equipos, porque hreflang describe relaciones entre páginas en lugar de una propiedad de una página de forma aislada. Implemente juntos los enlaces de retorno correspondientes para que cada relación publicada esté completa cuando Google rastree cualquiera de los lados.

Dónde poner las anotaciones

Hay tres ubicaciones disponibles y son equivalentes en efecto. Elige una y úsala en todas partes: mezclarlas por el sitio es como acaban los conjuntos declarados a medias.

MétodoMejor paraOjo con
Elementos link en HTMLSitios pequeños y medianosEl peso de la página con muchas versiones
Cabeceras HTTPPDF y otros archivos no HTMLLos límites de tamaño de cabecera en conjuntos grandes
Entradas de sitemapSitios grandes, muchos idiomasMantenerlas sincronizadas con las páginas
Elementos link en HTML
<link rel="alternate" hreflang="en" href="https://example.com/guide/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/guide/" />
<link rel="alternate" hreflang="pt-br" href="https://example.com/pt-br/guide/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/guide/" />

Fíjate en que la página en inglés del ejemplo se lista a sí misma. Esa es la autorreferencia, y su ausencia es con diferencia el defecto más común en implementaciones por lo demás cuidadosas: porque parece redundante y a cualquiera que ordene la plantilla le da aspecto de error.

Códigos, y los que no existen

El idioma es ISO 639-1. Opcionalmente puede seguirle un guion y una región ISO 3166-1 Alpha 2. Una región sola nunca es válida: no hay manera de decir «esta página es para Canadá» sin decir en qué idioma está.

CódigoVeredictoPor qué
esVálidoSolo idioma: español, cualquier región
es-MXVálidoEspañol tal como se escribe para México
MXInválidoRegión sin idioma
ukVálido, pero no es el Reino Unidouk es ucraniano; el Reino Unido es GB
euInválido como regiónLa UE no es un código de país
en-UKInválidoEl código de país del Reino Unido es GB

Para qué sirve x-default

x-default recoge los idiomas que no listaste. Es el respaldo para un visitante cuyo idioma no coincide con ninguna de tus versiones, y su sitio natural es una página selectora o una portada que enruta a los visitantes por sí misma.

No es una forma de nombrar una versión principal. Apuntar x-default a tu página en inglés porque el inglés te suena a predeterminado le dice al buscador que un visitante japonés o turco sin coincidencia debería recibir inglés. Puede que sea cierto, y merece decidirse a conciencia y no por costumbre.

Hreflang y canonical son trabajos distintos

Estos dos se enredan más que ningún otro par del SEO técnico, y el modo de fallo es grave. Un canonical dice «indexa esta otra URL en mi lugar». Hreflang dice «esta otra URL es el mismo contenido para otro público».

Apunta el canonical de tu página alemana a la inglesa y le habrás dicho al buscador que la alemana no debe indexarse en absoluto: eso la saca de los resultados y a la vez rompe el conjunto hreflang que la referenciaba. Cada página localizada debería canonicalizar hacia sí misma y describir a sus hermanas con hreflang.

Pruébalo en tu propia web

Preguntas y respuestas

¿Hreflang arregla el contenido duplicado entre idiomas?

Es una señal de segmentación, no un arreglo de contenido duplicado. Las traducciones no son duplicados; hreflang le dice al buscador qué traducción pertenece a qué público.

¿Por qué posiciona la versión de idioma equivocada?

Normalmente por un conjunto de enlaces de vuelta incompleto o por códigos que no pasan la validación. Como hreflang es una señal, un conjunto del que el buscador desconfía se aparta y este vuelve a su propia detección de idioma.

¿Necesito hreflang si todas mis páginas están en un idioma?

Solo si con él apuntas a varias regiones —es-ES y es-MX, pongamos, donde el contenido cambia según el mercado—. Un sitio en un solo idioma para un solo público no necesita nada.

¿Cada página debe canonicalizar hacia sí misma o hacia el idioma original?

Hacia sí misma. Canonicalizar una traducción hacia el idioma de origen le dice al buscador que no indexe la traducción, lo que la saca de los resultados y rompe el conjunto hreflang que la apuntaba.

¿Adónde debe apuntar x-default?

A lo que deba servir a un visitante cuyo idioma no publicas: normalmente una página selectora o una portada que se enruta sola. Nombra un respaldo, no una versión principal.

¿Hreflang es un factor de posicionamiento?

No. Es una señal de segmentación que ayuda a que la versión correcta llegue al público correcto. No eleva la posición de una página, y Google puede optar por no seguir las anotaciones.