canonical

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

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 thoughts on “Cómo añadir la etiqueta "canonical" en Prestashop 1.5 / 1.6

  1. Luis M 6 febrero, 2016 at 8:39 PM

    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

    • SapoClay 7 febrero, 2016 at 3:03 AM

      El nombre de las páginas variarán en función de las que tú utilices en tu WP. Salu2 y de nada 😉

  2. Sara 27 septiembre, 2016 at 11:34 AM

    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

    • sapoclay 27 septiembre, 2016 at 3:56 PM

      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.

  3. estrellasdelnorte 20 diciembre, 2016 at 4:12 PM

    Gracias por la ayuda pero lo que no entiendo es ese codigo donde se pone? en header.tpl? O se hace por partes? Es decir, cogemos la primera parte y lo pegamos en “blockcategories”, el segundo en “productscategory” y asi?

    • sapoclay 20 diciembre, 2016 at 5:05 PM

      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.

      • estrellasdelnorte 20 diciembre, 2016 at 7:23 PM

        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

        • sapoclay 21 diciembre, 2016 at 12:35 AM

          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.

  4. estrellasdelnorte 21 diciembre, 2016 at 2:05 AM

    Muchas gracias SapoClay, voy a esperar y verificaré! Gracias por tu aporte

    • sapoclay 21 diciembre, 2016 at 1:10 PM

      De nada. Espero haberte sido de ayudado. Cuando verifiques te recomiendo que lo hagas con varios servicios, no te ciñas a uno solo. Gracias por la visita. Salu2.

Deja un comentario