
PrestaShop, en tant que solution e-commerce open source de premier plan, offre une flexibilité et un écosystème riche qui en font un choix privilégié pour de nombreux marchands. Cependant, comme toute plateforme robuste, ses performances peuvent être altérées si elle n'est pas régulièrement entretenue. Un catalogue produits grandissant et un trafic élevé peuvent entraîner une augmentation des temps de réponse, impactant directement les ventes et le référencement naturel. Ce guide exhaustif explore les stratégies essentielles pour revitaliser une boutique PrestaShop, allant du nettoyage de la base de données à l'optimisation des performances via des solutions de cache avancées et la gestion du mode maintenance.
Le Grand Ménage de Printemps : Pourquoi et Comment Nettoyer votre Boutique PrestaShop
Un nettoyage régulier de votre boutique PrestaShop est crucial pour maintenir des performances optimales, assurer la conformité et offrir une expérience client fluide. Ce processus s'apparente à un "grand ménage de printemps" numérique, où l'on épure les éléments obsolètes et optimise les ressources.
Nettoyage et Réorganisation de la Base de Données
La base de données est le cœur de votre boutique PrestaShop. Avec le temps, elle peut s'encombrer de données superflues, entraînant des ralentissements significatifs. PrestaShop enregistre une multitude d'informations : chaque visite sur votre site crée une ligne dans ps_connections, chaque page vue dans ps_connections_page, chaque visiteur non connecté dans ps_guest, chaque source de trafic dans ps_connections_source, chaque erreur 404 dans ps_pagenotfound, et chaque recherche interne dans ps_statssearch.
Considérons une boutique recevant 500 visites par jour, un chiffre modeste pour un e-commerce actif. Chaque visite alimente environ 4 à 5 tables. Sur une année, cela représente environ 900 000 lignes uniquement pour le suivi des connexions. Sur deux ans sans nettoyage, il est facile de dépasser les 2 millions de lignes, faisant passer la base de données de 200 Mo à 2 ou 3 Go. Ce ralentissement est souvent progressif, s'accumulant trimestre après trimestre, jusqu'à ce qu'une tâche simple comme une sauvegarde, qui prenait 2 minutes, en prenne désormais 20.

