PrestaShop lent et images qui disparaissent : diagnostic complet
Votre boutique PrestaShop est lente et les images disparaissent ? Découvrez les causes courantes et les solutions pour résoudre ces problèmes de performance.
En bref : Un PrestaShop lent avec des images manquantes se diagnostique en quatre étapes : test multi-navigateurs, activation du CCC (concaténation/compression des assets), audit des tâches CRON gourmandes, et analyse avec des outils comme GTmetrix. Les images disparaissent généralement à cause de miniatures non régénérées ou de permissions incorrectes.
Introduction
Deux symptômes reviennent régulièrement chez les marchands PrestaShop : un temps de chargement anormalement long et des images produit qui disparaissent de manière aléatoire. Ces problèmes sont souvent liés — une boutique mal optimisée génère des requêtes excessives, ce qui provoque des timeouts et des ressources non chargées, images comprises.
Cet article propose une méthode de diagnostic structurée pour identifier la cause racine et appliquer les correctifs adaptés.
Étape 1 : Reproduire le problème sur plusieurs navigateurs
Avant toute intervention technique, il faut déterminer si le problème est global ou spécifique à un environnement client.
Méthode de test croisé
Testez votre boutique sur au minimum trois navigateurs différents (Chrome, Firefox, Safari ou Edge) et si possible sur plusieurs systèmes d'exploitation (Windows, macOS, Linux). Si le problème n'apparaît que sur un seul navigateur :
- **Videz le cache du navigateur concerné** (Ctrl+Shift+Suppr ou Cmd+Shift+Suppr)
- Testez en **navigation privée** pour éliminer les extensions
- Vérifiez que le navigateur est **à jour**
Si le problème se reproduit partout, la cause est côté serveur ou côté configuration PrestaShop.
Vérifier l'accès HTTP de base
Un site qui retourne une erreur 403 (Forbidden) ou 500 (Internal Server Error) a un problème d'accès avant même de parler de performance. Contrôlez :
curl -I https://www.votre-boutique.com
Un code 200 OK confirme que le serveur répond. Tout autre code (403, 500, 502) doit être résolu en priorité en vérifiant les permissions de fichiers et la configuration du serveur web.
Étape 2 : Activer la concaténation, compression et mise en cache (CCC)
PrestaShop intègre un mécanisme natif d'optimisation des assets statiques appelé CCC (Concaténation, Compression et mise en Cache). Son activation réduit considérablement le nombre de requêtes HTTP et le poids des pages.
Sur PrestaShop 1.6 et 1.7
Rendez-vous dans Back Office → Paramètres avancés → Performance :
- **Concaténation CSS** : Oui
- **Concaténation JavaScript** : Oui
- **Minification CSS** : Oui (appelé "Compression" en 1.6)
- **Minification JavaScript** : Oui
- **Cache navigateur** : Oui (Apache/Nginx)
Sur PrestaShop 8.x
Le même réglage existe dans Configuration → Paramètres avancés → Performance, section "CCC". PrestaShop 8 utilise un système d'assets amélioré, mais les principes restent identiques :
Concaténer les fichiers CSS → Oui
Concaténer les fichiers JavaScript → Oui
Minifier les fichiers CSS → Oui
Minifier les fichiers JavaScript → Oui
Attention : Après activation du CCC, videz le cache PrestaShop (bouton "Vider le cache" dans la même page). Certains modules mal développés peuvent provoquer des erreurs JavaScript après concaténation — dans ce cas, désactivez la concaténation JS et contactez l'éditeur du module.
Étape 3 : Identifier les tâches CRON gourmandes
Un serveur mutualisé ou un VPS modeste peut être mis à genoux par des tâches CRON trop fréquentes ou mal optimisées. Certains modules PrestaShop planifient des traitements lourds (import de flux, synchronisation marketplace, envoi de newsletters) qui saturent le CPU ou la mémoire.
Comment vérifier les CRON actives
# Lister les tâches CRON de l'utilisateur web
crontab -l
# Ou pour l'utilisateur www-data (selon votre configuration)
sudo crontab -u www-data -l
Recherchez les appels à des scripts PrestaShop :
# Exemple de CRON typique d'un module
*/5 * * * * php /var/www/html/modules/monmodule/cron.php
Si un CRON s'exécute toutes les minutes avec un traitement lourd, augmentez l'intervalle ou planifiez-le en heures creuses.
Modules fréquemment responsables
- Modules d'import/export de flux produits
- Modules de synchronisation marketplace (Amazon, eBay, CDiscount)
- Modules de newsletter ou d'emailing de masse
- Modules de sauvegarde automatique de la base de données
Étape 4 : Auditer les performances avec des outils externes
Pour obtenir un diagnostic objectif et mesurable, utilisez des outils d'analyse de performance reconnus :
GTmetrix
Analyse complète des Web Vitals (LCP, FID, CLS), de la cascade de chargement et des recommandations d'optimisation. L'outil identifie les ressources les plus lourdes et les requêtes bloquantes.
Pingdom Tools
Permet de tester le temps de chargement depuis différentes localisations géographiques, ce qui est essentiel pour détecter un problème de latence réseau ou de CDN.
Google PageSpeed Insights
Fournit un score de performance mobile et desktop avec des recommandations spécifiques. Particulièrement utile pour identifier les problèmes de Cumulative Layout Shift (CLS) qui peuvent provoquer des effets de "disparition" d'images.
Chrome DevTools (onglet Network)
Ouvrez les outils développeur (F12), onglet Network, puis rechargez la page. Filtrez par type "Img" pour identifier :
- Les images qui retournent une **erreur 404** (chemin incorrect)
- Les images dont le chargement **dépasse 5 secondes** (serveur saturé)
- Les images **non optimisées** (poids supérieur à 500 Ko)
Étape 5 : Résoudre la disparition des images
Les images qui disparaissent ont généralement l'une de ces causes :
Régénération des miniatures
Si les images disparaissent après un changement de thème ou une mise à jour, il faut régénérer les miniatures :
Back Office → Design → Images (PrestaShop 8.x) ou Préférences → Images (1.6/1.7)
Cliquez sur "Régénérer les miniatures" en sélectionnant "Tous" pour les types d'images.
Permissions des dossiers d'images
Vérifiez que les dossiers d'images ont les bonnes permissions :
# Vérifier les permissions
ls -la /var/www/html/img/p/
# Corriger si nécessaire (adapter l'utilisateur web)
chown -R www-data:www-data /var/www/html/img/
chmod -R 755 /var/www/html/img/
Lazy loading mal configuré
Sur PrestaShop 8.x et les thèmes modernes, le lazy loading natif peut provoquer un effet de disparition si le JavaScript du thème ne se charge pas correctement. Vérifiez dans la console du navigateur l'absence d'erreurs JS bloquantes.
Espace disque insuffisant
Un serveur dont le disque est plein ne peut plus écrire de miniatures :
df -h
Si l'utilisation dépasse 90 %, faites le ménage dans /var/log/, les sauvegardes anciennes et le cache PrestaShop (/var/cache/ dans le dossier PrestaShop).
Bonnes pratiques de performance PrestaShop
Questions fréquentes
Tout ce que vous devez savoir sur ce sujet.
Un projet PrestaShop ?
Discutons-en directement.
193 projets livrés
Lire sur le blog

Alexandre Carette
Expert PrestaShop & Architecture E-commerce
Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.