Si tienes una web con varios idiomas o dirigida a diferentes países, seguro que has vivido esta situación: un usuario de México entra en Google y le aparece tu página para España. O peor, un cliente potencial de Francia ve tu contenido en inglés. Es un clásico, y te lo digo claro, es una fuga de tráfico y de negocio brutal que tiene una solución técnica: la etiqueta hreflang.
Llevo más de una década metido en el barro del SEO internacional y he visto de todo. Proyectos que han duplicado su visibilidad en otros mercados solo por implementar bien esta etiqueta, y otros que se han canibalizado a sí mismos sin saber por qué. Hreflang no es magia, pero cuando lo entiendes y lo aplicas bien, es una de las herramientas más potentes que tienes para decirle a Google: «Oye, para este usuario, muéstrale esta versión». En este artículo te voy a enseñar cómo lo hago yo, sin tecnicismos absurdos y directo al grano.
Lo que aprenderás en este artículo:
- Qué es hreflang de verdad – Te lo explico sin rodeos, para que entiendas por qué no implementarlo bien te está costando dinero.
- Los 3 métodos para implementarlo paso a paso – Con mi recomendación personal sobre cuál usar según el tamaño y tipo de tu web.
- La anatomía de una etiqueta perfecta – Incluyendo el famoso
x-defaulty cómo no liarla con las URLs canónicas (un error súper común).- Checklist y herramientas para auditar tu trabajo – Para que sepas al momento si lo estás haciendo bien o si Google se está haciendo un lío con tu web.
¿Qué es la etiqueta hreflang y por qué es crucial para tu web?
Vamos al lío. La etiqueta hreflang es un atributo HTML que le dice a los motores de búsqueda como Google qué relación existe entre varias páginas que, aunque tengan contenido similar o idéntico, están dirigidas a diferentes idiomas o regiones geográficas. En mi experiencia, muchos creen que es una directiva, como un `noindex`, pero no lo es. Es una señal. Una pista muy, muy fuerte que le das a Google para que muestre la URL más apropiada al usuario según su ubicación y la configuración de su navegador.
Ojo, esto no es solo para traducir contenido. Es la clave para una estrategia de SEO internacional bien ejecutada.
No es una directiva, es una señal (y una muy potente)
Imagina que hreflang es como el GPS de Google para tus contenidos. Sin él, Google ve dos páginas muy parecidas (una para España y otra para Argentina, por ejemplo) y puede confundirse. Puede pensar que es contenido duplicado o, peor aún, mostrar la versión incorrecta. Esto provoca una mala experiencia de usuario (un argentino viendo precios en euros) y, a la larga, una pérdida de posicionamiento y ventas. Al usar hreflang, le estás dando las coordenadas exactas: «Para usuarios de Argentina, esta es la página. Para los de España, esta otra».
La diferencia real entre SEO multilingüe y multirregional
Aquí es donde muchos se pierden. No es lo mismo tener una web en varios idiomas que tener una web para varios países que comparten el mismo idioma.
- Multilingüe: Tienes la misma web traducida a inglés, francés y español. Usarías `hreflang=»en»`, `hreflang=»fr»`, `hreflang=»es»`.
- Multirregional: Tienes una web en español, pero con versiones específicas para España, México y Colombia, quizás porque los precios, los productos o las expresiones culturales cambian. Aquí usarías `hreflang=»es-ES»`, `hreflang=»es-MX»` y `hreflang=»es-CO»`.
Entender esta diferencia es el primer paso para no meter la pata. Puedes, por supuesto, combinar ambas estrategias.
Los 3 métodos para implementar hreflang (y cuál te recomiendo)
Existen tres formas de implementar las etiquetas hreflang. No hay una que sea «la mejor» para todo el mundo; depende de tu web y de tus recursos técnicos. Te las explico y te doy mi opinión sincera.
Método 1: En el `` de tu HTML (el más común)
Es la forma más directa. Simplemente añades un conjunto de etiquetas `` dentro de la sección `
` de cada una de tus páginas. Por cada idioma/región, tienes que incluir una línea para esa versión y para todas las demás alternativas.Ejemplo práctico: si tienes una página en español y otra en inglés, el `
` de la página en español debería tener:<link rel="alternate" hreflang="es" href="https://ejemplo.com/pagina-es/" />
<link rel="alternate" hreflang="en" href="https://ejemplo.com/page-en/" />
Y la página en inglés debe tener exactamente el mismo bloque. Esto es lo que se llama reciprocidad, y si falla, toda la implementación se va al traste. Es ideal para webs pequeñas, pero para un ecommerce con miles de productos, se vuelve inmanejable.
Método 2: En los encabezados HTTP (para no-HTML)
Este método es menos común y se usa para contenidos que no son HTML, como por ejemplo archivos PDF. En lugar de poner el código en la página, se envía en la cabecera de la respuesta del servidor.
Se vería algo así:
Link: <https://ejemplo.com/documento.pdf>; rel="alternate"; hreflang="es", <https://ejemplo.com/document.pdf>; rel="alternate"; hreflang="en"
La verdad es que lo he usado en contadas ocasiones. Solo es útil para casos muy específicos. Si solo trabajas con páginas web, olvídate de esta opción.
Método 3: En tu Sitemap XML (mi favorito para webs grandes)
Para mí, esta es la solución más limpia y escalable, sobre todo en webs grandes como ecommerces o portales de noticias. En lugar de cargar el HTML de cada página con docenas de líneas de código, defines las relaciones directamente en el sitemap.xml.
Por cada URL en tu sitemap, añades un bloque `
La sintaxis perfecta: códigos, x-default y canónicas
Implementar hreflang parece fácil, pero el diablo está en los detalles. Un pequeño error en la sintaxis y nada funcionará. Vamos a desgranarlo.
Desmontando la etiqueta: `rel=»alternate» hreflang=»xx-YY»`
La estructura siempre es la misma. Lo más importante aquí son los códigos de idioma y región:
- Código de idioma (xx): Siempre debe ser el formato de 2 letras ISO 639-1. Por ejemplo, `es` para español, `en` para inglés.
- Código de región (YY): Es opcional. Se usa para especificar un país y debe seguir el formato ISO 3166-1 Alfa 2. Por ejemplo, `ES` para España, `MX` para México.
Ojo al detalle: el idioma en minúsculas, la región en mayúsculas, separados por un guion. No vale `es_ES` ni `ES-es`.
El comodín `x-default`: qué es y cuándo usarlo sí o sí
La etiqueta `hreflang=»x-default»` es un seguro de vida. Se usa para indicar cuál es la página por defecto que se debe mostrar si ninguna de las otras versiones de idioma/región coincide con la del usuario. Normalmente, se usa en páginas de selección de idioma o en la versión más internacional (como la .com en inglés).
En mi opinión, es casi obligatorio usarla. Le das a Google una opción de respaldo y te aseguras de que ningún usuario se quede «colgado».
El error garrafal: confundir hreflang con la etiqueta canónica
He perdido la cuenta de las veces que he visto este fallo. La etiqueta `rel=»canonical»` y las hreflang cumplen funciones distintas pero complementarias.
- hreflang: Le dice a Google «estas páginas son equivalentes en diferentes idiomas».
- canonical: Le dice a Google «de estas páginas duplicadas, esta es la principal que debes indexar».
Cada versión de idioma debe tener una etiqueta canónica que apunte a sí misma. Por ejemplo, la página `ejemplo.com/es/` debe tener una canónica a `ejemplo.com/es/` y luego las hreflang que apunten a las demás versiones. Nunca, repito, nunca una canónica debe apuntar a una URL de otro idioma.
Herramientas para auditar tu implementación de hreflang
Vale, ya lo has implementado. ¿Y ahora qué? Toca verificar que todo está correcto. Confiar en que lo has hecho bien sin comprobarlo es un error de novato. Aquí te dejo las herramientas que uso en mi día a día.
| Herramienta | Ideal para | Coste | Mi opinión |
|---|---|---|---|
| Google Search Console | Diagnóstico oficial de Google | Gratis | ⭐⭐⭐⭐⭐ Imprescindible. Te avisa de errores de reciprocidad o códigos incorrectos en su informe «Segmentación internacional». |
| Screaming Frog SEO Spider | Auditorías técnicas profundas | Freemium / De pago | ⭐⭐⭐⭐⭐ La navaja suiza del SEO técnico. Su informe de hreflang es brutal, te detecta todos los fallos posibles en toda la web. |
| Ahrefs Site Audit | Auditorías recurrentes en la nube | De pago | ⭐⭐⭐⭐ Muy bueno para tener un control continuo. Te alerta de nuevos problemas de hreflang sin que tengas que buscarlo. |
| Merkle hreflang Tags Testing Tool | Comprobaciones rápidas de una URL | Gratis | ⭐⭐⭐ Genial para una revisión puntual. Pegas una URL y te dice si las etiquetas de esa página están bien configuradas. Rápido y sencillo. |
Mi consejo final: así es como lo hago yo
Después de pelearme con cientos de implementaciones de hreflang, mi flujo de trabajo es claro: para una web nueva, defino la estrategia de dominios e idiomas desde el día uno. Para una web existente, lo primero es una auditoría completa con Screaming Frog para detectar el estado actual.
Lo que debes llevarte claro de todo esto es que hreflang no es un simple trozo de código. Es la base de una buena experiencia de usuario a nivel global. Se trata de respetar a tu visitante y ofrecerle el contenido en su contexto, ya sea su idioma o las particularidades de su país. Si haces eso, Google te premiará. No porque la etiqueta en sí misma sea un factor de ranking directo, sino porque mejorar la experiencia de usuario y evitar la canibalización sí que lo es, y mucho.
Preguntas frecuentes que me hacen sobre hreflang
Para terminar, te dejo algunas de las dudas que más me plantean los clientes cuando hablamos de este tema.
¿Hreflang mejora mi posicionamiento?
Indirectamente, sí. No es un factor de ranking directo, pero al ayudar a Google a mostrar la versión correcta de tu página al usuario correcto, mejoras métricas de experiencia de usuario como la tasa de rebote y el tiempo en página. Además, evitas problemas de canibalización de keywords entre tus propias páginas internacionales, lo que sí consolida tu autoridad.
¿Qué pasa si mi página no tiene una versión para un idioma concreto?
Sencillamente, no incluyes una etiqueta hreflang para ese idioma. Solo debes enlazar las versiones que realmente existen. Si intentas apuntar a una URL que no existe o que redirige, generarás errores que Google Search Console te notificará.
¿Puedo usar un código de región genérico como `en-EU` para Europa o `es-LATAM` para Latinoamérica?
No, y este es un error bastante común. Los códigos de región deben corresponder a un país específico según el estándar ISO 3166-1 Alpha 2. No existen códigos para continentes o agrupaciones de países como «LATAM» o «EU». Si quieres dirigirte a todos los hispanohablantes fuera de un país concreto, lo mejor es usar el código de idioma genérico `es`.
¿Cuánto tarda Google en procesar los cambios de hreflang?
No es inmediato. Una vez que implementas o corriges las etiquetas, Google necesita rastrear de nuevo todas las URLs implicadas para procesar las relaciones. Dependiendo del tamaño de tu web y de tu frecuencia de rastreo, esto puede tardar desde unos días hasta varias semanas. Puedes intentar acelerarlo enviando tu sitemap actualizado en Google Search Console.