Le module officiel "PrestaShop Cleaner", également connu sous le nom de "Database Cleaner", a été abandonné par PrestaShop en mars 2021 et n'a pas été remplacé. Il est donc essentiel de connaître des méthodes alternatives pour effectuer ce nettoyage.
Avant d'envisager un serveur plus performant, il est recommandé de vérifier la taille de votre base de données. Pour ce faire, ouvrez phpMyAdmin, sélectionnez votre base, puis triez les tables par taille.
Le nettoyage peut être catégorisé en trois niveaux de risque, avec des actions spécifiques pour chaque type de table :
Tables "Vertes" : Données de Suivi et Statistiques
Ces tables ne contiennent que des données de suivi et de statistiques, sans aucun lien avec vos commandes, vos clients ou votre catalogue. Elles peuvent être purgées sans risque.
ps_connectionsps_connections_pageps_connections_sourceps_guest(avec une nuance, voir ci-dessous)ps_pagenotfoundps_statssearch
Action : Ouvrez phpMyAdmin, sélectionnez ces tables et cliquez sur "Vider" (TRUNCATE). Cette opération est rapide, prenant environ 30 secondes. Sur les boutiques nettoyées pour la première fois, la base de données peut diminuer de 60 à 90 %.
Piège pour ps_guest : Si un TRUNCATE brutal est effectué alors que des visiteurs anonymes ont des paniers en cours, ces paniers peuvent perdre leur lien. Il est documenté sur GitHub que ceci peut poser problème.
Tables "Oranges" : Données liées à des Fonctionnalités Actives avec précautions
Ces tables contiennent des données qui peuvent être liées à des fonctionnalités actives. Un TRUNCATE brutal peut causer des problèmes.
ps_cart: PrestaShop conserve tous les paniers, y compris ceux qui n'ont jamais abouti à une commande, ce qui peut représenter des centaines de milliers de lignes sur une boutique active. La règle est de supprimer uniquement les paniers de plus de 30 jours qui ne sont liés à aucune commande.ps_cart_rule_productps_cart_rule_product_rule_groupps_cart_rule_product_ruleps_cart_rule_product_rule_itemps_specific_price: contient les promotions, prix par client, par groupe, etc. Il est important de les nettoyer des prix expirés ou obsolètes.
Action : Utilisez des requêtes DELETE conditionnelles pour supprimer uniquement les données obsolètes ou non liées.
Table "Rouge" : ps_cart_rule_combination - Le Piège le Plus Insidieux
C'est la table dont aucun guide de nettoyage ne parle souvent, et pourtant, elle peut devenir un véritable monstre. Quand vous créez un code promo dans PrestaShop et que vous le rendez « non cumulable » avec d'autres promotions, PrestaShop insère une ligne dans ps_cart_rule_combination pour chaque combinaison possible avec les autres règles. Si vous avez 100 règles de panier, cela génère 100 x 100 = 10 000 lignes. Avec 1 000 règles, cela monte à 1 million de lignes. Un forum PrestaShop a même rapporté 167 millions de lignes pour cette table. Le pire est qu'il s'agit d'un bug de conception connu depuis 2011, et certains modules peuvent générer des centaines de règles par semaine.
Comment vérifier : Dans phpMyAdmin, cherchez ps_cart_rule_combination et regardez sa taille. Si elle pèse plus de 100 Mo, vous avez un problème.
Comment nettoyer :
- Commencez par supprimer les règles de panier expirées ou inutilisées depuis le back-office (Catalogue → Réductions → Règles panier). Chaque règle supprimée devrait également supprimer ses combinaisons.
- Si cela ne suffit pas (parce que les combinaisons orphelines subsistent), certains modules de nettoyage tiers, comme celui de Comonsoft, gèrent spécifiquement cette table.
Comment éviter le problème : Lorsque vous créez un code promo, ne cochez pas "non cumulable" par défaut. Ne le faites que si c'est absolument nécessaire.
Nettoyage du Cache
Vider le cache est crucial pour deux raisons principales. Premièrement, cela contribue à une gestion efficace de l'espace de stockage. Les caches s'accumulant avec le temps peuvent occuper un espace disque substantiel. Deuxièmement, cela garantit des performances à jour, car des caches obsolètes peuvent empêcher le chargement de la dernière version du site.
Il existe plusieurs méthodes pour vider le cache dans PrestaShop 1.7 et PrestaShop 8 :
Depuis le back-office de PrestaShop :
- Accédez à votre panneau d'administration PrestaShop et naviguez vers
Paramètres avancés > Performances. - Dans la section Smarty, sélectionnez le bouton "Vider le cache" situé en haut à droite de la page.
- Un message de confirmation indiquera la suppression réussie de tous les caches.
- Actualisez la page pour vérifier les modifications.Cet avantage de simplicité a un inconvénient : il efface toutes les données du cache en une seule fois, sans possibilité de conserver sélectivement des caches spécifiques si nécessaire.
- Accédez à votre panneau d'administration PrestaShop et naviguez vers
Vider le dossier cache via cPanel/FTP :
- Connectez-vous à votre serveur à l'aide de FTP ou via le Gestionnaire de fichiers dans cPanel.
- Localisez les dossiers cache :
var/cache/dev(en mode développement) ouvar/cache/prod(en mode production), etimg/tmp. - Supprimez tous les fichiers et dossiers contenus dans ces répertoires.
- Actualisez la page pour vérifier les mises à jour.Cette approche permet une suppression sélective mais peut être plus longue. Elle est recommandée si vous n'avez pas accès au panneau d'administration ou si vous souhaitez supprimer une petite quantité de cache.
Vider le cache avec Page Cache Pro de PrestaHero :
- Ce module offre une solution efficace avec des technologies avancées d'optimisation du cache (cache serveur, cache Smarty, cache du navigateur, Memcached).
- Il propose une suppression automatique du cache grâce à la fonctionnalité Cronjob, garantissant une optimisation continue sans intervention manuelle.
- Il contribue à des temps de chargement rapides et une utilisation efficace de l'espace de stockage.
PrestaShop 1.7.5.2 How to clear the cache?
Épurer le Catalogue Produits
Un catalogue produits bien organisé est essentiel pour réduire les erreurs et améliorer l'expérience client. Cela implique d'identifier et de gérer les doublons de références et de codes EAN.
- Doublons de références et codes EAN : Ces doublons peuvent entraîner des incohérences dans l'inventaire, des erreurs lors des commandes et une confusion pour les clients. Des outils comme Store Commander peuvent aider à identifier et à fusionner ou supprimer ces doublons.
- Produits obsolètes ou en rupture de stock : Les produits qui ne sont plus commercialisés ou qui sont constamment en rupture de stock devraient être désactivés ou archivés pour maintenir la pertinence du catalogue.
- Descriptions et images : Assurez-vous que les descriptions sont à jour, précises et optimisées pour le SEO. Les images doivent être de haute qualité et de taille appropriée pour ne pas ralentir le site.
Rafraîchir la Base Clients
La base clients peut également s'encombrer de comptes non actifs. Le rafraîchissement de cette base est important pour la conformité au RGPD et pour cibler efficacement les campagnes marketing.
- Comptes non actifs : Identifiez les clients qui n'ont pas interagi avec votre boutique depuis une longue période. Selon les politiques de confidentialité et les réglementations RGPD, il peut être nécessaire de les anonymiser ou de les supprimer après un certain temps.
- Consentements RGPD : Vérifiez que tous les consentements des clients sont à jour et conformes aux réglementations en vigueur.
Mettre au Propre les Logs et Statistiques Obsolètes
Les logs et les statistiques s'accumulent rapidement et peuvent impacter la sécurité, la fiabilité et la conformité.
- Logs d'erreurs : Analysez et purgez régulièrement les logs d'erreurs. Des logs trop volumineux peuvent rendre la recherche de problèmes réels difficile.
- Statistiques : Désactivez les modules de statistiques natifs de PrestaShop si vous utilisez des outils externes comme Google Analytics ou Matomo. Le module natif "Data mining for statistics" alimente les tables
ps_connectionsetps_guest, ce qui peut être évité en le désactivant pour couper le robinet à la source.
Optimisation Avancée des Performances de PrestaShop avec Varnish Cache
Au-delà du nettoyage de base, l'optimisation des performances est cruciale pour les boutiques PrestaShop à fort trafic ou avec de vastes catalogues. L'intégration de Varnish Cache avec une approche basée sur les ESI (Edge Side Includes) et des optimisations ciblées permet d'accélérer considérablement le rendu des pages tout en préservant les parties dynamiques essentielles.
Pourquoi Varnish sur PrestaShop ?
Par défaut, PrestaShop s'appuie sur son cache interne et sur la mise en cache PHP/MySQL. Cette configuration fonctionne bien pour de petites boutiques, mais elle devient rapidement limitée lorsque :
- Le catalogue comporte des milliers de produits.
- Le trafic explose pendant une campagne marketing.
- Plusieurs déclinaisons produit doivent être calculées en temps réel.
C'est dans ces situations que Varnish intervient.
Où se Place Varnish dans l'Architecture ?
Varnish agit comme un reverse proxy. Le processus est le suivant :
- Le client (navigateur) envoie une requête.
- Varnish reçoit la requête en premier.
- S'il a déjà la réponse en cache, il la renvoie immédiatement.
- Sinon, il transmet la requête au serveur web (Apache/Nginx + PHP + PrestaShop), met en cache la réponse, puis la livre au client.

