Implementación de h...
Avisos
Vaciar todo

Implementación de hreflang incorrecta en Prestashop  

 
Jose
 Jose
Usuario activo

El 9 de octubre recibí un mensaje de Seach Console advirtiendo que la web tiene implementado incorrectamente la etiqueta hreflang en mi prestashop.
En el Panel de Control de Seach Console, en el apartado Segmentación Internacional, la gráfica muestra que el error se detectó el 4 de octubre (más o menos desde que actualiamos el prestashop 1.6.1.7).
Sin tener acceso al código html del prestashop, ¿CÓMO PUEDO ACCEDER A CADA PAGINA DE IDIOMA PARA CREAR UNA ETIQUETA DE RETORNO AL IDIOMA ORIGINAL?
Sé que cada idioma debe contemplar los idiomas en los que se encuentra esa versión.
Otro aspecto que no entiendo, es que esto debería hacerlo automaticamente el prestashop al proporcionar la opción de idiomas. Por lo que, el problema es un error de implementación del mismo prestashop y deberían solucionarlo ellos o al menos facilitar cómo hacerlo.
Como webmaster de la web, tengo acceso a todo pero mis conocimientos son limitados y no encontrado nada que se ajuste a este error de implementación del hreflang en prestashop.

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 27/10/2016 10:10 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Jose.

Para habilitar estas etiquetas, que sin duda, ayudarán mucho a mejorar el SEO de prestashop, tienes que hacer uso correctamente de la clase $link y las funciones getCategoryLink, getProductLink, getCMSLink, getManufacturerLink y añadirlas en el header.tpl (dentro del del documento) de tu tema.

.- Edita el archivo header.tpl que encontraras en themes/tuplantilla/header.tpl
.- Añade este código dentro del del archivo:

{if $page_name == 'category'}
    getCategoryLink($smarty.get.id_category, null, $id_lang,null,null )}" />    
    {foreach $languages as $lang}getCategoryLink($smarty.get.id_category, null, $lang.id_lang,null,null )}" />{/foreach}
{/if}
 
{if $page_name == 'product'}
    getProductLink($smarty.get.id_product, null, null, null, $id_lang, null, 0, false)}" />    
    {foreach $languages as $lang}getProductLink($smarty.get.id_product, null, null, null, $lang.id_lang, null, 0, false)}" />{/foreach}
{/if}
 
{if $page_name == 'cms'}
    getCMSLink($smarty.get.id_cms, null, false, $id_lang)}" />    
    {foreach $languages as $lang}getCMSLink($smarty.get.id_cms, null, false, $lang.id_lang)}" />{/foreach}
{/if}
 
{if $page_name == 'manufacturer'}
    getManufacturerLink($smarty.get.id_manufacturer, null, null, null, $id_lang, null, 0, false)}" />    
    {foreach $languages as $lang}getManufacturerLink($smarty.get.id_manufacturer, null, null, null, $lang.id_lang, null, 0, false)}" />{/foreach}
{/if}

En el ejemplo se generan para un sitio multiidioma, sin multitienda y sin https en las siguientes páginas: categorías, productos, cms y listado de productos del fabricante / marca. De esta forma todos estos tipos de páginas de la tienda online, tendrán el link canonical y el atributo hreflang.

Nota: Recuerda realizar una copia del archivo antes de cualquier modificación, solo con un copia y pega en el block de notas tendrás suficiente para dejarlo como estaba anteriormente.

Un saludo

ResponderCitar
Respondido : 27/10/2016 10:51 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Jose
 Jose
Usuario activo

Ok, gracias! Voy a probar.

¿Cómo puedo comprobar que está solucionado?

ResponderCitar
Respondido : 27/10/2016 11:54 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola José.

Una vez insertado este código e indexada las páginas, en Tráfico de búsqueda > Segmentación Internacional de tu cuenta de Webmaster, la herramienta te muestra cuantas hreflang se encuentran en el sitio, y puedes averiguar posibles errores.

Un saludo

ResponderCitar
Respondido : 27/10/2016 1:50 pm

Cursos Gratuitos WordPress

Lydia
 Lydia
Usuario activo

Buenos dias,
¿Como sería para usarlo con https?
Muchas gracias 😉

ResponderCitar
Respondido : 10/02/2017 2:41 pm
Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

No se si te refieres a cargar tu web con el protocolo https, ya que esto sería un tema distinto.

De ser así, envía un ticket a soporte desde tu área de cliente, ya que desde ahí te podrán dar información sobre cómo instalar un certificado SSL de forma gratuita, requisito imprescindible para cargar la web con https.

ResponderCitar
Respondido : 10/02/2017 4:47 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Lydia
 Lydia
Usuario activo

Hola,
Me refiero a esto que habeis dicho despues de la solución propuesta:

En el ejemplo se generan para un sitio multiidioma, sin multitienda y sin https...

Mi sitio si tiene certificado SSL instalado
Gracias

ResponderCitar
Respondido : 10/02/2017 5:34 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Creo que el código no cambia, ya que veo que se usa la variable $link para recuperar el protocolo con el que se esta trabajando, por lo tanto no deberías tener problemas en usar el código con htttp o con https

href="{$link->

Saludos

ResponderCitar
Respondido : 10/02/2017 6:50 pm

Lydia
 Lydia
Usuario activo

Gracias, voy a probarlo.

ResponderCitar
Respondido : 10/02/2017 6:53 pm