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.

Compartir en

Relacionados


Cómo configurar el slug /blog/ solo para entradas en WordPress y redirigir correctamente

En ocasiones, necesitamos modificar la estructura de enlaces permanentes en WordPress para que solo las entradas del blog tengan el slug /blog/, mientras que el […]

23/02/2024
Añadir campo personalizado a email de WooCommerce

Si utilizas Advanced Custom Fields en WordPress con WooCommerce, es muy posible que utilices algún campo personalizado en cada producto. Si quieres que ese campo […]

6 consejos sencillos para proteger tu WordPress

Proteger WordPress es crucial para mejorar la seguridad de tu sitio web. Aquí hay algunos consejos sencillos que puedes implementar: Recuerda que la prevención es […]