Ajouter du html dans les descriptions de catégories PrestaShop

PrestaShop, Référencement, Tips
  • Accueil
  • Blog
  • Ajouter du html dans les descriptions de catégories PrestaShop

Le nerf de la guerre aujourd’hui sur Internet, c’est le référencement naturel autrement dit tout le contenu unique et pertinent que vous allez pouvoir inclure dans votre boutique PrestaShop, dans vos descriptions catégories et produits notamment… Et oui, c’est fini le temps de la course aux backlinks !

Contenu de qualité, référencement optimisé

Dans cette quête infernale de qualité du contenu rédigé par des humains pour les humains – un petit rappel n’a jamais fait de mal – la technologie peut s’avérer utile. En effet, notre ami Google apprécie particulièrement lorsque le contenu est qualitatif, étoffé et unique certes…et il se délecte encore plus lorsque ce contenu est ordonné et mise en avant par une mise en forme cohérente.
Cette mise en forme du contenu est déjà possible pour les descriptions produits dans PrestaShop mais on peut seulement ajouter du texte brut pour les descriptions des catégories ! Corrigeons de ce pas cette lacune rapidement pour booster votre référencement…attention, le code ne favorise pas le référencement, c’est le contenu que vous rédigerez dedans qui portera ses fruits 😉

Tutoriel : descriptions catégories avec html

C’est rapide est efficace alors suivez-bien. Ouvrez le fichier www/override/classes/Category.php et ajoutez-y le bout de code ci-dessous, votre fichier doit alors contenir :
[code]
<?php
class Category extends CategoryCore
{
public static function getDescriptionClean($description){
return stripslashes($description);
}
}
[/code]
On enregistrer et on ferme ce fichier override et on passe à la seconde étape. On va à présent afficher l’éditeur html de PrestaShop TinyMCE en éditant le fichier www/override/controllers/admin/AdminCategoriesController.php. Ajoutez-y le bout de code ci-dessous, votre fichier doit alors contenir :
[code]
<?php
class AdminCategoriesController extends AdminCategoriesControllerCore
{
public function renderForm(){
// exécute le code d’origine
parent::renderForm();
// remet le tableau du formulaire dans son état initial
$this->fields_form = $this->fields_form[0][‘form’];
// on modifie le champ description pour lui ajouter l’éditeur HTML
foreach($this->fields_form[‘input’] as &$input)
if($input[‘name’]==’description’)
$input[‘autoload_rte’] = true;
// on relance le traitement d’origine du formulaire
return AdminController::renderForm();
}
}
[/code]
On enregistre et on envoie ces deux fichiers sur le ftp si le site est en ligne.
[box type=”alert” size=”large”]Pensez à bien supprimer le fichier www/cache/class_index.php qui conserve un cache et sans cette action, vous ne verrez pas vos modifications ![/box]
Enfin, dans le fichier www/themes/votre_theme/category.tpl cherchez la variable de la description catégorie et greffez-lui simplement |strip_tags pour ne pas afficher les balises html. Vous obtiendrez donc : {$category->description|strip_tags}
Vous bénéficiez à présent d’un éditeur html pour optimiser les descriptions de catégories de votre boutique PrestaShop et ainsi améliorer votre visibilité sur les moteurs de recherche. Oui c’est ça le référencement naturel, beaucoup de réflexion et de rédaction 😉 A vous de jouer !

20 commentaires sur “Ajouter du html dans les descriptions de catégories PrestaShop

    1. Bonjour Blandine, je n’ai pas eu l’occasion de tester, je vous laisse tester et remonter l’info si vous le voulez bien 😉

    1. @David : On ne voit pas de code dans la description catégorie donc il doit y avoir un problème dans l’ajout du html dans la catégorie. Il faut reprendre le tuto et faire attention à toutes les étapes, et aussi vérifier que le code est bien présent en base de données.

  1. Bonjour,
    merci pour cette super astuce !
    Je l’ai mise en place mais lorsque j’insère une ancre HTML, elle n’est pas prise en compte sur ma page.

    1. @David : Noté mais avec une url pour constater se serait plus simple 😉

  2. @david : Bonjour, effectivement on recharge le form en BO mais cela n’a plus lieu d’être sur les dernières versions de PrestaShop et puis cela n’a d’intérêt d’avoir du html ici que dans certains cas bien précis. Bonne journée 🙂

  3. Tout d’abord, merci pour ce tuto 🙂
    J’ai bien respecté les étapes cités sur le tuto, j’ai transféré les fichiers modifier sur FTP et tout.
    Après, j’ai rentrer où backoffice; quand je clique sur l’anglet Catalogue->Catégories il me sort l’erreur suivante :
    Fatal error: Cannot redeclare class AdminCategoriesController in /var/www/clients/client0/web8/web/prestashop/classes/Autoload.php(99) : eval()’d code on line 1
    Pour info j’utilise la version 1.5.4.1 de PrestaShop
    Vous pouvez m’aider ?

    1. @Omar : Bonjour, le souci ici est que vous déclarez plusieurs fois la même Class. Il faut bien avoir en haut de l’override cette ligne :
      [code]class Category extends CategoryCore[/code]

    2. Bonjour AMERIGEAU,
      Merci pour votre réponse.
      Pour répondre à votre question : j’ai déclaré la classe une seule fois dans le bloc. Effectivement j’ai essai de le faire sur les derniers lignes de fichier (après ) car quand je la déclare en premier je tombe aussi sur l’erreur suivant :
      Warning: require(/prestashop/) [function.require]: failed to open stream: No such file or directory in /prestashop/classes/Autoload.php on line 112
      Fatal error: require() [function.require]: Failed opening required ‘/prestashop/’ (include_path=’.:/usr/share/php:/usr/share/pear’) in /prestashop/classes/Autoload.php on line 112
      Que je dois faire ?

    1. Bonjour, on a vu dans l’article comment ajouter du html pour la description des catégories. Dans le code du fichier cateogry.tpl il faut enlever le code :
      [code]
      <!– Category image –>
      {if $category->id_image}
      <div class="align_center">
      <img src="{$link->getCatImageLink($category->link_rewrite, $category->id_image, ‘category_leohous’)}" alt="{$category->name|escape:’htmlall’:’UTF-8′}" title="{$category->name|escape:’htmlall’:’UTF-8′}" id="categoryImage" width="{$categorySize.width}" height="{$categorySize.height}" />
      </div>
      {/if}
      [/code]

Laisser un avis

Consultez les autres articles