Le résultat est que la majorité des pages sont servies par Varnish sans solliciter PrestaShop, ce qui soulage énormément l'application et la base de données.
Quels Bénéfices Obtenus ?
Avec Varnish, il est possible de :
- Réduire le TTFB (Time To First Byte) : les pages arrivent quasi instantanément côté navigateur.
- Encaisser les pics de trafic sans multiplier les serveurs d'application.
- Améliorer l'expérience utilisateur grâce à une navigation plus fluide.
- Bénéficier d'un impact indirect positif sur le SEO, car Google valorise la vitesse de chargement.
Démarche d'Intégration de Varnish
L'intégration de Varnish sur PrestaShop repose sur trois piliers : un VCL adapté, l'utilisation des fragments ESI, et un système de purge intelligent via deux modules dédiés.
Un VCL Adapté à PrestaShop
Le cœur de Varnish est son fichier de configuration (VCL). Il est personnalisé pour PrestaShop afin de :
- Filtrer certains cookies (par ex. PrestaShop-xxx, panier, session).
- Distinguer les pages publiques (listing, produit, CMS) des pages privées (panier, compte client).
- Éviter de mettre en cache des éléments sensibles comme l'authentification ou le paiement.
Découpage avec ESI (Edge Side Includes)
Au lieu de mettre en cache une page entière, l'approche ESI permet de la découper en fragments :
- Le Header, le footer et les listings produits sont mis en cache.
- Le panier et le bloc "Mon compte" restent toujours dynamiques, servis en direct depuis PrestaShop.

