Hreflang en PrestaShop con un ejemplo: ¿tus versiones de idioma se enlazan bien entre sí?
Las etiquetas hreflang de PrestaShop están en la cabecera de la página y dicen a Google que la misma página existe en otros idiomas, y dónde. Funcionan cuando cada versión apunta a todas las demás y a sí misma, cada URL devuelve un 200 y la canónica apunta a su propio idioma. Puedes comprobarlo en el código de la página o con el chat.
Autor: El equipo de TellMyShop. Una guía para dueños de tiendas PrestaShop: la causa, el arreglo manual y el mismo trabajo en una conversación con el chat.
Última actualización: · 6 min de lectura
¿Cómo funciona el hreflang en una tienda con tres idiomas?
Es más fácil enseñarlo con un ejemplo. Tomemos una tienda de lámparas en tres idiomas y un producto, el farol Nora. Las URL y los nombres son ejemplos.
| Versión | URL del producto | Canónica | Hreflang en esta página |
|---|---|---|---|
| Polaca | /pl/lampiony/215-lampion-nora.html | la URL polaca | pl, en, de |
| Inglesa | /en/lanterns/215-nora-lantern.html | la URL inglesa | pl, en, de |
| Alemana | /de/laternen/215-laterne-nora.html | la URL alemana | pl, en, de |
Cada una de las tres páginas tiene el mismo conjunto de tres enlaces, incluido un enlace a sí misma. La canónica de cada página apunta a su propia URL, no a la versión polaca. Así lo describe Google en su guía sobre las versiones localizadas de las páginas: el conjunto de enlaces debe ser idéntico en cada versión.
En el código de la página queda más o menos así:
<link rel="canonical" href="https://shop.example/en/lanterns/215-nora-lantern.html">
<link rel="alternate" href="https://shop.example/pl/lampiony/215-lampion-nora.html" hreflang="pl-pl">
<link rel="alternate" href="https://shop.example/en/lanterns/215-nora-lantern.html" hreflang="en-us">
<link rel="alternate" href="https://shop.example/de/laternen/215-laterne-nora.html" hreflang="de-de">
PrestaShop toma los códigos de idioma de los ajustes de Internacional → Localización → Idiomas. Si vendes al Reino Unido pero el inglés tiene el código en-us, Google entiende que esa versión es para estadounidenses. Ya que estás, vale la pena revisarlo.
¿Qué rompe más a menudo el hreflang en PrestaShop?
Las etiquetas suelen estar, pero apuntan a algo que Google no acepta. En las tiendas se repiten cinco situaciones:
La canónica apunta a otro idioma. Un módulo SEO o un arreglo manual del tema pone como canónica de todas las versiones la URL polaca. Google recibe señales contradictorias: el hreflang dice «son versiones distintas», la canónica dice «esto es una copia de la polaca». Normalmente gana la canónica y las versiones extranjeras desaparecen de los resultados.
Un enlace lleva a una redirección o a un 404. El producto está desactivado en una versión de idioma, o cambiaste su URL solo en un idioma. Los cambios de URL los tratamos en el artículo sobre cambiar la URL de un producto.
Falta contenido en un idioma. La versión inglesa tiene el menú traducido, pero la descripción del producto sigue en polaco. Google dice claramente que las versiones son duplicados cuando el contenido principal no está traducido. El artículo sobre traducir una tienda PrestaShop muestra qué traducir y en qué orden.
Un módulo redirige por navegador o por país. Un cliente de Alemania va directo a la versión alemana. El rastreador de Google, que llega con otros ajustes, puede no ver nunca las demás versiones.
El tema no tiene etiquetas, o las tiene dos veces. Un tema comprado quita el bloque de la cabecera, y un módulo SEO añade sus propios enlaces. La página tiene entonces dos conjuntos, a veces con códigos de idioma distintos.
Cómo comprobar el hreflang paso a paso
Revisa una página de cada tipo: la página de inicio, una categoría y un producto. Los problemas suelen repetirse en todo el tipo de página.
- Abre un producto en la versión polaca y mira el código fuente de la página (Ctrl+U en la mayoría de los navegadores).
- Busca el texto
hreflang. Apunta cuántos enlaces hay y qué códigos de idioma tienen. - Busca
canonical. La URL debe ser la misma que la de la página que estás viendo. - Abre cada URL de los enlaces hreflang. Cada una debe cargar sin redirección.
- En una página de otro idioma, repite los pasos 2 y 3. El conjunto de enlaces debe ser el mismo.
- Comprueba que el contenido de la página en el idioma extranjero está de verdad traducido, no solo el menú.
En una tienda más grande, revisarlo a mano lleva mucho tiempo, así que empieza por las páginas con tráfico del extranjero. La ayuda de Google sobre versiones localizadas también describe las reglas para enlazar versiones de idioma, y la guía de MyPresta sobre hreflang reúne los errores típicos en tiendas PrestaShop.
¿Los dominios separados por idioma funcionan igual?
El principio es el mismo, pero PrestaShop ayuda menos. Cuando la versión alemana funciona como una tienda aparte en modo multitienda, por ejemplo en un dominio .de, cada tienda tiene su propia lista de idiomas. El tema crea enlaces solo a los idiomas de esa tienda, así que la página polaca normalmente no apuntará al dominio alemán, ni la alemana a la polaca.
En esa configuración hay dos caminos. El primero es un módulo que enlaza los productos entre tiendas y genera un conjunto común de enlaces. El segundo es un sitemap con enlaces hreflang, que Google también acepta. Los dos exigen que los productos de ambas tiendas se puedan emparejar sin ambigüedad, por ejemplo por el mismo ID o la misma referencia. Antes de empezar, comprueba en unos cuantos productos que los pares coinciden, porque un par equivocado es peor que ninguno.
¿Cómo comprobará el chat las versiones de idioma de tu tienda?
Le pides que revise unas cuantas páginas en unos cuantos idiomas. Tu chat (Claude o ChatGPT) con el módulo TellMyShop abre cada una tal como la ve Google y pone los resultados en una tabla: código de respuesta, redirecciones, canónica, pares hreflang y meta robots.
Tú: Comprueba si las versiones pl, en y de del farol Nora se enlazan bien entre sí.
Tu chat: Las versiones polaca y alemana están bien. En la inglesa, la canónica apunta a la URL polaca, así que Google puede tratarla como una copia.
Tu chat: La descripción del producto en la versión inglesa está en polaco. Propongo esta traducción:
Tu chat: La canónica la pone el módulo SEO en la cabecera de la página. Es un cambio en los ajustes del módulo, no en el producto.
Tú: Guarda la traducción. La canónica del módulo la miramos mañana.
Tu chat: Guardada en la versión inglesa. El cambio está en el historial de cambios.
versión anterior: Lampion z kutego metalu, wysokość 40 cm, do ogrodu i na taras.
versión nueva: Wrought metal lantern, 40 cm tall, for the garden and the patio.
Los valores del ejemplo son ilustrativos. En tu tienda, el chat te enseña los datos de tus páginas.
En la versión gratuita TellMyShop Free, el chat revisa las páginas en cada idioma y te dice qué está mal, pero no guarda nada. Tienes un ejemplo de esta petición en el caso de uso comprobar si las versiones de idioma se enlazan entre sí.
En TellMyShop Pro, las traducciones de descripciones, categorías, páginas y datos meta se guardan nada más activar la licencia, con vista previa y tu conformidad. Puedes deshacer cualquier cambio desde el historial de cambios. Los ajustes del módulo SEO los cambias cuando está activado el interruptor Módulos, y el bloque de etiquetas de la plantilla del tema cuando está activado el interruptor Tema. Los dos duran 24 horas y necesitan una copia de seguridad de la base de datos de hoy. Traducir toda la tienda capa por capa se describe en el caso de uso traducir toda la tienda, y los planes están en la página de precios.
Preguntas y respuestas
¿PrestaShop añade solo las etiquetas hreflang?
El tema Classic añade en la cabecera de la página un enlace a cada versión de idioma activada. Los temas comprados aparte pueden hacerlo de otra forma o no hacerlo. Así que revisa siempre el código de una página de tu propia tienda en lugar de dar por hecho que está bien.
¿Una versión de idioma sin traducir es un duplicado?
Sí, si el contenido principal de la página sigue en el idioma original. Google trata las versiones de idioma como duplicados cuando solo cambian el menú y los botones. Traduce primero las descripciones de productos y categorías que tienen tráfico.
¿Qué es x-default y lo necesito?
Apunta a la página para las personas cuyo idioma no ofrece la tienda, por ejemplo una página de elección de idioma o la versión en inglés. No es obligatorio. Es útil cuando la tienda vende en el extranjero en varios idiomas.
¿La redirección automática según el idioma del navegador hace daño?
Puede hacerlo. El rastreador de Google suele llegar sin tus ajustes locales y, tras una redirección, solo ve una versión de la tienda. Es mejor sugerir al cliente un cambio de idioma y dejarle elegir.
¿TellMyShop Free puede comprobar el hreflang?
Sí. La versión gratuita TellMyShop Free abre las páginas de la tienda tal como las ve Google y muestra el código de respuesta, la canónica y los pares hreflang. TellMyShop Pro guarda las correcciones de traducciones y de la plantilla del tema.
PrestaShop es una marca registrada de PrestaShop SA. Claude es una marca de Anthropic PBC. ChatGPT y OpenAI son marcas de OpenAI. TellMyShop no está afiliado a estas empresas.