Expertise PrestaShop

11 ans de solutions techniques concrètes. Développement, performance, migration, sécurité — tout ce que j'ai appris sur le terrain.

💻

Développement

11 articles

Modules, hooks, overrides, Symfony, API

DéveloppementIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementDébutant5 FAQ

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é.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire5 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire7 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DéveloppementIntermédiaire5 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
🔍

SEO

8 articles

Référencement, meta, sitemap, données structurées

SEOIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
SEOIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
SEODébutant5 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
SEODébutant7 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
SEOIntermédiaire5 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
SEOIntermédiaire6 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
SEODébutant15 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
SEODébutant7 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
📦

Catalogue

8 articles

Produits, catégories, attributs, import/export

CatalogueIntermédiaire7 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
CatalogueIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
CatalogueIntermédiaire7 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
CatalogueDébutant6 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
CatalogueIntermédiaire6 FAQ

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.

PS 1.4 PS 1.5 PS 1.6 PS 1.7 PS 8.x
Lire l'article
CatalogueIntermédiaire7 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
CatalogueIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
CatalogueIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
⚙️

Configuration

5 articles

Installation, paramétrage, back-office

ConfigurationIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
ConfigurationIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
ConfigurationDébutant7 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
ConfigurationIntermédiaire7 FAQ

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.

PS 1.6 PS 8.x
Lire l'article
ConfigurationIntermédiaire7 FAQ

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é.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
⚡

Performance

5 articles

Vitesse, cache, optimisation SQL, Core Web Vitals

PerformanceIntermédiaire8 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
PerformanceIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
PerformanceIntermédiaire7 FAQ

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é.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
PerformanceIntermédiaire6 FAQ

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).

PS 1.7 PS 8.x
Lire l'article
PerformanceIntermédiaire11 FAQ

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).

PS 1.7 PS 8.x
Lire l'article
🎨

Design & Thèmes

5 articles

Thèmes, CSS, responsive, templates Smarty/Twig

Design & ThèmesIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
Design & ThèmesIntermédiaire5 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
Design & ThèmesIntermédiaire7 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
Design & ThèmesDébutant7 FAQ

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).

PS 1.6 PS 1.7 PS 8.x
Lire l'article
Design & ThèmesIntermédiaire5 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
🐛

Debug

4 articles

Erreurs, logs, profiling, résolution

DebugIntermédiaire8 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
DebugIntermédiaire5 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
DebugIntermédiaire5 FAQ

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.

PS 1.7 PS 8.x
Lire l'article
DebugIntermédiaire7 FAQ

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.

PS 1.6 PS 1.7 PS 8.x
Lire l'article
🔒

Sécurité

2 articles

SSL, permissions, failles, mises à jour

🔄

Migration

2 articles

Upgrade de version, migration serveur

💳

Paiement

1 article

Modules paiement, Stripe, PayPal

🛒

Commandes

1 article

Panier, checkout, factures, statuts