hreflang le dice a un motor de búsqueda qué edición mostrar a cada lector, de modo que un visitante indonesio no llegue a su página en inglés y rebote inmediatamente. Si se equivoca, sus traducciones competirán entre sí, algo que nadie quiere.

Las reglas que importan

  • Enlace recíproco: <link rel=canonical> siempre apunta a la URL de esa misma edición, nunca al inglés.
  • Pon los mismos pares en el sitemap, porque los rastreadores confían en el sitemap cuando el <head> es largo.
  • Agregue x-default para las personas cuyas preferencias no coinciden con nada.
  • Pon esos mismos pares en el sitemap, porque los rastreadores confían más en el sitemap que en un <head> largo.
<link rel="alternate" hreflang="en" href="https://example.com/en/news/small-web-revival/" />
<link rel="alternate" hreflang="id" href="https://example.com/id/news/small-web-revival/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/news/small-web-revival/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/news/small-web-revival/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/news/small-web-revival/" />

Dos errores que están por todas partes

  1. Apuntando cada canónico a la página en inglés. Entonces Google guarda sólo una edición, normalmente la incorrecta para sus visitantes.
  2. Generando hreflang para los idiomas que eliminaste la semana pasada. Los enlaces muertos en el par le cuestan la confianza de todo el grupo.

El conjunto completo de comprobaciones es aburrido y mecánico, y aburrido significa que debe ser generado por su compilación, escrito a mano o ambos. Generarlo. Este sitio hace: ejecutar la compilación, mirar el encabezado de cualquier artículo, contar los enlaces. Hay exactamente el mismo número en el mapa del sitio, lo cual es lo mejor.