Un sitio que publica varios idiomas sin un marcado hreflang correcto se enfrenta a un problema silencioso: Google indexa una versión, pero a veces la muestra al público equivocado. Un lector en España aterriza en la página en inglés, un lector alemán en la versión francesa. El contenido existe, incluso puede estar bien escrito, pero no llega a la audiencia correcta. El hreflang es el mecanismo pensado para resolver esto, y admite pocas aproximaciones.
Para qué sirve realmente el atributo hreflang
El atributo hreflang indica a los motores de búsqueda que una página tiene equivalentes en otros idiomas o para otras regiones, y especifica la URL de cada uno. No traduce nada ni afecta directamente a la posición de una página: solo orienta qué versión se muestra a un visitante concreto, según el idioma de su interfaz o la región desde la que busca.
Cada declaración combina dos partes: un código de idioma ISO 639-1 (fr, en, es, de), opcionalmente seguido de un código de región ISO 3166-1 (fr-ca para un francés canadiense distinto del francés de Francia). Añadir una región solo tiene sentido cuando el contenido realmente difiere entre mercados; de lo contrario, basta con el código de idioma, lo que reduce el riesgo de errores.
Dos métodos, nunca los dos a la vez
| Método | Ventaja | Límite |
|---|---|---|
Etiquetas <link> en el <head> | Fácil de comprobar página por página, sin archivo aparte que mantener | Añade peso al <head> en sitios con muchas páginas |
| Entradas en el sitemap XML | Centraliza todas las correspondencias, útil a partir de varios miles de páginas | Menos fácil de revisar a simple vista, los errores cuestan más de detectar sin una herramienta dedicada |
Cabecera HTTP Link | Única opción viable para contenido que no es HTML (PDF en particular) | Rara vez necesaria en un sitio editorial estándar |
Google admite técnicamente combinar estos métodos, pero rara vez lo recomienda: en cuanto dos fuentes se contradicen sobre la misma URL, el motor debe decidir, y esa decisión no siempre favorece la intención real del sitio. Elegir un solo método y mantenerlo en todo el dominio evita ese riesgo.
La regla que más falla: los enlaces de vuelta
Cada página de un grupo de traducciones debe declarar no solo sus equivalentes, sino también a sí misma. Si la página en francés apunta a la versión en inglés, la versión en inglés debe apuntar de vuelta a la francesa, y a todos los demás idiomas del mismo grupo. Un enlace que falte en un solo sentido invalida con frecuencia todo el grupo ante un motor de búsqueda, sin que aparezca ningún error evidente en el sitio.
<link rel="alternate" hreflang="fr" href="https://ejemplo.com/fr/pagina/" />
<link rel="alternate" hreflang="en" href="https://ejemplo.com/en/pagina/" />
<link rel="alternate" hreflang="es" href="https://ejemplo.com/es/pagina/" />
<link rel="alternate" hreflang="de" href="https://ejemplo.com/de/pagina/" />
<link rel="alternate" hreflang="x-default" href="https://ejemplo.com/" />
Ese mismo bloque, con el conjunto completo de idiomas, debe aparecer de forma idéntica en cada una de las cuatro páginas. La línea x-default designa la versión mostrada a un visitante cuyo idioma o región no coincide con ninguna de las versiones declaradas: una página de selección de idioma, o en su defecto la versión más neutra del sitio.
Un hreflang en un solo sentido no es un hreflang incompleto: es un hreflang que los motores de búsqueda ignoran directamente para todo el grupo.
Las URL declaradas deben ser accesibles, no solo correctas
Una URL incluida en un bloque hreflang nunca debe redirigir, devolver un error 404, ni estar canonicalizada hacia otra dirección. Estos tres casos son frecuentes tras un rediseño de sitio: las antiguas URL de idioma siguen listadas en un sitemap que nunca se regeneró, mientras el contenido ya se trasladó a nuevas direcciones.
La etiqueta rel="canonical" de cada versión lingüística también debe apuntar a sí misma, nunca a la versión francesa considerada «principal». Un canonical cruzado entre idiomas equivale a pedir a los motores de búsqueda que indexen solo una versión, lo que anula por completo el sentido del hreflang.
Una herramienta de validación externa (Merkle ICS, o la inspección de URL de Search Console revisada página por página) resulta más fiable que una relectura manual del código fuente para detectar un enlace de vuelta ausente en un sitio con decenas de páginas traducidas.
Subdirectorios, subdominios o dominios separados
El hreflang funciona con cualquier arquitectura elegida para alojar los idiomas, pero esa arquitectura cambia el esfuerzo de mantenimiento. Una estructura en subdirectorios (/fr/, /en/) consolida la autoridad del dominio en una sola dirección y resulta la más sencilla de mantener para un equipo reducido. Los subdominios por idioma separan más las configuraciones técnicas, lo que ayuda sobre todo cuando cada mercado cuenta con un equipo editorial autónomo. Los dominios distintos por país (.fr, .de) suelen justificarse solo por una presencia legal o comercial local, rara vez por la mera traducción de un contenido editorial.
Sea cual sea la arquitectura elegida, ninguna de las reglas anteriores desaparece: enlaces de vuelta completos, URL accesibles, canonical autorreferenciado. Un dominio separado por país añade incluso un riesgo propio: olvidar la declaración cruzada entre dos dominios distintos, algo más visible de forma natural entre dos subdirectorios de un mismo sitio.
Errores de código y control tras la publicación
Un código de idioma o región mal formado no muestra ningún error visible en el sitio, pero hace que los motores de búsqueda ignoren la declaración. Los casos más frecuentes observados en auditoría:
| Error detectado | Lo que se espera |
|---|---|
Código de región solo, sin idioma (hreflang="ca") | Siempre idioma seguido de región (hreflang="fr-ca") |
Confusión entre código de país y código de idioma (hreflang="uk") | Código de idioma ISO 639-1 seguido del código de país ISO 3166-1 (hreflang="en-gb") |
| Una página que no se declara a sí misma en su propio bloque | Cada página incluye una línea hreflang que apunta a su propia URL |
Un único x-default para todo el sitio, nunca actualizado | Un x-default coherente por cada grupo de páginas traducidas |
El formato esperado coloca siempre el código de idioma en minúsculas antes de un eventual código de región; las mayúsculas no afectan a los motores de búsqueda, pero la convención en minúsculas evita copiar y pegar de forma incoherente entre equipos.
Un control periódico, en lugar de una verificación única en el lanzamiento, sigue siendo la mejor protección contra estos errores: añadir un idioma, un rediseño parcial o un cambio de herramienta de traducción son los tres momentos en los que un enlace de vuelta se pierde con más frecuencia. Los datos estructurados en JSON-LD se declaran por separado en cada versión lingüística: un esquema Article o NewsArticle en inglés no debe describir un contenido en francés, aunque ambas páginas compartan la misma estructura. En cuanto al seguimiento, cada versión debe figurar como una propiedad distinta en las herramientas de análisis, para comprobar idioma por idioma si el tráfico orgánico corresponde realmente a la zona geográfica prevista, un control que encaja con el panel de GA4 y Search Console de un sitio ya en marcha.
Lo esencial
El hreflang no exige una configuración compleja, sino una configuración exacta: un único método de implementación, enlaces de vuelta completos y verificados en ambos sentidos, un x-default explícito, y todas las URL accesibles sin redirecciones ni canonical cruzados. La mayoría de los problemas detectados en auditoría vienen de un descuido puntual tras una actualización de contenido, no de un error de diseño inicial.
En los proyectos multilingües que he acompañado, un hreflang roto casi nunca lo señala el cliente: se traduce simplemente en un tráfico orgánico anormalmente bajo en un idioma concreto, descubierto meses después al revisar los informes de Search Console por país. Recomiendo comprobarlo con cada traducción publicada, no solo en el lanzamiento del sitio. — Simon Janvier
Para saber más: la documentación oficial de Google Search Central sobre las URL localizadas detalla los casos particulares, incluidos los sitios que combinan varios dominios por idioma.
