Hreflang en 2026: el 80% de implementaciones que veo está mal
Patrones reales de hreflang mal implementado en webs multipaís y bilingües: errores frecuentes, validación correcta, y cómo afecta a citas en AI Overviews.
Hreflang es el detalle técnico SEO con peor ratio importancia/visibilidad. Cuando está bien, nadie lo nota. Cuando está mal, Google sirve la versión incorrecta a la mitad de tu tráfico internacional y nunca te enteras directamente — solo ves que tu sede UK rankea peor que la ES en queries inglesas.
Llevo años auditando webs multipaís y multilingües (e-commerce, SaaS, despachos con sedes en varias ciudades, hosteleras con cartas en 2-3 idiomas). El 80% tiene hreflang con al menos un error grave. Aquí los patrones que se repiten.
Recordatorio rápido
Hreflang es un atributo que le dice a Google: «esta página tiene una versión equivalente en otro idioma o región, aquí está la URL». Permite que Google sirva la versión correcta al usuario correcto.
Sintaxis típica en HTML:
<link rel="alternate" hreflang="es-es" href="https://example.com/es/" />
<link rel="alternate" hreflang="en-gb" href="https://example.com/en-gb/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
También se puede declarar en HTTP headers o en sitemap.xml. Las tres formas son equivalentes; Google las trata igual.
Los 6 errores que veo en casi todas las webs
Error 1: hreflang sin retorno (la mitad de las webs)
La regla más importante: si la página A apunta a la B con hreflang, la página B debe apuntar a la A también. Es bidireccional.
Mal:
<!-- En /es/ -->
<link rel="alternate" hreflang="en" href="/en/" />
<!-- En /en/ — falta el return: -->
<!-- (vacío, no hay ningún hreflang) -->
Bien:
<!-- En /es/ -->
<link rel="alternate" hreflang="es" href="/es/" />
<link rel="alternate" hreflang="en" href="/en/" />
<!-- En /en/ -->
<link rel="alternate" hreflang="es" href="/es/" />
<link rel="alternate" hreflang="en" href="/en/" />
Sin retorno, Google ignora la declaración hreflang completa. Suspendes.
Error 2: códigos de idioma mal escritos
Hreflang acepta:
- Solo idioma:
es,en,fr,de(válido). - Idioma + región:
es-es,en-gb,en-us,pt-br(válido). - Solo región sin idioma: inválido. Google ignora.
Errores frecuentes:
es_ES(con guion bajo) — debe seres-ES.es-spain— debe ser código ISO 3166-1, o seaes-esoes-ES.english— debe seren.en-uk— debe seren-gb(United Kingdom es GB en ISO).
Mayúsculas y minúsculas: técnicamente Google las normaliza, pero por consistencia recomiendo siempre minúsculas (es-es) para evitar duplicados al hacer crawl.
Error 3: apuntar a URLs que devuelven 404 o redirect
Si tu hreflang apunta a una URL que redirige a otra (301) o devuelve 404, Google descarta el grupo entero. Auditoría real: en una web e-commerce con 5 países, 30% de los hreflang apuntaban a URLs viejas que ya redirigían tras un refactor.
Fix: validar todas las URLs hreflang con curl -I o un crawler. Que devuelvan 200 directos, sin redirect intermedio.
Error 4: olvidar x-default
x-default indica la URL para usuarios cuyo idioma/región no encaja con ninguna otra declaración. Es la fallback.
Si no la pones, Google decide arbitrariamente. Si la pones, controlas el fallback.
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
Suele apuntar a la versión inglesa o la home global.
Error 5: hreflang en páginas que no son equivalentes
Hreflang debe agrupar páginas equivalentes (misma intención, mismo contenido en distinto idioma/región). NO funciona para:
- Apuntar /es/zapatillas-rojas/ → /en/products/ (general). Las páginas no son equivalentes.
- Apuntar /es/blog/post-A/ → /en/blog/post-B/ donde B no es traducción de A.
- Agrupar producto descatalogado en ES con producto-similar en EN.
Si en una región X no tienes equivalente exacto, NO lo declares. Mejor un grupo más pequeño bien declarado que uno grande con falsos equivalentes.
Error 6: declarar hreflang solo en HTML y olvidar canonical
Hreflang y canonical conviven, no se pisan. La regla:
- Cada página debe tener
<link rel="canonical" href="LA-PROPIA-PAGINA">apuntando a sí misma. - Los hreflang apuntan a las equivalentes en otras regiones/idiomas.
Mal:
<!-- En /es/zapatillas/ -->
<link rel="canonical" href="/en/sneakers/" /> <!-- NO -->
<link rel="alternate" hreflang="en" href="/en/sneakers/" />
Bien:
<!-- En /es/zapatillas/ -->
<link rel="canonical" href="/es/zapatillas/" /> <!-- a sí misma -->
<link rel="alternate" hreflang="es" href="/es/zapatillas/" />
<link rel="alternate" hreflang="en" href="/en/sneakers/" />
Cómo auditarlo de verdad
Tools que sí funcionan
- Screaming Frog SEO Spider: modo crawl con hreflang report. Identifica falta de retorno, códigos inválidos, redirects.
- Validador hreflang.org (online, gratis): para validar grupos puntuales.
xmllinten sitemap.xml para validar sintaxis si declaras hreflang ahí.- Search Console → Internacional (si activado): pestaña con errores hreflang detectados por Google.
Auditoría rápida en 5 minutos
# 1. Sacar todas las URLs con hreflang de tu sitemap
curl https://example.com/sitemap.xml | grep "hreflang" | head -20
# 2. Comprobar return: para cada par X→Y, verificar que Y→X existe
# (Screaming Frog lo hace en batch automáticamente)
# 3. Verificar que cada URL hreflang devuelve 200
for url in $(curl https://example.com/sitemap.xml | grep -oP 'href="\K[^"]+'); do
echo "$url: $(curl -sI $url | head -1)"
done
Si los 3 checks pasan limpios, hreflang está bien. Si alguno falla, fix antes de seguir con otras prioridades SEO.
Por qué importa más en 2026
El hreflang clásico sirve para que Google sirva la versión correcta a cada usuario. En 2026 aparece una capa nueva: las IAs generativas también usan hreflang para decidir qué versión citar.
Si tu web ES está mal apuntada vía hreflang desde la EN, Perplexity y ChatGPT pueden citar tu versión inglesa cuando el usuario pregunta en español. Resultado: tráfico mal segmentado, conversión más baja, peor experiencia.
Bonus: Google AI Overviews también tiene en cuenta hreflang al elegir cuál de tus páginas mostrar. Implementación correcta = citas en el idioma correcto.
Plan a 14 días para arreglarlo
| Día | Acción |
|---|---|
| 1-2 | Crawl completo con Screaming Frog + export hreflang report |
| 3-4 | Identificar grupos con falta de retorno → arreglar al ir |
| 5-6 | Validar códigos idioma/región contra ISO. Reemplazar inválidos |
| 7-8 | Verificar todas las URLs hreflang devuelven 200 (no 404 ni 301) |
| 9-10 | Implementar x-default donde falte |
| 11-12 | Cross-check canonical + hreflang en cada página (canonical a sí misma) |
| 13-14 | Re-crawl + validar todo limpio + reportar mejora en GSC en 2-4 semanas |
Casos que NO necesitan hreflang
- Web monolingüe en un solo país. Obvio pero a veces se mete por inercia.
- Pyme local cuyo único idioma es español y solo opera en España. No.
- Subdominio para staging o testing. Excluir con noindex, no con hreflang.
¿Tienes web multilingüe o multipaís y quieres auditar el hreflang antes de seguir? Es de las primeras cosas que reviso en una auditoría SEO técnica. Si quieres implementación + monitorización continua, el SEO técnico mensual lo incluye.
