Validador de hreflang
Comprueba las etiquetas hreflang de cualquier URL. Detecta x-default ausente, códigos de idioma inválidos, bidireccionalidad rota y errores de implementación.
¿Qué es hreflang y cuándo debes usarlo?
El atributo hreflang es una etiqueta HTML que indica a los motores de búsqueda qué versión de idioma o región de una página mostrar a cada usuario según su configuración de idioma y ubicación geográfica. Fue introducido por Google en 2011 y es especialmente importante para sitios con presencia internacional. Sin hreflang, Google puede mostrar la versión incorrecta de tu contenido a usuarios de distintos países, reduciendo el CTR y la relevancia percibida.
Mismo contenido, distintos idiomas
Tu sitio tiene una versión en español y otra en inglés del mismo contenido. Usa hreflang para que Google muestre la versión correcta a cada usuario.
Mismo idioma, distintas regiones
Tienes versiones para España (es-ES) y México (es-MX) con precios o referencias locales distintas. Hreflang evita que Google canibalice entre ellas.
Contenido adaptado por país
Una tienda online con versiones por país (FR, DE, IT) aunque el idioma sea el mismo. Las señales geográficas distintas justifican el uso de hreflang.
Los 5 errores más comunes en hreflang
Falta de bidireccionalidad (return tags)
Si la página A apunta a la página B con hreflang, la página B DEBE apuntar de vuelta a la página A. Es el error más frecuente y el que Google penaliza ignorando todo el grupo. Cada URL debe incluir referencias a todas las demás versiones del grupo.
URL no se incluye a sí misma
Cada página debe incluir su propia URL en el conjunto de etiquetas hreflang. Es decir, la versión española debe tener una etiqueta hreflang='es' apuntando a sí misma, además de a las demás versiones.
Código de idioma inválido
Los códigos de idioma deben seguir el estándar ISO 639-1 (ej: 'es', 'en', 'fr'). Los códigos de región deben usar ISO 3166-1 Alpha 2 (ej: 'es-ES', 'en-US'). Errores comunes: usar 'esp' en vez de 'es', o 'ENG' en vez de 'en'.
Ausencia de x-default
La etiqueta x-default indica a Google qué versión mostrar cuando ninguna otra versión de idioma o región encaja con el usuario. No es obligatoria, pero sí muy recomendable. Sin ella, Google decide por su cuenta qué versión mostrar.
Canonical en conflicto con hreflang
Si la página A tiene un canonical apuntando a la página B, pero también declara un hreflang apuntando a A, el canonical tiene prioridad y Google puede ignorar el hreflang. Cada versión debe tener un canonical self-referencial (apuntando a sí misma).
Cómo implementar hreflang correctamente
Las etiquetas hreflang se colocan en el <head> de cada página. Cada versión de idioma o región debe incluir el conjunto completo de etiquetas, apuntando a todas las demás versiones incluyéndose a sí misma.
<!-- En el <head> de cada versión de idioma --> <link rel="alternate" hreflang="es" href="https://ejemplo.com/es/producto" /> <link rel="alternate" hreflang="en" href="https://ejemplo.com/en/product" /> <link rel="alternate" hreflang="en-GB" href="https://ejemplo.com/en-gb/product" /> <link rel="alternate" hreflang="x-default" href="https://ejemplo.com/en/product" />
Asegúrate de que las URLs en hreflang son las URLs canónicas finales (con o sin trailing slash, con o sin www — siempre consistentes). Una inconsistencia en el formato puede romper toda la cadena.
¿Puedo usar hreflang y canonical juntos?
Sí, y de hecho es la configuración recomendada. La clave es que cada versión tenga su canonical self-referencial (apuntando a sí misma). El error surge cuando el canonical apunta a una versión diferente mientras hreflang intenta declarar la propia como alternativa válida.
✓ Configuración correcta
La página es-ES tiene canonical apuntando a sí misma Y hreflang declarando el grupo completo. Google entiende que es una versión legítima e independiente.
✗ Configuración incorrecta
La página es-ES tiene canonical apuntando a en-US (consolidación incorrecta). Google ignorará el hreflang porque el canonical le dice que es-ES es duplicado de en-US.