Accueil » Conseils & tutoriels sites internet » Tutos Prestashop » Prestashop : automatisez vos balises meta description

Prestashop : automatisez vos balises meta description

La meta description est l’information qui s’affiche sur les moteurs de recherche, de manière à inciter les gens à cliquer sur le lien menant vers votre site.

En règle générale, elle ne doit pas dépasser 165 caractères, être correctement rédigée (oubliez l’accumulation de mots-clés) et pousser le visiteur à venir chez vous plutôt que chez quelqu’un d’autre.

Elle requiert donc des compétences en rédactionnel, mais sur Prestashop, lors de l’ajout de produits en masse (comme lors d’un import de catalogue qui n’a pas été renseigné intégralement), il peut s’avérer nécessaire d’automatiser le processus.

Ainsi, Smarty, le fameux moteur de template, se révèle incroyablement utile pour parer à un manque tel qu’une absence totale de meta description, comme il m’est arrivé de le constater sur de nombreux e-commerces (pour des raisons de temps bien souvent, mais la meta description devrait cependant être systématiquement renseignée).

Nous savions déjà comment ajouter au thème Prestashop des balises Open Graph pour Facebook, voici donc comment mettre en place la description courte du produit ou des catégories en guise de meta description, au cas où celles-ci seraient vides.

Ouvrez le fichier /themes/VotreTheme/header.tpl. Chaque site Prestashop en a un, il s’agit de celui qui ouvre le bal. Les appels aux scripts, les metas, l’ouverture du body se trouvent ici.

Repérez la balise meta-description, qui doit normalement consister en une seule ligne.

 

L’automatisation de la meta_description depuis un thème Prestashop

En remplacement de cette balise, ajoutez ces lignes :

     {if isset($meta_description) AND $meta_description}
            <meta name="description" content="{$meta_description|truncate:250:"...":true} - {$shop_name|strip_tags}" />
            {else}
            {if $page_name == 'category'}
                {if $category->description}
                    <meta name="description" content="{$category->description_short|truncate:250:"...":true} - {$shop_name|strip_tags}" />
                {else}
                    <meta name="description" content="{$category->name|truncate:250:"...":true} - {$shop_name|strip_tags}" />
                {/if}
            {elseif $page_name == 'product'}
                {if $product->description_short}
                    <meta name="description" content="{$product->description_short|truncate:250:"...":true} - {$shop_name|strip_tags}" />
                {else}
                    <meta name="description" content="{$product->name|truncate:250:"...":true} - {$shop_name|strip_tags}" />
                {/if}
            {else}
            {/if}
        {/if}

 

Fonctionnement de l’automatisation de la meta_description

Voici comment cela fonctionne.

{if isset($meta_description) AND $meta_description} teste si votre meta description est bien renseignée. Si c’est le cas, votre site affiche alors les infos correspondantes.

Si ce n’est pas le cas, testons si nous nous trouvons sur une page produit ou une page catégorie !

Ainsi, grâce à {if $page_name == ‘category’} et {if $page_name == ‘product’}, nous savons très exactement où nous nous trouvons. Prestashop ignorera complètement le code à partir du moment où la condition ne se vérifie pas.

A partir de là, si les descriptions sont renseignées, la meta description prend alors la valeur de $category->description_short pour les catégories, et la valeur de $product->description_short pour les produits.

Imaginons un instant que même ça vous ne l’avez pas renseigné… Pas de soucis ! Puisque les produits et les catégories ont obligatoirement un nom, servons-nous alors dedans ! Le dernier test consistant à savoir si la description de produit ou de catégorie est renseignée, nous pouvons donc préciser que si ce n’est pas le cas, alors Prestashop doit afficher un simple nom, suivi du nom de la boutique (tant qu’à faire).

Ce qui nous donne donc :

{$product->name|truncate:150: »… »:true} – {$shop_name|escape:’htmlall’:’UTF-8′} pour les produits

{$category->name|truncate:150: »… »:true} – {$shop_name|escape:’htmlall’:’UTF-8′} pour les catégories

Notez la présence de |truncate, qui permet de bloquer les textes à un nombre de caractères très précis.

 

Direct en base de données !

Imaginons que votre meta_description existe, mais qu’elle ne correspond pas à vos besoins. Bon, résolvons cette problématique rapidement, mais d’emblée : sauvegardez !

Une simple requête SQL suffit à mettre à jour vos meta_descriptions si vous vous basez sur votre résumé produit. 

Rendez-vous dans votre base de données donc (et sauvegardez-la 😉 ) et depuis l’onglet SQL, copiez-collez ceci, en faisant bien attention au préfixe de vos tables, sans quoi PhpMyAdmin vous ressortira une erreur. Le code est le suivant :

UPDATE ps_product SET meta_description=SUBSTRING(description_short, 1, 165);

Soit : « mettre à jour la base de données de produits en insérant dans la meta_description le résumé, coupé à 165 caractères »

Et tout de suite vous devez comprendre deux choses :

 

Pour finir ?

Alors, automatiser son SEO sur Prestashop, plutôt facile avec Smarty, non ? N’oubliez pas d’ajouter vos balises Open Graph pour Facebook en suivant ce tutoriel ! Et si vous désirez disposer d’un des meilleurs modules de référencement naturel pour Prestashop 1.6 ou 1.7, cliquez ici pour découvrir Ever SEO, l’arme ultime de visibilité en ligne !

Imprimer Imprimer
Suivre Cyssoo:

Développeur - formateur

Je cherche à display errors le monde, vous auriez pas la doc' ? Follow me on Twitter !

  1. najdev
    | Répondre

    Bonjour, pas mal même si je ne comprends pas comment des sites e-commerce ne font pas attention à cette balise qui n’apporte rien du point de vue seo mais qui est très utile dans les serps pour augmenter son taux de clique.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.