Expertise PrestaShop
11 ans de solutions techniques concrètes. Développement, performance, migration, sécurité — tout ce que j'ai appris sur le terrain.
52
articles
11
thèmes
Développement
11 articlesModules, hooks, overrides, Symfony, API
Ajouter un champ personnalisé aux fiches produits PrestaShop
Pour ajouter un champ personnalisé aux produits PrestaShop, il faut intervenir à quatre niveaux : colonne SQL dans ps_product_lang, override de la classe Product (ObjectModel), intégration au formulaire back-office, et affichage front-office via Smarty. En PS 8.x, préférez un module avec hooks Symfony.
Gérer les traductions vides dans PrestaShop : guide complet
Les traductions vides dans PrestaShop surviennent quand un module ne fournit pas de fichier de langue pour votre boutique. La solution la plus fiable est de dupliquer un fichier de traduction existant, de traduire les chaînes (manuellement ou en masse via tableur), puis de placer le résultat dans le dossier de surcharge du thème pour survivre aux mises à jour.
Intégrer un widget externe dans votre thème PrestaShop
Pour intégrer un widget externe dans PrestaShop, trois méthodes existent : l'édition directe des fichiers TPL du thème (rapide mais fragile), la création d'un module dédié avec hooks (pérenne et professionnel), ou l'utilisation du module HTML personnalisé (sans code). La méthode par module est recommandée pour sa résistance aux mises à jour et sa flexibilité.
Activer le zoom produit au clic plutôt qu'au survol sur PrestaShop
Sur PrestaShop 1.6, le zoom et le changement d'image produit au survol se modifient dans le fichier product.js du thème (ligne ~258) en remplaçant l'événement mouseover par click — sans jamais toucher à la librairie JQZoom. Sur PS 1.7+ et 8.x, le clic est souvent le comportement par défaut.
Personnaliser le formulaire de création de compte PrestaShop
Pour personnaliser le formulaire d'inscription PrestaShop, créez un module exploitant le hook `additionalCustomerFormFields` qui injecte des champs via l'API FormField, avec validation serveur et stockage dans une table dédiée — sans jamais modifier le core.
Afficher un texte dynamique sous le logo selon la page PrestaShop
Pour afficher un headline dynamique sous le logo selon la page visitée, utilisez des conditions Smarty ({if $page.page_name == 'category'}) pour un besoin simple, ou créez un champ personnalisé en base de données pour une solution maintenable et éditable depuis le back-office.
Passer une variable Smarty dans jQuery sur PrestaShop
Pour récupérer une variable Smarty dans jQuery au sein d'une boucle foreach, utilisez les attributs HTML5 data-* pour injecter les valeurs dans le DOM, la balise {literal} pour protéger le JavaScript inline, et $(this).data('key') pour cibler l'élément précis cliqué par l'utilisateur.
Variable $page_name et ID du body dans PrestaShop : diagnostic complet
L'absence de l'attribut id sur la balise body dans PrestaShop provient généralement d'un header.tpl modifié ou d'un contrôleur qui n'assigne pas la variable $page_name. Le diagnostic passe par l'affichage direct de la variable et la console debug Smarty.
Intégrer du JavaScript dans une page produit PrestaShop
Pour intégrer du JavaScript sur une fiche produit PrestaShop, utilisez {literal} dans les templates Smarty en 1.6, ou créez un module avec registerJavascript via le hook actionFrontControllerSetMedia en 1.7/8.x. Évitez d'insérer du JS dans la description longue car TinyMCE le supprime.
Rendre le numéro de TVA obligatoire si société renseignée sur PrestaShop
Pour rendre le numéro de TVA obligatoire quand une société est renseignée, il faut ajouter une validation conditionnelle dans les contrôleurs AuthController et AddressController (PS 1.6 via override) ou via un module avec le hook actionValidateCustomerAddressForm (PS 1.7+/8.x). Ne jamais modifier la classe Address.php pour cela.
Afficher des produits d'une catégorie sur une fiche produit PrestaShop
Pour afficher des produits d'une catégorie sur une fiche produit PrestaShop avec filtrage par caractéristique, créez un override de Category.php avec une méthode getProductsByFeature() qui joint les tables produit et caractéristique, puis appelez-la depuis un hook de module avec un template Smarty réutilisant les miniatures natives.
SEO
8 articlesRéférencement, meta, sitemap, données structurées
Multiboutique PrestaShop : quelle structure d'URL choisir par langue ?
Pour un PrestaShop multiboutique international, privilégiez les sous-domaines avec code ISO (fr-fr.maboutique.com) : c'est le meilleur compromis entre signal SEO, coût et maintenabilité. Complétez toujours avec les balises hreflang et le ciblage géographique dans Search Console.
URL canonique PrestaShop : éviter le contenu dupliqué et protéger son SEO
Une chute de positionnement Google sur PrestaShop est souvent causée par du contenu dupliqué interne. L'implémentation correcte des URLs canoniques, combinée à une configuration serveur propre et une bonne UX, permet de consolider l'autorité SEO et de stabiliser durablement vos positions.
Référencement d'une boutique PrestaShop : guide SEO et performance
Le référencement d'une boutique PrestaShop repose sur trois piliers : la performance technique (TTFB < 200 ms, modules minimaux), le suivi via Google Search Console, et un design responsive. Le SEO se travaille dès la conception du site, pas après la mise en ligne.
Google Search Console sur PrestaShop : configuration et rapports
Google Search Console est l'outil SEO fondamental et gratuit que tout marchand PrestaShop doit maîtriser avant d'investir dans d'autres solutions. Concentrez-vous dessus pendant vos 8 à 12 premiers mois pour comprendre votre indexation, soumettre vos pages et analyser vos performances réelles dans Google.
Données structurées PrestaShop : corriger les rich snippets produit
Les Rich Snippets produit PrestaShop échouent souvent à cause d'un type Schema.org incorrect (Offers au lieu de Product), de conflits entre les accolades JSON-LD et le moteur Smarty, ou de propriétés obligatoires manquantes. La solution : utiliser le bon type Product, encadrer le JSON-LD avec {literal} dans les templates .tpl, et valider systématiquement avec l'outil de test Google.
Personnaliser la balise H1 des fiches produits PrestaShop
Ajoutez un champ H1 personnalisé et multilingue à vos fiches produits PrestaShop en combinant une colonne SQL dans ps_product_lang, un override de la classe Product et un override de AdminImportController pour l'import CSV en masse. Compatible de PrestaShop 1.6 à 8.x.
Référencement PrestaShop : guide complet SEO 2026
Pour positionner une boutique PrestaShop dans le top 3 Google, concentrez-vous sur cinq piliers : URLs ciblées sur 2-3 mots-clés, TTFB sous 200 ms, HTML valide W3C, balise title optimisée sans nom de boutique, et meta descriptions orientées conversion.
Balise Title PrestaShop : configuration et optimisation SEO complète
La balise title se configure dans le back-office PrestaShop (onglet SEO de chaque entité) et se génère via le template head.tpl. Si Google affiche un title différent, vérifiez le code source puis forcez la réindexation via Search Console.
Catalogue
8 articlesProduits, catégories, attributs, import/export
Import CSV de produits PrestaShop : résoudre les erreurs courantes
Les erreurs d'import CSV PrestaShop proviennent principalement de quatre causes : un encodage non UTF-8 (utilisez LibreOffice plutôt qu'Excel), un mauvais séparateur de colonnes (point-virgule obligatoire), un mapping de champs incorrect et une mauvaise gestion des identifiants produit. Testez toujours sur un petit échantillon avant d'importer l'ensemble du catalogue.
Afficher des produits associés sur la fiche produit PrestaShop
PrestaShop propose nativement les accessoires pour associer des produits manuellement. Pour un affichage automatique par catégorie, développez un module dédié hookable sur displayFooterProduct avec une requête filtrant les produits de la même catégorie.
Filtrer les produits en stock dans ps_featuredproducts PrestaShop
Le module ps_featuredproducts affiche par défaut les produits en rupture de stock. Pour les filtrer, créez un override du module qui modifie la requête SQL via le SearchProvider, ou développez un module personnalisé avec un filtre sur ps_stock_available. Évitez le simple masquage Smarty sur les gros catalogues.
Sous-catégories et déclinaisons PrestaShop : guide complet
Les sous-catégories organisent l'arborescence de votre catalogue PrestaShop, tandis que les déclinaisons gèrent les variantes (taille, couleur) d'un même produit. Maîtriser cette distinction est essentiel pour un catalogue propre, un stock fiable et un bon référencement.
Exporter le catalogue produits PrestaShop en SQL (phpMyAdmin)
Exportez vos produits PrestaShop via des requêtes SQL dans phpMyAdmin pour un contrôle total sur les données extraites. Filtrez toujours par id_lang pour éviter les doublons, et utilisez GROUP_CONCAT pour agréger catégories et images en une seule ligne par produit.
Catégorie ROOT PrestaShop : comprendre et corriger l'arborescence en base de données
Si toutes vos catégories PrestaShop sont marquées is_root_category = 1, seule la catégorie 2 (Accueil) doit porter ce flag. Corrigez en base de données avec deux requêtes UPDATE, vérifiez la hiérarchie parent-enfant, puis régénérez l'arbre des catégories.
Mettre à jour son catalogue PrestaShop par import CSV : guide complet
Pour mettre à jour votre catalogue PrestaShop par CSV sans créer de doublons, utilisez l'option « Forcer les identifiants » ou « Utiliser la référence comme clé » dans l'outil d'import natif, et exportez vos données existantes via le Gestionnaire SQL pour faire correspondre les ID.
Import CSV PrestaShop lent : optimiser l'import de milliers de produits
Un import CSV lent dans PrestaShop est généralement causé par un mauvais encodage du fichier (utilisez LibreOffice en UTF-8, pas Excel) et une configuration serveur sous-dimensionnée. Réduisez le nombre de colonnes au strict nécessaire, augmentez les limites PHP, désactivez l'indexation pendant l'import, et privilégiez un VPS plutôt qu'un mutualisé pour les catalogues volumineux.
Configuration
5 articlesInstallation, paramétrage, back-office
Changer de domaine PrestaShop sans coupure : le guide complet
Pour changer le nom de domaine d'une boutique PrestaShop, il faut intervenir à trois niveaux : configurer le nouveau domaine sur le serveur web (Apache ou Nginx), mettre à jour les tables ps_shop_url et ps_configuration en base de données, puis mettre en place des redirections 301 depuis l'ancien domaine pour préserver le référencement.
Navigation à facettes absente de la recherche PrestaShop : solutions
La navigation à facettes est absente de la page de recherche PrestaShop car le module natif ne supporte que les pages catégories. La solution passe par la vérification du layout du thème (colonne gauche + hook displayLeftColumn), puis éventuellement un override du module ou un développement spécifique pour étendre le filtrage au contrôleur de recherche.
Débuter sur PrestaShop : guide complet pour bien démarrer son e-commerce
Pour bien débuter sur PrestaShop, choisissez la version 8.1.x, installez-la sur un VPS correctement configuré (PHP 8.1+, MariaDB 10.6+), et accordez-vous au moins un mois d'apprentissage sur un environnement de test avant toute mise en production.
Installer PrestaShop 1.6 sans erreur 500 : permissions, PHP et performances
Pour installer PrestaShop 1.6 sans erreur 500 : consultez error.log d'Apache pour diagnostiquer, corrigez les permissions (755/644 avec chown www-data), utilisez PHP 7+ pour diviser le TTFB par deux, et activez OPcache + Memcached dès le départ.
Héberger PrestaShop chez OVH : migrer sur un VPS, du serveur au SSL
Guide complet pour migrer PrestaShop sur un VPS OVH Cloud : choix du serveur, installation de la stack (Nginx/Apache + PHP 8.1 + MariaDB), configuration des vhosts, SSL Let's Encrypt gratuit, et procédure de transfert de boutique en 6 étapes avec les bonnes pratiques de sécurité.
Performance
5 articlesVitesse, cache, optimisation SQL, Core Web Vitals
PrestaShop lent : que faire ? Diagnostiquer la lenteur
Pour diagnostiquer la lenteur d'un site PrestaShop, mesurez le TTFB via les outils navigateur, activez le debug profiling pour identifier les modules et requêtes SQL lents, puis vérifiez la table ps_configuration qui peut être anormalement gonflée suite à un bug connu de PrestaShop 1.6.
Optimiser les performances et le SEO d'une boutique PrestaShop : guide complet
Pour optimiser une boutique PrestaShop, activez la concaténation CSS/JS et le cache navigateur, configurez un sous-domaine sans cookie ou un CDN pour les ressources statiques, migrez vos icônes vers du SVG, et posez les fondations SEO avec Google Search Console et GA4.
PrestaShop bloqué ou lent : diagnostiquer un disque saturé ou une base gonflée
Un PrestaShop qui plante subitement est généralement causé par un disque serveur saturé ou une base de données gonflée par les tables de statistiques (ps_connections, ps_guest). La solution : purger ces tables, désactiver les modules stats intégrés au profit de Google Analytics, et migrer vers un hébergement adapté si vous êtes en mutualisé.
Réduire le JavaScript inutilisé sur PrestaShop : guide complet
Pour réduire le JavaScript inutilisé sur PrestaShop, commencez par diagnostiquer avec Chrome Coverage, désactivez les modules inutiles par page via les positions, puis optimisez le bundle theme.js avec Webpack (tree-shaking, code splitting, imports sélectifs).
Optimisation PrestaShop : accélérer votre boutique pas à pas
Pour diagnostiquer un PrestaShop lent, activez le debug profiling par IP, isolez les modules problématiques un par un, analysez les requêtes SQL excessives, vérifiez les logs serveur pour les attaques DDoS, et optimisez le front-end (images WebP, fonts locales, SVG au lieu de Font Awesome).
Design & Thèmes
5 articlesThèmes, CSS, responsive, templates Smarty/Twig
Optimiser le responsive design d'une boutique PrestaShop de literie
Guide complet pour optimiser le responsive design d'une boutique PrestaShop spécialisée literie : diagnostic des problèmes courants (grilles, images, sélecteurs de déclinaisons, tableaux de tailles), corrections CSS et templates, et checklist de validation avant mise en production.
Supprimer les bordures blanches des images produit PrestaShop
Les bordures blanches sur les images produit PrestaShop apparaissent quand le ratio de l'image source ne correspond pas au format cible. La solution recommandée est d'harmoniser les ratios avant upload ; pour un correctif immédiat, utilisez object-fit: cover en CSS ou affichez l'image originale via le modificateur Smarty spacify.
Intégrer un design Photoshop dans PrestaShop sans casser le responsive
Les tranches Photoshop génèrent des tableaux HTML non responsive et incompatibles avec les styles PrestaShop. La solution pérenne est de reconstruire l'intégration avec la grille Bootstrap, nativement disponible dans PrestaShop depuis la version 1.6, pour obtenir un design adaptatif sur tous les écrans.
Personnaliser les couleurs d'un thème PrestaShop sans sacrifier les performances
Pour personnaliser les couleurs d'un thème PrestaShop, désactivez d'abord le Smart Cache CSS pour identifier les fichiers à modifier, utilisez un fichier custom.css dédié avec des variables CSS, et mesurez systématiquement l'impact sur les performances (TTFB < 200 ms recommandé par Google).
Créer un thème PrestaShop : overrides, assets et bonnes pratiques
Créer un thème PrestaShop propre repose sur la maîtrise du système d'overrides (hiérarchie de fichiers, suppression du class_index.php, permissions), la gestion correcte des assets CSS/JS via setMedia() ou Webpack, et la compréhension du CCC pour éviter les pièges de concaténation en production.
Debug
4 articlesErreurs, logs, profiling, résolution
Page blanche PrestaShop : diagnostic et correction
Une page blanche sur les fiches produits PrestaShop provient généralement d'un module défaillant (souvent Commentaires Produits) ou d'un cache Memcache mal configuré. Activez le mode debug pour identifier l'erreur, désactivez le module ou le cache incriminé, puis mettez à jour ou corrigez.
Erreur 500 sur PrestaShop : diagnostic complet et solutions
L'erreur 500 sur PrestaShop se diagnostique en activant le mode debug pour obtenir la stack trace, puis en vérifiant les modules, la version PHP, les overrides et les logs serveur. La cause la plus fréquente est un module incompatible qu'il suffit de désactiver pour restaurer le site.
Erreur 405 Method Not Allowed sur la page produit PrestaShop : diagnostic et solution
L'erreur 405 Method Not Allowed lors de la modification d'un produit PrestaShop est le plus souvent causée par une incompatibilité entre la version de PHP et celle de PrestaShop. La solution consiste à vérifier et corriger la version PHP sur votre hébergement, puis à vider le cache.
Back-office PrestaShop inaccessible : diagnostic et solutions complètes
Un back-office PrestaShop inaccessible se diagnostique en 6 étapes : activer le mode debug, vider les caches, vérifier les permissions fichiers (755/644), corriger la configuration SSL et les URL en base de données, réinstaller le dossier admin si nécessaire, et analyser les logs serveur en dernier recours.
Sécurité
2 articlesSSL, permissions, failles, mises à jour
Sécuriser PrestaShop avant mise en production : checklist complète
Avant de lancer une boutique PrestaShop en production, sécurisez les points d'entrée critiques : renommez le dossier admin, ajoutez une double authentification HTTP, verrouillez les permissions de fichiers, masquez phpMyAdmin et installez Fail2Ban. Ces mesures s'appliquent de PrestaShop 1.6 à 8.x.
Réinitialiser le mot de passe admin PrestaShop via phpMyAdmin
Pour récupérer l'accès au back-office PrestaShop, régénérez le mot de passe admin via phpMyAdmin : hash MD5(cookie_key + password) sur PS 1.6, ou bcrypt via password_hash() sur PS 1.7/8.x, puis mettez à jour la colonne passwd de la table ps_employee.
Migration
2 articlesUpgrade de version, migration serveur
Migration PrestaShop vers un nouveau serveur : résoudre les erreurs courantes
Lors d'une migration PrestaShop, les problèmes les plus fréquents sont le cache Symfony corrompu, les permissions fichiers incorrectes et le .htaccess obsolète. Diagnostiquez en distinguant pages legacy et Symfony, puis suivez la checklist : permissions (chown www-data), purge cache (rm -rf var/cache/), régénération .htaccess et mise à jour des URLs en base de données.
Connexion clients impossible après mise à jour PrestaShop : diagnostic et solutions
Après une mise à jour PrestaShop, les connexions clients échouent généralement parce que la cookie key a changé, rendant tous les hash de mots de passe invalides. La solution la plus fiable est de restaurer l'ancienne cookie key depuis votre sauvegarde, ou de mettre en place un rehashage progressif MD5 → bcrypt via un override de la classe Customer.
Paiement
1 articleModules paiement, Stripe, PayPal
Commandes
1 articlePanier, checkout, factures, statuts