PrestaShop : Améliorer le temps de recherche19Déc.2013

Les bonnes pratiques PrestaShop : Améliorer le temps de recherche

Le moteur de recherche de PrestaShop peut parfois rencontrer quelques lenteurs plus ou moins « ahurissantes » selon la taille de votre catalogue produits. Je propose de vous donner quelques pistes qui vous seront sans doute utiles si votre boutique crache ses poumons.  😉

Dès lors que votre catalogue commence à prendre du volume et générer du trafic, votre moteur de recherche est susceptible de consommer énormément de ressources serveur. Par « ressources », j’entends le nombre de requêtes envoyées, exécutées et des résultats retournés.

Et quels en sont les symptômes !?

Ceci peut se traduire pas des lenteurs côté boutique, des temps d’affichage de l’ordre de plusieurs minutes lors d’une recherche, voire tout simplement le « crash » du serveur SQL.

Il convient donc de modifier la configuration de la recherche afin d’optimiser son fonctionnement, le nombre et la rapidité de traitement des requêtes de recherche.

Poids des mots-clés

Le premier point à vérifier est l’attribution des poids donnés aux mots-clés lors d’une recherche. Ça se passe dans Préférences > Recherche :

Configurer le poids des mots lors de l'indexation

Avec la configuration de base on peut rapidement atteindre une table « search_index » de 1 500 000+ entrées pour 15 000 références produits, et là, pas besoin d’être un expert en serveur SQL pour comprendre que 1 500 000… c’est beaucoup !

Mais qu’est-ce que je fais alors !?
Eh bien ! On modifie le poids des mots !

Il n’y a pas de configuration « ultime », mais bien souvent on peut passer à 0 (zéro) :

  • La description courte
  • La description longue
  • Les tags
  • Les attributs
  • Les caractéristiques

Quel impact sur mon moteur de recherche !?

Passer le poids de ces éléments à 0 (zéro) signifie que le moteur ne cherchera plus dans ces éléments lors d’une recherche (ou plutôt : « il n’indexera pas les mots de ces champs », pour les puristes).

Les descriptions sont les éléments qui contiennent théoriquement le plus de mots, donc elles ont un impact conséquent lorsqu’on ne les indexe plus.

Les tags sont très souvent inutilisés sur les boutiques PrestaShop (module nuage de tags).

Laissez les attributs et caractéristiques aux modules de filtrage 😉

Mais mes clients ne vont plus trouver mes produits du coup ?

Au final vos clients pourront toujours trouver vos produits en tapant une partie du nom, de la référence ou la catégorie. Ce qui est déjà très intéressant pour une recherche dite « rapide ».

Pour reprendre mon exemple précédent des 1 500 000+ entrées, en changeant la configuration par défaut pour celle indiquée, nous avons divisé par plus de 5 (270 000+) les entrées de la table » search_index » : un régime conséquent ! ^^

Notez bien qu’une fois ces paramètres modifiés, il faut non seulement les enregistrer (cela va de soi), mais également « reconstruire l’index » de recherche (lien présent sur la même page dans le Back-Office).

Paramètres du module de recherche

Le second point à vérifier se trouve sur la même page du back-office.

Configuration de la recherche PrestaShop

Faire « maigrir » les tables, c’est bien, limiter le nombre de requêtes inutiles c’est mieux !

La recherche AJAX est un outil intéressant, certes, mais également gourmand en ressources : le module exécute une requête de recherche à chaque fois que l’on tape une nouvelle lettre dans le champ. Passer ce paramètre à « NON » peut soulager le serveur SQL de quelques requêtes « inutiles ».

Génération de l’index de recherche

Je l’ai déjà évoqué un peu plus haut à travers la table « search_index ». Maintenir un index à jour améliore le temps de recherche du module PrestaShop. Il est même probable que certains produits ne puissent être trouvés si votre indexation n’est pas complète.

Mettez en place une tâche CRON pour vous simplifier la vie. Attention toutefois si vous avez un HTPASSWD en place sur votre dossier d’admin, vous rencontrerez des problèmes.

Trop technique !?

De nombreux sujets sur le forum PrestaShop traitent de problèmes similaires, et chacun apporte son petit morceau de code pour « patcher » ces lenteurs liées aux résultats de recherche.

Avant de vous lancer là-dedans, je ne saurais que trop vous recommander de commencer par suivre ces quelques conseils de base.

Et si vous êtes un peu perdu, pas de panique ! Nous sommes là pour réaliser un audit de votre boutique en ligne et  vous aider à appliquer nos recommandations.

Il y a 1 commentaire

  • creation site web

    très bonnes astuces, en effet les sites prestashop sont toujours trop lent, je vais regarder ça de suite

Laisser un commentaire

*