Réduire le contenu dupliqué dans Prestashop

Pour faire simple, la description des catégories de produit dans Prestashop pose problème car elle est répétée même sur les page 1, 2, 3 etc ainsi que sur toutes les autres pages qui ont un filtre : tri de A à Z, du plus cher au moins cher, etc.

Par défaut, vous aurez toujours ça sur un Prestashop. Si vous souhaitez réduire ces contenus dupliqués, allez dans le dossier de votre thème et ouvrez category.tpl.

Cherchez le texte « cat_desc » puis remplacez les 3 lignes qui permettent d’afficher la description par :

{if $category->description && 
    $p == 1 && 
    !$smarty.server.REQUEST_URI|strstr:"p=" &&
    !$smarty.server.REQUEST_URI|strstr:"p%3D" &&
    !$smarty.server.REQUEST_URI|strstr:"n=" &&
    !$smarty.server.REQUEST_URI|strstr:"id_category=" &&
    !$smarty.server.REQUEST_URI|strstr:"orderway=" &&
    !$smarty.server.REQUEST_URI|strstr:"orderby="}
    <div class="cat_desc">{$category->description}</div>
{/if}

Et voila, vous avez beaucoup moins de dupliqué !

Attention, certains thèmes sont en ajax et cela pose problème notamment avec la ré-écriture d’url. Le code ci-dessous a bien fonctionné pour l’un de mes clients qui avait un thème dont tous les filtres étaient en Ajax :

{if $category->description && 
    $p == 1 && 
    !$smarty.server.REQUEST_URI|strstr:"p=" &&
    !$smarty.server.REQUEST_URI|strstr:"p%3D" &&
    !$smarty.server.REQUEST_URI|strstr:"n=" &&
    !$smarty.server.REQUEST_URI|strstr:"id_category=" &&
    !$smarty.server.REQUEST_URI|strstr:"orderway=" &&
    !$smarty.server.REQUEST_URI|strstr:"categories-" &&
    !$smarty.server.REQUEST_URI|strstr:"page-" &&
    !$smarty.server.REQUEST_URI|strstr:"orderby="}
    <div class="cat_desc">{$category->description}</div>
{/if}

PS : pensez à désactiver le cache et à activer la compilation pour voir l’effet de ce bout de code sur votre boutique.

10 erreurs CSS à éviter
Modifier la catégorie d'un produit sous Prestashop via PhpMyAdmin

2 Comments on “Réduire le contenu dupliqué dans Prestashop”

  1. Bonjour,

    Il y a également la balise link rel=’next’ link rel=’prev’ pour indiquer à Google qu’il s’agit d’une même page avec pagination.

    ++
    @prestarocket

    1. Hello,

      Effectivement, mais la bidouille en Smarty ne fonctionne pas sur les versions de Prestashop qui tournent avec Smarty 2 il me semble.
      Peux-tu confirmer ?

      Tu as une solution passe-partout pour mettre en place ses balises ?

      Merci

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *