Cómo añadir la etiqueta "canonical" en Prestashop 1.5 / 1.6

top feature image

Hace un tiempo busqué un poco como añadir la etiqueta “Canonical” en ciertas partes de una tienda Prestashop.canonical Creo recordar que algunos módulos hay por ahí (no sé si de pago o  gratis) pero como siempre me he decantado por añadir esta etiqueta (que tanto bien hará al SEO de nuestra web) de manera manual en el header.tpl de nuestro theme  Prestashop.

La etiqueta canónical la vamos a aplicar sobre las siguientes partes de la tienda: Categorías, productos, páginas cms y productos manufacturados.

Para el que todavía no tenga muy claro cual es la función de la etiqueta rel=”canonical” diremos a groso modo que se encarga de decirle a los buscadores qué versión del contenido duplicado es la principal y así siempre saben a qué página prestar atención, evitando que el google pagespeed nos penalice por contenido duplicado.

Por ejemplo, supongamos que si tienes una tienda online de ceniceros usados. Y tienes un catálogo tan amplio que para facilitar la búsqueda en función del presupuesto has creado un filtro que ordena los ceniceros por precio.

Resulta que la idea beneficia tremendamente al usuario, que ahora puede encontrar rápidamente el cenicero que se ajusta mejor a sus necesidades. Pero el filtro añade un parámetro al final de la URL, separado por el caracter ampersand (&):

Ahora la misma página pueden encontrarse en dos URLs, la original y la que contiene el nuevo parámetro:

  1. http://www.example.com/camaras-digitales.html
  2. http://www.example.com/camaras-digitales.html&orden=precio

Este es el clásico problema de contenido duplicado, y la solución es la etiqueta Rel=Canonical que se situará en código HTML de las páginas y que señala la versión original, de forma que el buscador sabe qué página debe indexar y cuál ignorar.

Bueno, ahora que quedo que esto quedase un poco más claro, como ya he dicho antes nos dirigiremos al archivo head.tpl de nuestro Prestashop (en mi caso lo he probado con la versión 1.6.1.1, pero estoy seguro de que funcionará con todas las versiones desde la 1.5. En las anteriores ya no he probado.

Una vez abierto, tendremos que pegar lo siguiente entre <head> y </head>

Como digo cada cual tendrá que comprobar a que partes de su web quiere aplicar rel=”canonical”. A mi lo que acabo de dejar escrito me ha resultado útil. Próximamente más unos y ceros.


10 Comments

Si no fuese por el error de los es un gran apunte. ¿el nombre de las páginas en las que se aplica la etiquéta canonical es el nombre que le das en prestashop?. Gracias por el consejo

Hola,
Un post estupendo, en muchas webs explican de que va todo esto de Rel=Canonical, pero no nos dicen como solucionarlo.

¿Entiendo que añadiendo la parte de código perteneciente a “category” y “producto” estamos estableciendo la etiqueta canonical para todas las variables, es decir, en categorías (pecio, más barato, a – z…) y en los productos (colores, tamaño)?

Muchas gracias por la ayuda

Hola, en primer lugar, gracias por la visita. En segundo lugar decirte que eso que preguntas es correcto. Coloca el código en el head.tpl de tu prestashop y todas las url pertenecientes a category y producto tendrán rel=”canonical”. A mi me ha funcionado en prestashop 1.5, 1.6 y 1.6.1.
Salu2.

Hola. El código que se muestra en el post lo deberías colocar en el archivo .tpl de la cabecera (ya que es el que se va a cargar si o si, en todas las páginas de tu web). Selecciona las partes del código donde necesites que se aplique la etiqueta canonical. Si quieres que se aplique en las categorias añadirás $page_name == ‘category’, si quieres que se aplique en los productos añadirás $page_name == ‘product’, y así sucesivamente. Pero como te digo, todo va dentro del mismo archivo entre el head y /head.
Espero haberte ayudado. Salu2 y gracias por la visita.

He usado onpage.org para verificar que le falta a mi web. Puse el codigo en /themes/midominio en header.tpl en la primera línea despues de y al verificar mi pagina en onpage.org me sale que falta la etiqueta canonica. Sabes si tengo que esperar dias para que se reconozca? :S

Hola. Si lo escribes después de la etiqueta head y estas seguro de que estás escribiendo bien los nombres de los tipos de página en las que quieres que funcione la etiqueta canonical, debería funcionar. Yo lo comprobé en el código fuente de la página en cuestión (Ctrl+U y buscando canonical). Me parece que lo había comprobado con gtmetrix y algún otro portal que te analiza la web, y me aparecía. En cuanto a lo que me dices de si tienes que esperar días, supongo que no, pero eso imagino que lo dirán en algún sitio, en la web que estés utilizando para comprobar tu web. Salu2.

Deja un comentario