Hreflang: que Google muestre a cada uno su idioma
Elhreflang es una anotación que le dice a Google qué páginas son la misma en otro idioma o para otro país, para que muestre a cada persona su versión. No traduce ni redirige nada, y solo cuenta si las versiones se enlazan entre sí. En un sitio en catalán y castellano, es lo que ayuda a que quien busca en castellano llegue a la página castellana.
Para quien tiene el sitio en varios idiomas o países y ve en Google la versión que no toca.
Las tres líneas, idénticas en las dos páginas
Qué hace el hreflang y qué no hace
Google lo usa para entender que varias direcciones son variantes localizadas del mismo contenido.
Una traducción no es contenido duplicado: Google solo lo considera así si el contenido principal queda sin traducir. Traducir solo el menú y el pie es un problema de contenido, no de hreflang.
Idioma, región y x-default
Obligatorio, en ISO 639-1
Dos letras: ca, es, en. Va siempre primero; el país solo no vale: «be» es el bielorruso, no Bélgica.
Opcional, en ISO 3166-1
Dos letras detrás del idioma: es-ES, en-GB. Google no admite es-419 e ignora códigos reservados como EU, UN o UK.
x-default
La página para quien no encaja en ningún idioma declarado. Pensada para los selectores de idioma, vale para cualquier página.
Indiferentes
Google acepta es-es y es-ES. La convención es escribir la región en mayúsculas.
Así lo declara la portada de nuestra web, con el castellano en la raíz y el catalán en /ca/. Las dos versiones llevan estas tres líneas:
<link rel="alternate" hreflang="ca" href="https://daimatics.agency/ca/">
<link rel="alternate" hreflang="es-es" href="https://daimatics.agency/">
<link rel="alternate" hreflang="x-default" href="https://daimatics.agency/">
Nuestro criterio: pon la región solo si el contenido cambia por país: precios, envíos o normativa. Si no, el código de idioma solo ya vale para todos los países.
Tres maneras, y tienes que elegir una
Para Google son equivalentes. Usarlas a la vez no aporta nada y es más difícil de mantener.
En el código HTML
Una etiqueta link por versión dentro del head, incluida la propia página. El conjunto es idéntico en todas las versiones.
En la cabecera HTTP
Una línea Link en la respuesta del servidor. Es la vía para los archivos sin HTML, como los PDF.
En el sitemap
Cada dirección lleva tantos xhtml:link como versiones, ella incluida. No cuentan para el límite de direcciones del sitemap.
<url>
<loc>https://example.com/ca/serveis/</loc>
<xhtml:link rel="alternate" hreflang="ca" href="https://example.com/ca/serveis/"/>
<xhtml:link rel="alternate" hreflang="es" href="https://example.com/servicios/"/>
</url>
Para todas: direcciones completas con https, cada versión se incluye a sí misma y, en HTML, las etiquetas van dentro de un head bien formado.
Dos etiquetas que no se deben contradecir
Las dos viven en el head, con las demás meta tags. El canonical dice qué dirección es la original de un grupo de duplicados; el hreflang, cuáles son traducciones.
Nuestro criterio: cada dirección del hreflang tiene que ser la canónica de su versión y responder sin redirección ni noindex.
Por qué Google muestra la versión que no toca
Falta la vuelta
Si la página X apunta a la Y y la Y no vuelve a la X, Google puede ignorar las etiquetas. Pasa a menudo al añadir un idioma.
Relativas o con http
Google pide direcciones completas, con el protocolo, y avisa de no poner la versión http cuando la buena es la https.
Por idioma o por IP
Googlebot rastrea sobre todo desde Estados Unidos y sin cabecera de idioma: si rediriges, puede no ver nunca las otras versiones.
Un slug cambiado a medias
Cambias el permalink de una versión y las otras siguen apuntando al antiguo.
Dos miradas a Search Console y una al código
Una parte de la revisión de SEO técnico que se puede hacer sin herramientas de pago.
La canónica que elige Google
La inspección de URLs de Search Console te dice qué canónica ha elegido Google para cada versión.
Las consultas de cada versión
En el informe de rendimiento, filtra por página y por país. Si las búsquedas en castellano caen en la versión catalana, revísalo.
El código de cada versión
Pega las etiquetas de cada versión en el revisor de aquí abajo.
Revisor de hreflang: pega dos o tres versiones
Pon la dirección de cada versión y pega en ella las etiquetas link de su head, o el código fuente entero. Trae un ejemplo ilustrativo con un error: cámbialo por tus etiquetas.
El resultado
Rellena como mínimo dos versiones, con la dirección y las etiquetas.
Todo cuadra: códigos válidos, direcciones completas, cada versión se lista a sí misma y todas se enlazan entre sí.
No hay errores, pero mira los avisos.
Hay errores: con estas etiquetas, Google puede ignorar el hreflang o una parte.
- Códigos no válidos: . Idioma en ISO 639-1 y, si hace falta, región en ISO 3166-1.
- Direcciones relativas o sin https: .
- No se listan a sí mismas las versiones .
- Faltan vueltas. La primera versión de cada pareja no apunta a la segunda: . Sin vuelta, Google ignora la pareja.
- Un mismo código con dos direcciones: .
- Canonical hacia otra dirección en las versiones . Cada versión tiene que ser su propia canónica.
- Aviso: alguna versión no lleva x-default. No es obligatorio, pero Google lo recomienda como página por defecto.
- Aviso: los conjuntos de etiquetas no son idénticos entre versiones, y Google pide el mismo conjunto en todas.
Criterio propio de Daimatics sobre la documentación de Google. Todo pasa en tu navegador: lo que pegas no se envía a ningún sitio.
Cuando el idioma ya te hace perder visitas
- Google muestra la página catalana a quien busca en castellano, o al revés.
- Search Console elige como canónica la versión de otro idioma.
- Añades un idioma o un país y las páginas nuevas no salen.
- Preparas una migración o un cambio de direcciones en un sitio con varios idiomas.
Antes de tocar nada, revisamos el sitio, Search Console y cómo genera las etiquetas tu gestor de contenidos.
Dudas sobre el hreflang
Si la página B no vuelve a la A, para Google es como si la etiqueta no estuviera.
¿Qué es el hreflang y para qué sirve?
¿Qué es hreflang x-default y cuándo hay que ponerlo?
¿Cómo se combinan el hreflang y el canonical?
¿Qué código hreflang pongo para el catalán y el castellano?
¿Por qué Google muestra la versión en otro idioma si tengo hreflang?
¿Cómo compruebo si el hreflang está bien puesto?
Fuentes oficiales
Google Search Central
- Versiones localizadas de una página
- Sitios multirregionales y multilingües
- Consolidar direcciones duplicadas
Ayuda de Search Console