Si tienes un sitio web en varios idiomas o dirigido a distintos países, hreflang es la señal más importante que puedes darle a Google para que muestre la versión correcta de cada página a cada usuario. Sin hreflang bien implementado, Google puede mostrar tu versión en inglés a usuarios hispanohablantes, o tu versión para España a usuarios de México. Esta guía cubre todo lo que necesitas saber para implementarlo correctamente.
¿Qué es el atributo hreflang?
Hreflang es un atributo HTML que se añade en la sección <head> de una página para indicar a los motores de búsqueda que existen versiones alternativas de ese contenido en otros idiomas o para otras regiones. Google y Yandex lo reconocen; Bing no lo soporta (usa la etiqueta Content-Language).
<!-- En la versión en español para España --> <link rel="alternate" hreflang="es-ES" href="https://ejemplo.com/es/pagina/" /> <link rel="alternate" hreflang="es-MX" href="https://ejemplo.com/mx/pagina/" /> <link rel="alternate" hreflang="en" href="https://ejemplo.com/en/pagina/" /> <link rel="alternate" hreflang="x-default" href="https://ejemplo.com/pagina/" />
La etiqueta hreflang es bidireccional: cada página debe incluir etiquetas que apunten a TODAS las variantes del cluster (incluida ella misma). Si la página A apunta a B pero B no apunta a A, Google puede ignorar la señal.
Los valores correctos del atributo hreflang
El valor del atributo hreflang sigue el estándar ISO: código de idioma (ISO 639-1) seguido opcionalmente de un guion y el código de país (ISO 3166-1 alpha-2). Ambos deben estar en minúsculas para el idioma y en mayúsculas para el país.
| Objetivo | Valor hreflang | Ejemplo |
|---|---|---|
| Español genérico | es | hreflang="es" |
| Español para España | es-ES | hreflang="es-ES" |
| Español para México | es-MX | hreflang="es-MX" |
| Inglés genérico | en | hreflang="en" |
| Inglés para EEUU | en-US | hreflang="en-US" |
| Inglés para Reino Unido | en-GB | hreflang="en-GB" |
| Página por defecto (fallback) | x-default | hreflang="x-default" |
Usa solo idioma (sin país) cuando el contenido es el mismo para todos los países que hablan ese idioma. Añade el código de país solo cuando el contenido o la oferta es específica por región (precios locales, productos distintos, contenido adaptado culturalmente).
¿Qué es x-default y cuándo usarlo?
El valor x-default indica a Google cuál es la página a mostrar cuando ninguna de las variantes hreflang coincide con el idioma o país del usuario. Suele apuntar a la página de selección de idioma o a la versión en el idioma principal del sitio.
- •Si tienes una página de selección de idioma, x-default debe apuntar a ella.
- •Si no tienes selector de idioma, x-default suele apuntar a la versión en inglés (el idioma de mayor alcance).
- •x-default no es obligatorio, pero es una buena práctica para sitios con audiencia global.
- •x-default no necesita ser una URL diferente — puede coincidir con una de las variantes hreflang existentes.
Los 3 métodos para implementar hreflang
Método 1: Etiquetas en el <head> HTML (más común)
Es el método más extendido y compatible. Las etiquetas se añaden en el <head> de cada página. Asegúrate de que las etiquetas aparezcan antes del cierre </head> y de que incluyan todas las variantes del cluster, incluida la URL de la página actual.
Método 2: HTTP headers (para PDFs y contenido no-HTML)
Si necesitas implementar hreflang en recursos que no son páginas HTML (PDFs, feeds), puedes añadirlo como header HTTP en la respuesta del servidor. La sintaxis es equivalente a la de las etiquetas HTML pero en formato de header.
Método 3: Sitemap XML
Para sitios grandes, añadir hreflang a todas las páginas puede ser complejo. El sitemap XML permite centralizar toda la configuración hreflang. En este método, el sitemap contiene las relaciones entre variantes y no es necesario añadir las etiquetas en el HTML de cada página.
<url> <loc>https://ejemplo.com/es/pagina/</loc> <xhtml:link rel="alternate" hreflang="es" href="https://ejemplo.com/es/pagina/"/> <xhtml:link rel="alternate" hreflang="en" href="https://ejemplo.com/en/pagina/"/> <xhtml:link rel="alternate" hreflang="x-default" href="https://ejemplo.com/pagina/"/> </url>
Cómo verificar que tu hreflang funciona correctamente
Después de implementar hreflang, verifica que la configuración es correcta con el Validador Hreflang de iRankly. Introduce las URLs de todas las variantes de un cluster y el validador comprueba la bidireccionalidad, la validez de los códigos de idioma/país y si alguna URL responde con error.
Prueba la herramienta gratis
Analiza tus URLs con Validador Hreflang de iRankly. Sin registro, sin tarjeta.
También puedes verificar en Google Search Console → Mejoras → Internacional → Hreflang si Google ha detectado errores en tu configuración. Los errores más frecuentes son: URL de retorno ausente, código de idioma no válido y URL que devuelve error.
La implementación concreta depende de tu plataforma, y cada método tiene su propia guía:
- Hreflang en WordPress: WPML, Polylang y sin plugin
- Hreflang en Shopify: Markets y tiendas separadas
- Hreflang en PrestaShop: multiidioma y multitienda
- Hreflang en Magento 2: store views y extensiones
- Hreflang en Next.js con el App Router
- Los 7 errores de hreflang más comunes
- Hreflang en sitemap XML para sitios grandes