Hreflang es el atributo HTML que indica a Google qué versión idiomática o regional de una página debe mostrar a cada usuario según su idioma y ubicación. Sin hreflang correctamente implementado, Google puede mostrar la versión inglesa a un usuario español, o la página de México a alguien de Argentina. Es uno de los elementos técnicos más complejos de SEO internacional y uno de los que más errores acumulan los sitios multilingües.
El problema que hreflang resuelve
Cuando un sitio tiene múltiples versiones idiomáticas o regionales, Google enfrenta un dilema. ¿Esa página en español es para España o para Argentina? ¿La versión en inglés es para US, UK, AU o IE? Sin información explícita, Google adivina basándose en señales como dominio (.com, .es, .ar), idioma del contenido, ubicación del servidor, IPs de visitantes. Sus elecciones a veces son correctas, a veces no.
Hreflang resuelve la ambigüedad. Le dice explícitamente: “esta URL es para usuarios que hablan X idioma en Y región, y estas otras URLs son las versiones equivalentes para otros idiomas/regiones”. Google usa esa información para mostrar la versión correcta en cada SERP regional. Sin hreflang, sitios multilingües frecuentemente sufren de canibalización entre versiones que compiten para la misma query en SERPs equivocadas.
Los códigos que importan
Hreflang usa códigos basados en estándares ISO. Idioma: ISO 639-1 (es, en, fr, pt, etc.). Región: ISO 3166-1 alpha-2 (AR, MX, ES, US, BR, etc.). Se combinan con guión: es-AR, en-US, pt-BR.
El código especial x-default indica la versión “fallback” cuando no hay match con ningún idioma/región específico declarado. Típicamente apunta a la home global o a un selector de idiomas. Es el único caso donde el segundo parámetro (la región) no se usa.
Los errores que veo seguido
Hreflang no recíproco
La página A linkea a B con hreflang, pero B no linkea de vuelta a A. Google ignora la relación entera. Cada par debe ser bidireccional.
Códigos inválidos
“es-LATAM” o “en-UK” no existen en ISO. Los códigos correctos son específicamente los del estándar — ningún acrónimo regional improvisado.
URL en redirect o 404
Si una URL declarada en hreflang está en redirect o devuelve error, Google ignora todo el set. La URL declarada debe ser canónica + 200.
Conflict con canonical
Si la página A tiene canonical apuntando a B y al mismo tiempo declara hreflang hacia C, las señales se contradicen. Google ignora ambos.
Tres formas de implementar
1. Etiquetas HTML en el head — la más común, fácil de implementar, fácil de validar. Cada página declara todas sus alternativas. Recomendada para la mayoría de los sitios.
2. HTTP headers — útil para archivos no-HTML (PDFs, etc.). Mismo formato que en HTML pero declarado en el header de respuesta.
3. Sitemap XML con anotación hreflang — ideal para sitios grandes con cientos de URLs por idioma. Centraliza la declaración en un solo archivo y evita errores de inconsistencia entre páginas.
El caso de x-default
x-default es la versión que Google muestra cuando no encuentra match exacto con ningún idioma/región declarado. Si un usuario japonés visita un sitio que solo tiene versiones en es-AR, es-MX, en-US, no hay match — x-default indica qué mostrarle por defecto. Sin x-default, Google adivina (típicamente con la versión que tiene más autoridad).
Buenas prácticas: x-default puede ser la home global con selector de idioma, la versión inglesa si es la más universal, o la versión más popular según data del sitio. Lo importante es que sea una experiencia coherente para usuarios fuera de tus mercados target.
Cómo se aplica en la práctica
El stack típico de implementación de hreflang en proyectos enterprise: definición del mapa de idiomas/regiones target, declaración en sitemap-hreflang.xml para sitios grandes, validación con herramientas tipo Merkle Hreflang Tags Testing Tool y Search Console (sección International Targeting), monitoreo de errores de hreflang en Search Console, y revisión post-launch para detectar mismatches. La metodología completa de SEO internacional está en /servicios/seo-internacional/.