Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.
Mejorar SEO canonicals Prestashop
09 enero, 2024
Os compartirmos un fragmento de código que mejora el comportamiento de las etiquetas canonical en Prestashop.
La etiqueta canonical se utiliza para indicar a los motores de búsqueda cuál es la URL preferida o principal para una página específica, ayudando a evitar problemas de contenido duplicado.
Por defecto, Prestashop indica como canonical la misma página en la que está el usuario. Esta práctica puede generar problemas o dificultar nuestro SEO, especialmente en situaciones como la paginación, donde varias páginas pueden mostrar contenido similar.
Con nuestro código establecemos como canonical la primera página, ya sea de categorías o de marcas, para concentrar todo el valor SEO en la URL sin los parámetros de paginación o filtros.
Para implementar esta mejora es necesario editar el archivo themes>TU_TEMA>templates>_partials>head.tpl
Busca el siguiente código en tu archivo:
{if $page.canonical}
<link rel="canonical" href="{$page.canonical}">
{/if}
Solo tendrás que sustituirlo por nuestro código con las canonical mejoradas:
<!-- CANONICAL -->
{if $page_name == 'index'}
<link rel="canonical" href="{$link->getPageLink('index', 'true', $id_lang)}" />
{/if}
{if $page_name == 'category'}
<link rel="canonical" href="{$link->getCategoryLink($smarty.get.id_category, null, $id_lang, null, null )}" />
{/if}
{if $page_name == 'cms' && $smarty.get.id_cms > 0}
<link rel="canonical" href="{$link->getCMSLink($smarty.get.id_cms, null, false, $id_lang)}" />
{/if}
{if $page_name == 'manufacturer'}
{assign var='manufacturerId' value=$smarty.get.id_manufacturer}
{if isset($manufacturerId) && $manufacturerId}
{assign var='manufacturer' value=Manufacturer::getNameById($manufacturerId)}
{if isset($manufacturer) && $manufacturer}
<link rel="canonical" href="{$link->getManufacturerLink($manufacturerId, Tools::link_rewrite($manufacturer), $id_lang)}" />
{/if}
{/if}
{/if}
<!-- ./CANONICAL -->
Si tienes activada la caché deberás ir a la administración de tu Prestashop, a Parámetros avanzadazos>Rendimiento y borrar la caché en el botón ubicado arriba a la derecha.
Después actualiza la página y comprueba en el código fuente que las canonicals cargan correctamente según la página en la que estás.
Si tienes alguna duda, sugerencia o te hemos ayudado, puedes dejarnos un comentario.