SmythSys IT Consulting

Cómo crear sitemaps de idiomas distintos en Prestashop y enviarlos a Google Search Console

Hace unos días explicábamos en el blog cómo añadir la etiqueta hreflang y canonical en Prestashop para evitar penalizaciones por contenido duplicado. En ese artículo decíamos que había que abrir “en Google Search un sitio por cada idioma con un sitemap independiente por cada idioma“. Algunos habéis visto que no era tan fácil, hoy os dejamos cómo hacerlo.

Google Search Console te permite decirle a Google que tienes una página y características sobre ella. Además te permite que Google te envíe errores que detecta, te indique cómo ve la página y muchas otras herramientas útiles para webmasters y dueños de páginas. Entre ellas el envío de sitemap, algo básico para indicar a Google la estructura de tu web, que tiene que indexar y qué no.

Lo realmente molesto es que tienes que abrir una propiedad por cada sitio con que cambie la url. Es decir, habría que abrir un sitio con www.tupagina.es y otro con tupagina.es  (uno con y otro sin) e indicarle cual es la principal. También había que añadir uno con http y otro con https durante la transición de páginas con y sin certificado (imagino que en un futuro sólo con https). También tenemos que añadir propiedades distintas si queremos diferenciar idiomas o sitios geográficos (puede que no sea lo mismo, ver más abajo), caso que nos incumbe ahora. Esto hace que Google los trate como sitios diferentes y no la misma web duplicada.

Cómo proceder.

Aquí hay diferencias de opiniones y no creo que nadie sea un experto. Pero apostamos por lo siguiente.

  • Añadir una propiedad por el sitio canonical. Esta es nuestra base, nuestro sitio principal y por defecto.
    Por ejemplo tudominio.es. Puede que no sea necesario si tu web principal es la de un idioma (tudominio.es/es) por eso hay gente que dice que no es necesario.
  • Añadir una propiedad por cada idioma que queramos diferenciar. Esto, junto a  una buena configuración de hreflang, hace ver a Google que cada página de idioma es diferente y así evitar las peticiones de contenido duplicado. Ya no lo serán porque serán propiedades diferentes.
    Por ejemplo tudominio.es/es/  y tudominio.es/en/
  • Añadir una propiedad por cada zona geográfica. Por ejemplo puedes querer diferenciar entre contenido para España o para sudamérica, aunque tengan el mismo idioma. Obviamente dentro hay que decirle la zona de destino preferida.

Tener una propiedad para cada idioma (caso que nos ocupa) te permite recibir estadísticas y errores de cada idioma de manera diferenciada, y tener mayor control del SEO de cada una de ellas. Además de decirle a Google que son, de hecho, sitios diferentes.

Obviamente hay que generar un sitemap por cada idioma y por la página principal. La mayoría de los plugins de Prestashop lo hacen automáticamente si detectan que tienes varios idiomas. Si no puedes generar los sitemaps a través de webs dedicadas a ello. Otro día os hablamos sobre los sitemaps en Prestashop 1.7 (no viene con módulo por defecto).

Problema.

Los plugins generan urls como:

1_es_0_sitemap.xml
1_fr_0_sitemap.xml
1_en_0_sitemap.xml

Después hay que enviar los sitemaps en cada propiedad. Pero los que habéis intentado esto en Prestashop habéis encontrado el pequeño problema que existe: la propiedad creada por cada idioma incluye en subdirectorio o delimitador de idioma, y los sitemaps cuelgan de la raíz.

Es decir en la propiedad en español tenemos que añadir (o espera) el sitemap tudominio.es/es/1_es_0_sitemap.xml  PERO la url real de ese sitemap es tudominio.es/1_es_0_sitemap.xml

Así que Google no lo encuentra.

Solución.

La solución es sencilla: hay que crear una redirección de la url que espera Google a la real. Se puede hacer de dos maneras, o directamente en Apache o Nginx (el servidor web) o, más común y más sencillo, editando el fichero .htaccess de tu servidor (si es Apache). Si no lo tienes para editar créalo por FTP.

Os pongo un ejemplo de redirección que tenéis que editar y cambiar con vuestros datos:

redirect 301 /es/1_es_0_sitemap.xml http://tudominio.es/1_es_0_sitemap.xml
redirect 301 /fr/1_fr_0_sitemap.xml http://tudominio.es/1_fr_0_sitemap.xml

Como veis esto lo que hace es que cualquier url que vaya a http://tudominio.es/es/1_es_0_sitemap.xml la lleva a http://tudominio.es/1_es_0_sitemap.xml . Es decir le quita los códigos de idioma a la url del sitemap.

La redirección 301 le indica a Google que se ha movido permanentemente a esa url (para que no penalice).

Con esto podemos mandar el sitemap de cada idioma y Google lo encontrará.

Espero que os sea útil.

Deja un comentario

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).