Las etiquetas hreflang indican a los buscadores qué versión de idioma y región de una página mostrar a cada usuario. Son anotaciones HTML —o entradas en el sitemap XML, o cabeceras HTTP— que conectan páginas equivalentes entre idiomas y países para que Google posicione la versión correcta en el mercado correcto. Bien implementadas, las etiquetas hreflang evitan que aparezca la página en el idioma equivocado y que tus propias traducciones compitan entre ellas.
Esa última parte es la que casi todo el mundo pasa por alto. Hreflang no es una palanca de crecimiento. Es un seguro sobre el tráfico que ya has ganado. Si lo haces mal, un usuario alemán aterriza en tu página en inglés, rebota, y Google degrada en silencio la versión que debería posicionar. Esta es la guía de implementación que entrego a los equipos de desarrollo antes de lanzar un sitio multirregión.
Qué hacen realmente las etiquetas hreflang
Hreflang es una señal, no una directiva. La propia documentación de Google es clara: las etiquetas sugieren qué versión servir, y Google puede ignorarlas. Ese matiz cambia por completo cómo debes pensar el sistema. No estás dando una orden a Google: le estás aportando evidencia limpia y coherente, con la esperanza de que esté de acuerdo.
El mecanismo es la reciprocidad. Un grupo hreflang es un conjunto de páginas que se apuntan entre sí como alternativas de idioma o región. Si tu página /es/ nombra a /de/ como su equivalente en alemán, la página /de/ debe nombrar a /es/ como su equivalente en español a cambio. Rompe esa reciprocidad y todo el grupo se cae: Google descarta las anotaciones que no puede confirmar desde ambos lados.
Tres reglas son el núcleo de cualquier implementación válida:
- Return tags: cada URL del grupo enlaza a todas las demás, en las dos direcciones.
- Autorreferencia: cada página incluye una entrada hreflang que apunta a sí misma.
- URLs absolutas: cada referencia usa la URL completa
https://, nunca una ruta relativa.
Salta cualquiera de estas y las anotaciones fallan en silencio. No hay página de error ni aviso: solo una pérdida progresiva de posiciones de las páginas correctas en los sitios correctos.
Cuándo necesitas hreflang y cuándo no
Necesitas hreflang cuando sirves el mismo contenido —o uno similar— en más de un idioma, o cuando segmentas el mismo idioma en más de un país. Un SaaS con versiones en español, inglés y alemán lo necesita. Una tienda con español para España y español para México lo necesita. Un sitio en un solo idioma y un solo país no: añadir hreflang ahí genera riesgo de mantenimiento sin ninguna ventaja.
La decisión que más confunde es idioma frente a región. Son dos problemas distintos y exigen código distinto. Si solo te importa el idioma, usa un subtag de idioma solo (es, de, fr). Si te importa el país —porque precios, envíos o vocabulario cambian— añade un subtag de región (es-es, es-mx). Definir esto pronto es parte de cualquier estrategia de SEO internacional seria, porque revertirlo después implica reescribir cada anotación del sitio.
Las tres formas de implementar etiquetas hreflang
Hay exactamente tres métodos válidos. Son funcionalmente equivalentes —Google los trata igual—, así que la elección es de mantenimiento, no de ranking.
1. Elementos link en el head
Colocas un <link rel="alternate" hreflang="x" href="..."> por cada versión, incluida la propia página, dentro del <head> de cada página:
<link rel="alternate" hreflang="es" href="https://ejemplo.com/es/precios/" />
<link rel="alternate" hreflang="en" href="https://ejemplo.com/en/pricing/" />
<link rel="alternate" hreflang="de" href="https://ejemplo.com/de/preise/" />
<link rel="alternate" hreflang="x-default" href="https://ejemplo.com/es/precios/" />
Es el método más habitual y el más fácil de inspeccionar. La pega es el peso: un sitio en diez idiomas arrastra once etiquetas link en cada página, lo que infla el HTML y es un dolor de mantener sincronizado.
2. Anotaciones en el sitemap XML
Declaras las alternativas dentro del sitemap XML con el elemento xhtml:link. Cada entrada lista todas las variantes de idioma, incluida ella misma. Es mi recomendación por defecto para sitios grandes o que cambian rápido: las anotaciones viven en un único lugar, no inflan el HTML y una sola plantilla las genera de forma programática. Auditar un sitemap es mucho más simple que revisar diez mil heads.
3. Cabeceras HTTP
Para recursos que no son HTML, como PDFs, envías hreflang en la cabecera HTTP Link. Pocos sitios lo necesitan, pero es la única opción cuando el contenido no tiene head donde inyectar.
Elige un método por URL y cíñete a él. Mezclar etiquetas HTML y entradas de sitemap para las mismas páginas es una fuente clásica de señales en conflicto que Google marca e ignora.
Sintaxis de hreflang: acertar con los códigos
Los códigos de idioma y región mal puestos son el error de hreflang que más veo en auditorías de SEO técnico. Las reglas son simples, pero los fallos son muy concretos.
- Idioma usa ISO 639-1:
es,en,de,pt,fr. Siempre en minúscula. - Región usa ISO 3166-1 Alpha-2:
ES,MX,GB,US. No distingue mayúsculas, pero el código debe ser válido. - Orden: primero idioma, luego una región opcional, separados por guion:
es-mx,en-gb,pt-br.
Los errores se concentran en unos pocos códigos inválidos. en-uk está mal: el código de país del Reino Unido es GB, así que debe ser en-gb. es-la está mal: “Latinoamérica” no es un país y no existe subtag de región para una región supranacional. Usar solo un código de país, como hreflang="mx", está mal porque mx no es un idioma. Acierta con el estándar en el origen y la mayoría de problemas desaparecen.
El valor x-default
x-default marca la reserva para los usuarios que no coinciden con ninguna de tus versiones. Si un usuario francófono en Canadá entra en un grupo que solo define es, en y de, x-default decide qué ve. Apúntalo a tu selector de idioma, tu home global o tu versión internacional principal. Google lo recomienda en cualquier sitio que redirige a los usuarios por idioma o región.
Checklist de implementación de hreflang
Esta es la secuencia exacta que ejecuto al implementar o auditar etiquetas hreflang. Recórrela en orden.
- Mapea la matriz. Lista cada combinación de idioma y región, y confirma que cada una tiene una URL real e indexable.
- Elige un método —etiquetas en head, sitemap o cabeceras— y aplícalo de forma coherente.
- Añade autorreferencias. Cada página debe referenciarse a sí misma en el grupo.
- Añade return tags. Cada página referencia a todas las demás, en ambas direcciones.
- Usa URLs absolutas. Rutas
https://completas, sin enlaces relativos. - Valida cada código contra ISO 639-1 e ISO 3166-1 Alpha-2.
- Añade x-default apuntando a tu página de reserva.
- Confirma la alineación con canonical. Cada página debe ser autocanónica (ver abajo).
- Apunta hreflang solo a páginas indexables —nunca a redirecciones, páginas noindex o 404.
- Rastrea y verifica el grupo completo antes y después del despliegue.
Sáltate el paso cuatro y el paso diez y habrás construido algo que se ve bien en el código y no hace nada en la SERP.
Los errores de hreflang más comunes y cómo corregirlos
Por mi experiencia auditando sitios internacionales, los mismos fallos aparecen una y otra vez. Así se detecta y corrige cada uno.
Faltan return tags. La página A nombra a la B, pero la B no nombra a la A. Solución: haz recíproca cada referencia, incluidas las autorreferencias. Es la causa número uno de anotaciones ignoradas.
Códigos de idioma o región inválidos. en-uk, es-la, o un código de país suelto. Solución: valida contra los estándares ISO; UK pasa a ser gb, y elimina cualquier subtag de región inventado.
URLs relativas. href="/de/" en vez de la URL completa. Solución: usa siempre URLs absolutas https://.
Hreflang a páginas no canónicas. La etiqueta apunta a una URL que canonicaliza a otra, así que Google sigue el canonical y descarta la anotación. Solución: apunta hreflang solo a URLs autocanónicas e indexables.
Falta x-default. No es un error, pero es una oportunidad perdida en cualquier sitio con redirección geográfica. Solución: añádelo apuntando a tu reserva.
Métodos mezclados. Etiquetas HTML y entradas de sitemap peleando por las mismas URLs. Solución: consolida en un solo método.
Cuando heredas un sitio a mitad de migración, estos errores se acumulan, y por eso una auditoría SEO completa debe mapear el grupo hreflang antes de que nadie toque producción.
Hreflang y canonical: la relación que rompe sitios
Aquí es donde veo más daño. Hreflang y las etiquetas canonical interactúan, y la interacción no perdona. La regla es corta: cada página de un grupo hreflang debe ser canónica de sí misma.
El patrón desastroso es canonicalizar todas las versiones de idioma a una página maestra, normalmente la inglesa. Al hacerlo, le dices a Google que la página alemana es un duplicado que no debe indexarse, mientras las etiquetas hreflang afirman a la vez que es una alternativa distinta e igual. Google resuelve la contradicción confiando en el canonical y descartando el hreflang. Tus páginas traducidas se caen del índice. He visto sitios perder mercados enteros que no eran en inglés por este único error.
La solución es mecánica. La página alemana canonicaliza a la página alemana. La española canonicaliza a la española. Hreflang conecta entonces esas páginas autocanónicas como alternativas. Canonical dice “esta es la versión definitiva de este contenido”; hreflang dice “y aquí están sus equivalentes en otros idiomas”. Nunca deben contradecirse. Si no tienes claro cómo se combinan estas señales en tu stack, es una pregunta rápida y de alto valor que llevar a un consultor SEO antes del lanzamiento, no después.
Cómo monitorizar hreflang a escala
Google retiró el informe de Segmentación Internacional de Search Console en 2022, lo que eliminó la única herramienta nativa que mostraba errores de hreflang directamente. A día de hoy, en 2026, la monitorización es tarea de terceros. Y no es un retroceso: los crawlers son más exhaustivos de lo que aquel informe fue nunca.
Screaming Frog, Ahrefs Site Audit y Semrush Site Audit rastrean y validan los grupos hreflang, comprobando return tags que faltan, códigos inválidos y destinos no canónicos. Los datos de rastreo de Ahrefs han mostrado de forma consistente que los errores de hreflang están entre los problemas de SEO internacional más frecuentes en sitios grandes, lo que coincide con lo que encuentro en el campo: el problema rara vez es de conocimiento, es de deriva. Un grupo de etiquetas perfecto en el lanzamiento se degrada según se añaden, mueven y retiran páginas sin actualizar la matriz.
Integra la comprobación en tu proceso, no en tu memoria:
- Lanza un rastreo programado que valide el grupo hreflang completo tras cada despliegue.
- Alerta sobre cualquier página cuyos return tags queden incompletos.
- Reverifica la matriz cada vez que se añade un mercado o una URL nueva.
Las etiquetas hreflang no son un artefacto de “configúralo y olvídate”. Son un grupo vivo que debe seguir siendo recíproco a medida que el sitio cambia, y los sitios que conservan sus posiciones internacionales son los que tratan la monitorización como mantenimiento continuo, no como una tarea del día del lanzamiento.
Preguntas frecuentes
¿Las etiquetas hreflang mejoran el posicionamiento? No. Las etiquetas hreflang no suben el ranking por sí solas. Controlan qué versión de idioma o región muestra Google a cada usuario, lo que protege el tráfico que ya has ganado y evita que tus páginas traducidas compitan entre sí en los resultados.
¿Qué es el valor x-default de hreflang? El valor x-default marca la página de reserva que se muestra a los usuarios cuyo idioma o región no coincide con ninguna de tus versiones. Suele ser tu selector de idioma, la home global o la versión internacional principal. Google lo recomienda siempre que haces redirección por geolocalización o idioma.
¿Necesito hreflang para el mismo idioma en países distintos? Sí, si el contenido cambia de forma relevante o quieres segmentar mercados por separado: por ejemplo, español para España frente a español para México. Usa un subtag de idioma y otro de región, como es-es y es-mx, para que Google distinga las versiones.
¿Puedo poner hreflang en el sitemap XML en vez del head HTML? Sí. Las anotaciones hreflang en el sitemap funcionan igual que las del head y son más fáciles de mantener a escala porque viven en un solo archivo. Elige un método y nunca mezcles etiquetas HTML y entradas de sitemap para las mismas URLs: las señales en conflicto generan errores.
¿Por qué Google ignora mis etiquetas hreflang? La causa más común son los return tags que faltan: cada página del grupo debe enlazar a todas las demás, incluida a sí misma. Otras causas son códigos de idioma o región incorrectos, URLs relativas, hreflang que apunta a páginas no canónicas y etiquetas canonical en conflicto. Valida todo el grupo con un crawler.