En una tienda multilingüe, la misma ficha de producto existe en cinco versiones. Sin indicación, un motor de búsqueda ve cinco páginas parecidas, elige una por consulta y puede perfectamente servir la versión española a un visitante alemán. Las etiquetas hreflang existen para evitarlo.
Se entienden mal, se colocan a menudo mal, y PrestaShop no las genera de forma completa de manera nativa.
Lo que hace hreflang, y lo que no
Una precisión útil antes de cualquier configuración. Hreflang no hace subir una página en los resultados. Es una señal de correspondencia, no de calidad.
Lo que aporta en concreto: indica qué versión servir según la lengua y la región del visitante, y agrupa las versiones entre sí para que no compitan. Una página alemana bien posicionada en Alemania conserva su clasificación, y el visitante francés recibe la versión francesa en lugar de la misma página en alemán.
En un sitio donde todas las versiones están en la misma lengua, español de España y español de México por ejemplo, hreflang es el único medio de dejar claro a qué público se dirige cada una.
Las tres reglas absolutas
Una implementación hreflang es válida o no lo es. No hay medias tintas, y tres reglas lo condicionan todo.
- La reciprocidad. Si la página francesa apunta a la página alemana, la página alemana debe apuntar a la francesa. Un enlace no recíproco se ignora. Es la primera causa de fallo.
- La autorreferencia. Cada página debe declararse a sí misma en la lista. Una página francesa que solo lista el alemán y el español está incompleta.
- La coherencia con la etiqueta canónica. Cada página debe tener una canónica que apunte a sí misma. Una canónica que apunta a otra versión anula todo el dispositivo, puesto que le dice al motor que esa página no es la correcta.
Añadamos una restricción de formato: el código de lengua sigue la norma ISO 639-1, el código de país opcional la norma ISO 3166-1. «es» es válido, «es-ES» también, «es-es» se tolera, pero «es-EU» no lo es, ya que la Unión Europea no es un país.
Lengua o lengua más país
Elección estructurante que depende de tu modelo.
Si vendes el mismo catálogo en las mismas condiciones a todos los hispanohablantes, basta con un simple «es». Si tienes una tienda española y una tienda mexicana con precios y gastos de envío distintos, hacen falta «es-ES» y «es-MX».
El segundo caso es más potente y más frágil: multiplica el número de relaciones que mantener. Tres lenguas y cuatro países dan doce versiones, luego ciento treinta y dos relaciones recíprocas que mantener correctas.
Módulo Hreflang PrestaShop 8 — Etiquetas Alternate SEO Multilingüe | DataFireflyEtiquetas hreflang correctas en todas las páginas de PrestaShop 8: URLs nativas traducidas, x-default, grupos multitenda y más de 70 códigos hreflang.€29,00
Dónde colocar las etiquetas
Tres emplazamientos posibles, uno solo basta y no hay que mezclarlos.
En la cabecera HTML de la página. El más habitual, el más fácil de controlar y el más pesado si tienes doce versiones: doce líneas adicionales en cada página.
En el sitemap XML. Más ligero del lado de la página, y práctico con un gran número de versiones. En contrapartida, un error es menos visible y el archivo se vuelve voluminoso.
En las cabeceras HTTP. Reservado a los archivos no HTML, típicamente PDF multilingües.
La etiqueta x-default
Designa la página a servir cuando ninguna versión corresponde a la lengua del visitante. Un visitante japonés en un sitio francés, inglés y alemán debe aterrizar en alguna parte.
Dos usos correctos: apuntar a la versión inglesa, o a una página de selección de país. Un uso incorrecto y frecuente: apuntar a la versión francesa declarándola también como «fr». La página puede acumular ambos papeles, pero la declaración debe ser explícita.
Los errores más frecuentes
- Hreflang hacia una página no traducida. Una ficha existe en el selector de lengua pero su contenido sigue en el idioma original. El motor comprueba que ambas páginas son idénticas y deja de confiar en el conjunto de las declaraciones.
- Hreflang hacia una redirección. La URL declarada devuelve un código 301. El enlace se ignora.
- Hreflang hacia una página bloqueada. La URL está prohibida en el archivo robots, o lleva una etiqueta noindex. Contradicción directa.
- Declaración parcial. Solo están cubiertas las páginas de inicio, y no las fichas ni las categorías. Es el caso más extendido, y no sirve prácticamente de nada.
- Productos desactivados en una lengua. Una referencia vendida en España pero no en Alemania rompe la reciprocidad si la declaración sigue apuntando a una página inexistente.
El caso PrestaShop
Dos arquitecturas coexisten y no piden el mismo tratamiento.
En multilingüe simple, una tienda con varias lenguas, las URL se distinguen por un prefijo de lengua. Las relaciones son fáciles de establecer puesto que cada producto tiene un identificador único común a todas sus traducciones.
En multitienda, una tienda por país con dominios distintos, la correspondencia ya no es automática. Un producto puede llevar identificadores diferentes según las tiendas, o existir en una y no en otra. Ahí es donde la generación manual se vuelve impracticable.
Controlar
Tres verificaciones, en este orden. El código fuente de una ficha de producto, para ver las etiquetas realmente presentes. El informe de segmentación internacional de Search Console, que saca a la luz los errores de reciprocidad y los códigos inválidos. Y un control por muestra sobre una veintena de páginas tomadas al azar, porque los errores rara vez se concentran en la página de inicio.
El módulo Hreflang para PrestaShop genera estas etiquetas automáticamente en PrestaShop 8 y 9: cobertura de todas las páginas y no solo del inicio, gestión del multitienda y de las correspondencias entre dominios, x-default configurable y exclusión de los productos no disponibles en una versión.