Etiqueta Canonical para Prestashop y Magento

Desde que en 2011 Google lanzara la evolución de su algoritmo llamada Panda el termino contenido duplicado ha llenado muchas ponencias y conferencias sobre SEO, y han corrido ríos de tinta al respecto, sin embargo la mayoría de sitios web aún siguen sin saber como corregir este problema y en muchos casos ni siquiera lo han detectado. Aqui te dejo una solución

Personalmente me encuentro muchos casos de contenido duplicado en tiendas de comercio electrónico generados como norma general por los buscadores del sitio web o los filtros que le ofrecen al los usuarios para afinar sus búsquedas, como muestro en el ejemplo:

url-canonical-duplicada

En muchos casos de contenido duplicado la mejor solución es crear redirecciones 301 hacia el contenido original o impedir la indexación a través del fichero robots.txt, pero en casos como este donde el cambio de URL no modifica el contenido y además no podemos realizar una redirección una solución adicional la proporciona la etiqueta canonical

Esta etiqueta le indica al robot de Google que a pesar de haber encontrado ese contenido, el original está en otro lugar de la web (o de otro dominio) de forma que no indexa el contenido encontrado sino el indicado en la URL definida en la etiqueta canonical

Como 2 de los CMS más extendidos en comercio electrónico son Magento y Prestashop, os dejo unos fragmentos de código para solucionar este problema y que el CMS genere automáticamente las URLs canónicas del sitio web

Etiqueta CANONICAL para Prestashop

Tendréis que editar el fichero header.tpl de vuestro tema de prestashop y pegar este código entre las etiquetas <head> y </head>

<!-- canonical -->
{if $page_name == 'index' or $page_name == 'search'}
<link rel="canonical" href="{$base_dir}" />
{elseif $page_name == 'category' or $page_name == 'best-sales' or $page_name == 'cart'
or $page_name == 'discount' or $page_name == 'manufacturer' or $page_name == 'new-products'
or $page_name == 'prices-drop'}
<link rel="canonical" href="{$base_dir}
{$request_uri|substr:1|regex_replace:'/\/(.*)/':''|regex_replace:'/\?(.*)/':''}" />
{else}
<link rel="canonical" href="{$base_dir}{$request_uri|substr:1}" />
{/if}
<!-- /canonical -->

Etiqueta CANONICAL para Magento

En Magento hay que editar el fichero head.phtml y pegar el código siguiente entre las etiquetas <head> y </head>

<!-- canonical -->
<?php if(Mage::registry("product")): ?>
<link rel="canonical" href="<php echo Mage::registry("product")->getProductUrl(); "?>
<?php elseif(Mage::registry(?current_category?)): ?>
<link rel="canonical" href=?"<?php echo Mage::registry("current_category")->getUrl(); ">?
<?php endif; ?>
<!-- /canonical -->

De esta forma solventaremos la mayoría de problemas de contenido duplicado en la web relacionadas con los parámetros que estos CMS añaden a las URLs para procesar búsquedas, filtros etc

Soy Consultor SEO

Puedo ayudar a su proyecto online a conseguir la visibilidad que necesita