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


Calendario entradas wordpress
30/12/2024
Cómo modificar fechas de las entradas de WordPress de forma masiva

Durante la migración del blog de un cliente, en el feed de entradas de su antigua web, tenía una estructura limitada, con título, imagen destacada […]

agencia-marketing-digital
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 […]