Cela permet d'avoir 95% de la page servie par Varnish, avec seulement une petite partie calculée en temps réel.
Deux Modules PrestaShop Sur-Mesure
Pour exploiter pleinement Varnish, deux modules complémentaires peuvent être développés :
Module Fragments :
- Génère les blocs dynamiques (panier, bloc client, compteur de produits, etc.).
- Les expose via des endpoints spécifiques pour être appelés en ESI.
- Garantit que ces fragments restent toujours frais, même si le reste de la page est servi depuis le cache.
Module Flush :
- Envoie automatiquement des requêtes de purge ciblées à Varnish.
- Déclenché lors des événements clés (mise à jour produit, modification catégorie/CMS, changement de stock/déclinaison).
- Évite les invalidations globales inutiles, tout en maintenant des données toujours fiables côté client.
Le résultat pour l'utilisateur est une navigation ultra-rapide, sans décalage entre le cache et la réalité (prix, stock, panier). Côté technique, l'architecture reste performante même en période de forte charge, avec un cache contrôlé de manière granulaire.
Cas Concrets de Performance
Les gains significatifs sont visibles :
- Avant : chaque page produit nécessitait plusieurs requêtes lourdes, surtout avec des déclinaisons.
- Après : rendu instantané, même avec des filtres ou des catalogues riches.
- Les listings avec filtres (taille, couleur, prix) sont affichés quasi immédiatement grâce au cache des blocs statiques.
- Lors des campagnes marketing où le trafic explose, le site reste fluide, sans besoin de surdimensionner l'infrastructure.
Bénéfices pour les E-commerçants
Pour un e-commerçant, l'intégration de Varnish se traduit par :
- Plus de ventes : chaque seconde gagnée réduit le taux d'abandon.
- Une infrastructure optimisée : pas besoin de doubler les serveurs pour encaisser le trafic.
- Un meilleur SEO : la vitesse est un facteur de classement chez Google.
- Une meilleure image de marque : un site qui répond vite inspire confiance.
Gérer la Maintenance de Votre Boutique PrestaShop
La maintenance est une étape incontournable pour assurer la pérennité et la sécurité de votre boutique PrestaShop. Le mode maintenance est une fonctionnalité intégrée qui permet de suspendre temporairement l'activité en ligne tout en conservant un contrôle total sur l'administration.
Pourquoi Activer le Mode Maintenance ?
De nombreuses raisons peuvent pousser à mettre un e-commerce en mode maintenance :
- Mises à jour de sécurité et installation de nouvelles versions de PrestaShop : Ces opérations sont cruciales pour protéger l'entreprise contre les pertes financières liées aux dysfonctionnements.
- Correction de bugs critiques ou résolution de problèmes techniques majeurs : Le mode maintenance garantit que chaque transaction s'effectue dans des conditions optimales, évitant ainsi la perte de confiance des clients.
- Apporter des modifications importantes à la plateforme : Il permet d'effectuer des interventions techniques sans risque pour l'expérience utilisateur des clients.
Activation et Configuration du Mode Maintenance
Le gros avantage du mode maintenance de PrestaShop est qu'il permet de "whitelister" certaines adresses IP qui auront quand même accès à la boutique même lorsque le mode maintenance est actif. C'est une fonctionnalité très utile pour les agences ou les équipes techniques lors des mises en production ayant un impact important sur le front-office.
Pour activer la maintenance :
- Dans le back-office, sous la rubrique "Paramètres généraux", localisez l'onglet maintenance.
- L'étape cruciale consiste à ajouter une adresse IP dans le champ dédié aux adresses autorisées. Utilisez votre ordinateur pour rechercher votre adresse IP actuelle et renseignez-la précisément. Si votre IP peut changer, fiez-vous plutôt à une IP fixe fournie par un VPN. Si vous travaillez depuis plusieurs emplacements, ajoutez toutes les adresses nécessaires en les séparant par une virgule.
- Pour activer le mode maintenance, vous devez désactiver la boutique en positionnant le commutateur "Activer boutique" sur "Non".
- Une fois ces paramètres configurés, cliquez sur le bouton "Enregistrer" pour appliquer les modifications.
- Pour vérifier si la maintenance est active, tentez d'accéder au site depuis votre smartphone sans passer par le réseau Wi-Fi dont l'IP est whitelistée.
Impacts et Précautions lors de la Maintenance
Avant de mettre en maintenance votre site, il est essentiel de prendre certaines précautions :
- Campagnes SEA : Mettez en pause vos campagnes SEA pour ne pas payer de trafic vers des pages qui seront inexistantes à ce moment-là.
- SEO : Google n'appréciera pas une période de maintenance trop longue, car vos URL seront inaccessibles, ce qui peut impacter négativement votre référencement.
- Ventes : Pendant la maintenance, vos ventes seront nulles.
- Message personnalisé : Cette page peut contenir un message personnalisé, un logo, une estimation de durée, ou encore des liens utiles pour informer vos clients.
Faire Appel à un Professionnel
Mettre votre boutique PrestaShop en mode maintenance peut être essentiel, mais cela peut vite devenir un casse-tête si l'on ne maîtrise pas toutes les options disponibles. En passant par une agence spécialisée, vous vous assurez que tout se passe sans accroc, vous permettant de vous concentrer sur l'essentiel tout en minimisant l'impact sur vos clients.
Résolution des Pages Blanches et Bugs sur PrestaShop
Les forums de PrestaShop regorgent de témoignages d'e-commerçants paniqués par l'apparition soudaine d'une ou de toutes les pages de leur site ou de leur administration affichant un écran blanc. Bien que cet écran blanc fasse fuir les clients, il n'est que la partie immergée de l'iceberg. Il indique simplement que le script d'affichage du contenu de la page n'a pas pu s'exécuter correctement.
Comprendre l'Origine des Pages Blanches
Pour corriger une panne, il est indispensable de comprendre son origine. L'activation du mode debug de PrestaShop est la première étape.
Activer le Mode Debug
Dans les anciennes versions de PrestaShop, on ne peut pas activer le mode debug depuis l'interface d'administration. Il faut modifier la valeur d'un paramètre directement dans un des fichiers de configuration.
- Accès au fichier : Utilisez un outil d'accès FTP, comme Filezilla Client (gratuit et le plus connu), pour télécharger le fichier sur votre PC et le re-télécharger sur le serveur après modification.
- Configuration du client FTP : Vous aurez besoin de trois informations : l'URL ou adresse de votre serveur FTP (obligatoirement incluse avec votre hébergement), votre "user ftp" et votre mot de passe FTP.
- Modification du fichier : Une fois le fichier ouvert dans un outil d'édition de texte (souvent
config/defines.inc.phpou similaire pour les anciennes versions), repérez la lignedefine('_PS_MODE_DEV_', false);en début de texte et remplacez le mot "false" par le mot "true".
À partir de ce moment, PrestaShop sera plus bavard et vous indiquera les erreurs (voir aussi les notices selon les autres réglages dans le même fichier) sous une forme détaillée.
Interpréter et Résoudre les Messages d'Erreur
Une fois le mode debug activé, vous avez fait le plus facile. Il faut maintenant essayer de comprendre le sens du message d'erreur et en déduire l'action suivante.
- Module incriminé : Fréquemment, le message contient le nom du module incriminé. Dans ce cas, il suffit de le désactiver temporairement le temps de le débugger séparément sur un site de test.
- Fichier et ligne de code : Parfois, le message indique le nom du fichier qui plante, voire la ligne de code en question.
- Messages génériques : Bien souvent, on a juste un message générique, du style Error 500, ou un charabia incompréhensible pour le néophyte.
Dans ces cas de figure, deux méthodes sont recommandées :
Désactivation par bloc des modules non standards et des overrides (surcharges) :
- Modules : Dans 90% des cas, une page blanche est causée par un code défectueux dans un module, ou un conflit entre deux plugins. Vous pouvez d'abord désactiver tous les modules non standards d'un coup pour vérifier cette hypothèse. Si le problème est résolu, réactivez-les un par un pour identifier le coupable.
- Surcharges (Overrides) : Si le problème n'est pas résolu par la désactivation des addons, il est possible que la panne soit causée par une surcharge. Une surcharge est un bout de programmation que le développeur demande à PrestaShop d'utiliser à la place du code natif. Il faut les désactiver temporairement pour vérifier si elles sont à l'origine du problème.
Changement du thème :
- Un bug d'affichage, une page blanche, un défaut de fonctionnement, des lenteurs ou un mauvais référencement peut aussi provenir du thème. De nombreux thèmes font plus que changer les couleurs et les polices, ils ont leurs propres scripts et intègrent parfois des extensions supplémentaires.
- Il est souvent judicieux, dans le processus de dépannage, de passer le site en maintenance et de basculer temporairement le site sur le thème par défaut de PrestaShop.
Recherches en ligne et forums : Si rien ne fonctionne, la possibilité de chercher plus d'informations sur internet et les forums à partir du texte contenu dans le message d'erreur reste une bonne option. Décrivez bien le bug, avec le maximum de détails et des captures d'écran.
Quand les Données de la Base de Données Sont en Cause
Une panne ou des lenteurs inhabituelles dans une boutique PrestaShop ne sont pas toujours dues à une erreur de programmation, mais bien souvent aux données contenues dans la base. Voici quelques exemples :
- Les sous-catégories ne s'affichent plus : le fil d'Ariane est cassé dans la base ou des informations sont manquantes.
- Certains produits sont absents : les relations entre les catégories et les produits sont cassées.
- Des produits sont affichés en double : plusieurs photos sont déclarées comme étant la photo de couverture.
- Les prix TTC sont incorrects : erreurs dans la configuration des taxes ou règles manquantes.
- La sélection des attributs de déclinaisons ne fonctionne pas correctement : problème de JS ou de structure des data.
- Le site est très lent : causes multiples possibles, mais nettoyer la base ne fait jamais de mal.
- Les clients ne trouvent pas les bons articles : l'index est peut-être à reconstruire.
- Google référence mal le site.
Pour réparer ce type de problèmes, il existe plusieurs solutions :
- Utiliser un module PrestaShop spécialisé.
- L'outil de réparation de bases de données inclus nativement dans des logiciels comme Merlin Backoffice.
Utiliser les Outils de Débuggage Navigateur
Si le bug est bien dans le code (et non dans les données), et que les méthodes précédentes n'ont rien donné, il faut alors se tourner vers un professionnel, ou apprendre à utiliser des outils de débuggage. En 2021, la plupart des navigateurs disposent d'un mode développeur déjà intégré mais masqué. Pour Firefox, par exemple, il suffit de cliquer sur la touche F12 pour ouvrir la console développeur.
L'utilisation de ce genre d'outils dépasse le cadre de cet article. Des connaissances techniques de base et parfois avancées sur les langages PHP, CSS, JavaScript, HTML, Smarty, Symfony sont nécessaires. Cependant, tout s'apprend pour celui ou celle qui est motivé(e) et patient(e). Le web regorge de tutoriels. Il est conseillé de commencer par apprendre à modifier les classes CSS (les styles) avec ces consoles de dépannage navigateur.
Ne Pas Hésiter à Chercher de l'Aide
Avant de lancer un SOS, faites toujours quelques recherches préalables sur le forum, histoire d'être sûr que le sujet n'a pas déjà été traité 10 fois. Si vous décrivez bien le bug, avec le maximum de détails et des captures d'écran, vous aurez toutes les chances d'être aidé. Si vous postez une demande d'aide sans aucun détail, il est peu probable qu'elle trouve une réponse utile.
Réinstaller une Version Propre de PrestaShop
Avec la majorité des logiciels, changer de version serait la première solution. Cependant, avec PrestaShop, une migration s'accompagne encore trop souvent de son lot de nouveaux bugs ou difficultés. Il est souvent plus judicieux, quand toutes les solutions essayées n'ont rien donné, d'exporter la base, de réinstaller le même CMS vierge de la même version, sans aucun addon autre que les natifs dans un premier temps, et de réimporter tout ou partie des tables. Ensuite, installez les fonctionnalités supplémentaires par petits groupes. C'est la meilleure approche pour stabiliser un CMS récalcitrant pas à pas.
La Méthode de la Décomposition
La clé pour résoudre des problèmes complexes est de décomposer la problématique en sous-ensembles que l'on peut isoler et tester ou remplacer séparément, étape par étape, afin d'identifier "la cause la plus probable". Une fois l'ensemble le plus probable identifié, décomposez-le en sous-ensembles plus petits pour affiner l'identification de la sous-cause la plus probable. Cette méthode permet d'identifier la ligne de code ou la donnée erronée ou manquante, même sans être un expert du domaine.
Toujours commencer par se poser la question "qu'est-ce qui a changé, a été modifié, a pu arriver, etc., avant que la panne ne survienne". Les clients répondent souvent "rien", mais c'est presque toujours faux ; une panne ne survient jamais par magie, il y a toujours quelque chose qui a changé juste avant (ou quelques temps avant, car on ne s'en aperçoit pas forcément tout de suite). Une panne intermittente ne peut être corrigée que lorsque l'on arrive à trouver une façon de la reproduire de manière systématique.

