PrestaShop rame sur votre hébergement mutualisé ? Le Guide de « Survie » SQL (Sans accès Root)

Vous êtes locataire, pas propriétaire
Soyons honnêtes une seconde.
Vous hébergez votre boutique PrestaShop sur une offre mutualisée à quelques euros par mois,
probablement chez OVH, ou O2Switch.
Vous espérez des performances de Formule 1,
mais la réalité technique est tout autre :
vous essayez de faire un sprint dans une rame de métro bondée à l’heure de pointe.

Sur ce type d’hébergement, vous partagez le processeur et la mémoire vive (RAM) avec des centaines d’autres sites.
Pire encore, vous n’avez pas les clés du moteur.
Le fichier de configuration my.cnf, le Saint Graal qui permet d’allouer de la puissance à la base de données, vous est interdit d’accès.

Vous subissez les réglages par défaut de l’hébergeur, souvent inadaptés au e-commerce intensif.

Est-ce une fatalité ?
Non. Si on ne peut pas changer le moteur, on peut alléger la voiture.
En tant qu’expert système habitué aux serveurs dédiés, j’ai adapté mes méthodes pour intervenir dans ces environnements contraints. Voici comment optimiser votre base de données « à l’aveugle », sans accès root, et redonner de l’oxygène à votre boutique.

L’arme secrète du diagnostic : Le Profiler Natif

Sur mes serveurs dédiés Linux, je traque les lenteurs en lisant les logs du système.
Sur votre mutualisé, ces logs sont masqués. Vous naviguez à vue. Pour savoir pourquoi votre page met 6 secondes à s’afficher, nous devons activer le mouchard intégré de PrestaShop.

Connectez-vous à votre serveur via FTP et ouvrez le fichier /config/defines.inc.php.
Cherchez la ligne qui définit PS_DEBUG_PROFILING et passez la valeur de false à true.
Sauvegardez et rechargez votre site.
Une interface technique va apparaître en bas de vos pages.
Ne paniquez pas, c’est votre nouveau tableau de bord.
Regardez la colonne « SQL Queries« .
Si vous voyez des requêtes surlignées en rouge ou jaune, affichant des temps d’exécution supérieurs à 400ms,
vous tenez les coupables.
Notez-les, car nous allons maintenant les neutraliser via phpMyAdmin.

La chirurgie SQL : Créer des index via phpMyAdmin

Une base de données sans index, c’est comme un livre sans table des matières : pour trouver une information, le serveur doit lire toutes les pages une par une. Sur un serveur mutualisé au processeur bridé, c’est ce qui tue votre temps de chargement (TTFB).
La majorité des ralentissements sur PrestaShop proviennent de deux tables mal indexées par défaut : les paniers et les clients. Heureusement, vous n’avez pas besoin d’être administrateur système pour corriger cela. Connectez-vous à votre phpMyAdmin (fourni par votre hébergeur) et ouvrez l’onglet SQL.
Nous allons d’abord accélérer le calcul des paniers, qui est souvent responsable des lenteurs lors de l’ajout au panier. Copiez cette commande :
SQL
ALTER TABLE ps_cart_product ADD INDEX id_product_attribute (id_product, id_product_attribute);
Ensuite, nous allons faciliter la recherche des clients lors du login ou du checkout, une étape critique pour la conversion :
SQL
ALTER TABLE ps_customer ADD INDEX email (email);
Attention : Sur un hébergement mutualisé, si votre base est déjà très grosse, cette opération peut échouer en « timeout ». Si cela arrive, contactez le support ou un expert pour le faire en ligne de commande, mais c’est rare sur des boutiques de taille moyenne.

Le grand nettoyage : Purger les données fantômes

Votre base de données n’est pas une archive historique universelle. Pourtant, PrestaShop a la fâcheuse manie de tout conserver, jusqu’à l’étouffement. De nombreux hébergeurs mutualisés imposent un quota de taille (souvent 500 Mo ou 1 Go).
Une fois ce quota atteint, le site crashe.
Le premier coupable est la table des connexions.
Elle stocke chaque visite.
Si vous ne l’avez jamais vidée, elle contient probablement des millions de lignes inutiles qui ralentissent chaque sauvegarde.
Voici la requête pour ne garder que les 3 derniers mois d’historique, ce qui est amplement suffisant pour vos stats :
SQL
DELETE FROM ps_connections WHERE date_add < DATE_SUB(NOW(), INTERVAL 3 MONTH);
Ensuite, attaquons-nous aux caches « Smarty ». Parfois configuré pour être stocké en base de données plutôt que sur le disque dur (une aberration en mutualisé), ce cache peut devenir monstrueux. Vidons-le sans remords, il se régénérera tout seul :
SQL
TRUNCATE TABLE ps_smarty_cache;
TRUNCATE TABLE ps_smarty_lazy_cache;

Économiser le CPU : Désactiver les modules vampires

Sur votre hébergement, le temps processeur (CPU) est votre ressource la plus précieuse. Certains modules natifs de PrestaShop sont de véritables vampires qui consomment cette ressource pour des tâches futiles.

Le module de « Récupération des paniers abandonnés » est souvent mal optimisé. Il lance des requêtes lourdes à chaque visite pour vérifier si un mail doit être envoyé. Sur un petit serveur, c’est du suicide. Désactivez-le et passez par une solution d’automatisation externe comme celle que je propose avec n8n, ou un service spécialisé qui ne charge pas votre serveur.

De même, désactivez les modules de statistiques natifs (Répartition géographique, Visites et visiteurs, etc.). Ils écrivent dans la base de données à chaque clic, saturant les disques (I/O). Utilisez Matomo en mode « Server-Side » ou même Google Analytics si vous n’avez pas le choix. Votre base de données doit servir à vendre, pas à compter les visiteurs.

Conclusion : Repousser les murs avant de déménager

En appliquant ces optimisations, vous devriez ressentir un gain immédiat. Votre back-office sera plus réactif et vos clients ne verront plus cette page blanche angoissante avant l’affichage des produits. Vous avez optimisé l’espace disponible dans votre hébergement mutualisé.

Cependant, il ne faut pas se voiler la face. Si votre activité décolle et que vous dépassez les 50 commandes par jour, ou si votre catalogue devient trop complexe, le mutualisé restera un goulot d’étranglement physique. Aucune optimisation logicielle ne remplace la puissance brute d’un processeur dédié.

Le jour où vous atteindrez ce plafond de verre, ne le voyez pas comme un problème, mais comme le signe de votre réussite. Ce jour-là, il sera temps de me contacter pour migrer vers une véritable infrastructure VPS privée, sous Linux, où nous aurons enfin les clés du moteur pour libérer toute la puissance de votre commerce.

Votre hébergeur vous a dit « Prenez l’offre supérieure » ? C’est un mensonge.

Augmenter votre abonnement mutualisé ne réglera pas un problème de base de données. C’est comme mettre de l’essence de F1 dans une Twingo.
Si votre boutique génère plus de 50 000€ de CA annuel, l’hébergement mutualisé vous coûte plus cher en ventes perdues qu’en économies d’hébergement.
Je ne fais pas que des sites, je bâtis des infrastructures.
Je migre votre PrestaShop vers un Serveur Privé (VPS) optimisé Linux/AMD en moins de 48h.
Sans perte de données, sans interruption de service.

Laisser un commentaire

Sébastien

Sébastien

Disponible pour conseils

I will be back soon

Sébastien
Bonjour 👋 Merci de l'intérêt que vous portez à mes services. Avant de commencer, puis-je connaître votre nom ?
discuter maintenant
whatsapp

WhatsApp

Email

chat Besoin de conseils ?