Les Outils et Services d'Optimisation pour PrestaShop
L'optimisation et le nettoyage réguliers de votre boutique PrestaShop peuvent être facilités par divers outils et services, qu'ils soient gratuits, payants ou proposés par des agences spécialisées.
Modules de Nettoyage de Base de Données
Plusieurs modules sont disponibles pour aider au nettoyage de la base de données :
- mypresta.eu Database Optimization (gratuit) : C'est le plus simple. Son interface est basique, mais il gère les 5 tables principales et ne supprime que les paniers non liés à une commande.
- Comonsoft Optimisation BDD (payant, environ 20 €) : Ce module est complet et gère spécifiquement
ps_cart_rule_combination. Il permet également de planifier un nettoyage automatique par cron. - Mediacom87 Optimisation et nettoyage (payant, sur Addons) : Souvent considéré comme trop cher, il gère le nettoyage et la restauration en cas d'erreur.
- PrestaToolbox (payant) : C'est l'un des plus avancés, offrant des fonctionnalités complètes pour l'optimisation.
Conseil : Si le nettoyage n'est effectué qu'une seule fois et que vous êtes à l'aise avec phpMyAdmin, la méthode manuelle (voir section Nettoyage et Réorganisation de la Base de Données) suffit. Dans tous les cas, une sauvegarde avant toute opération est impérative.
Automatisation du Nettoyage
Nettoyer une fois, c'est bien, mais l'automatisation garantit une maintenance continue :
- Tâches Cron (planificateur de tâches de l'hébergeur) : Les modules comme Comonsoft et PrestaToolbox permettent de configurer une URL de cron que vous ajoutez dans le planificateur de tâches de votre hébergeur (cPanel → Tâches Cron, ou Plesk → Tâches planifiées). Une fréquence mensuelle est généralement suffisante.
- Events MySQL planifiés : Si vous avez un VPS ou un serveur dédié avec un accès MySQL direct, vous pouvez créer un "event" planifié qui nettoie automatiquement les tables. C'est une solution propre, native à MySQL, et qui fonctionne de manière autonome.
Services d'Agences Spécialisées
Un webmaster n'est pas forcément un bon réparateur. Le prix d'une intervention technique est assez variable.
- PrestaShop : Vous aurez affaire à des spécialistes, mais au prix fort (environ 150 € HT les 3/4 d'heure, sans garantie de résultat).
- Freelances spécialisés : Comptez entre 50 € HT et 80 € HT l'heure d'intervention. Le plus cher n'est pas forcément le meilleur.
Des agences comme CYBERIAL proposent un forfait maintenance et support PrestaShop incluant le nettoyage mensuel de la base de données, la surveillance des tables critiques (y compris ps_cart_rule_combination).
Surveillance et Fréquence de Nettoyage Recommandées
- Une fois par mois : Connectez-vous à phpMyAdmin, triez les tables par taille. Si une table dépasse 100 Mo et qu'elle est dans la liste "verte" (données de suivi et statistiques), nettoyez-la.
- Une fois par trimestre : Nettoyez les tables "oranges" (paniers abandonnés, prix expirés).
- Immédiatement : Si vous utilisez Google Analytics ou Matomo, désactivez le module natif "Data mining for statistics" dans le back-office PrestaShop (Modules → cherchez "Data mining for statistics"). Ce module alimente les tables
ps_connectionsetps_guest, et le désactiver coupe le robinet à la source.
Alternatives pour la Gestion du Catalogue
Certains défauts de PrestaShop peuvent mettre du temps à être traités, mais la situation s'améliore avec une meilleure relation avec la communauté d'experts (comme les "Friends Of Presta" - FOP) et des efforts pour traiter les problèmes récurrents (gestion des taxes dans les remboursements).
D'autres défauts sont dus à des choix historiques de conception, comme le crash de l'administration quand un produit a plus de quelques milliers de déclinaisons ou si le nombre de catégories est trop important. C'est aussi à cause de cela qu'est né Merlin Backoffice. De conception technique totalement différente (client lourd sous Windows ou Mac avec Parallels Desktop), il ne souffre d'aucune des limitations inhérentes aux applications en ligne WEB ou SAS. Si votre administration PrestaShop est lente ou plante souvent et que vous perdez plus de temps qu'autre chose à gérer votre catalogue, pensez à tester une solution alternative de gestion sous Merlin Backoffice.
tags: #prestashop #mauvaises #herbes