Quand les images prestashop non affichées apparaissent sur les fiches produit, les catégories ou la page d’accueil, les visiteurs voient des icônes cassées à la place de votre catalogue. Les fichiers sont généralement toujours sur le serveur – PrestaShop ne parvient simplement pas à servir le bon chemin, la bonne taille ou la bonne règle de réécriture. Ce guide vous accompagne à travers un diagnostic rapide, le stockage des images, les causes courantes et les corrections qui règlent la plupart des cas sans réinstallation complète.

Diagnostic en premier (deux minutes)
Avant de toucher aux permissions ou de tout régénérer, identifiez comment les images prestashop non affichées échouent réellement dans le navigateur :
- Ouvrez l’URL de l’image seule – clic droit sur une image cassée → Ouvrir l’image dans un nouvel onglet. Notez le statut : 404 (fichier ou réécriture manquant), 403 (permissions / règles anti-hotlink), ou l’image se charge alors que la page reste cassée (thème ou module de lazy-load).
- Vérifiez la console du navigateur – les avertissements de contenu mixte signifient que la page est en
https://mais que lesrcest encore enhttp://. - Comparez le Back Office et la boutique – si le formulaire produit affiche la photo mais la boutique est vide, les miniatures, les réécritures Friendly URL ou le domaine boutique sont les suspects habituels. Si les deux côtés sont vides, cherchez un fichier manquant sur le disque ou une ligne en base sans fichier correspondant.
- Basculez Friendly URL une fois – Paramètres de la boutique → Trafic et SEO. Si les images n’apparaissent qu’avec Friendly URL désactivé, corrigez
.htaccess/ les règles Nginx pour les images avant de régénérer tout le catalogue.
PrestaShop conserve les originaux et les tailles générées dans le dossier /img/ à la racine de la boutique. Savoir quel répertoire contient quels fichiers fait gagner du temps quand vous cherchez un fichier manquant :
/img/p/– images produit. Les uploads sont répartis dans des dossiers imbriqués (par exemple/img/p/1/2/12.jpgpour le produit ID 12). PrestaShop génère aussi des variantes miniatures pour les grilles, les paniers et la fiche produit./img/c/– images catégorie, avec leurs propres tailles de miniatures./img/cms/– images utilisées dans les pages CMS. Elles contournent en général le pipeline de miniatures produit, donc régénérer les miniatures produit ne réparera pas un chemin média CMS cassé.
Si l’URL boutique d’une image renvoie une 404 alors que le fichier existe sur le disque, examinez les permissions, les réécritures .htaccess / Nginx et les types d’image avant de ré-uploader chaque photo. Les problèmes Friendly URL se trouvent souvent à côté des échecs de chemin d’image – consultez résoudre les problèmes de réécriture d’URL SEO dans PrestaShop quand les liens produit et les URL média cassent ensemble.
Causes courantes des images prestashop non affichées
- Mauvaises permissions de fichiers – le serveur web ne peut pas lire (ou écrire) les fichiers sous
/img/. .htaccesscassé ou incomplet – surtout après un déplacement, un passage HTTPS ou une modification manuelle.- Mauvais domaine boutique, domaine SSL ou URI de base – après une migration, les URL d’images pointent encore vers l’ancien hôte ou dossier.
- Paramètres de types d’image – formats manquants ou de taille zéro dans Design → Paramètres des images.
- Régénération de miniatures interrompue – certaines tailles n’ont jamais fini d’être écrites.
- Bibliothèque d’images PHP manquante – GD ou Imagick non installé, donc la régénération ne peut pas créer de fichiers.
- Modules liés aux images – lazy load, CDN, filigrane ou optimiseur qui échouent.
- Cache obsolète – cache PrestaShop, module de cache ou navigateur qui sert encore d’anciennes URL.
- Incohérence post-mise à jour ou système de fichiers – le thème attend de nouveaux types d’image, ou ancien vs nouveau layout
/img/p/après migration d’une vieille boutique. - Lacunes de réécriture Nginx – les règles style Apache de PrestaShop ne s’appliquent pas ; les routes image nécessitent une config serveur.
Le contenu mixte après forçage HTTPS est un autre coupable fréquent : la page charge en https:// tandis que les balises image pointent encore vers http://, donc les navigateurs modernes les bloquent. Confirmez que les URL boutique et média utilisent HTTPS dans Paramètres de la boutique → Trafic et SEO (et dans tout module CDN).

Comment corriger les images prestashop non affichées
- Corrigez les permissions sur
/img/– via FTP ou le gestionnaire de fichiers de l’hébergeur, les répertoires sont en général en 755 et les fichiers en 644. Essayez 775 / 664 seulement si votre hébergeur exige l’écriture de groupe. Évitez 777 / 666 sauf en test court, puis resserrez les permissions. L’utilisateur web doit aussi pouvoir écrire ici, sinon la régénération des miniatures échouera silencieusement. - Corrigez l’URL boutique après un déplacement – dans Paramètres de la boutique → Trafic et SEO, définissez Domaine de la boutique, Domaine SSL et URI de base sur l’hôte en production (y compris le sous-répertoire si la boutique n’est pas à la racine du domaine). Enregistrez pour que PrestaShop réécrive
.htaccess. Les mauvais domaines sont une cause majeure d’images prestashop non affichées juste après migration. Si les attributssrcdes images montrent encore l’ancien hôte, videz le cache et vérifiez les paramètres CDN ensuite. - Régénérez
.htaccess– sur le même écran SEO et URL, enregistrez les paramètres Friendly URL pour que le.htaccessracine soit reconstruit. Revérifiez une URL d’image produit dans une fenêtre de navigation privée. - Confirmez GD ou Imagick – PrestaShop a besoin d’une extension PHP image pour redimensionner les uploads. Sur le serveur, vérifiez que PHP GD (ou Imagick) est activé pour la même version PHP que la boutique. Sans cela, Design → Paramètres des images peut sembler correct alors qu’aucune nouvelle miniature n’apparaît sur le disque.
- Revoyez les types d’image et régénérez les miniatures – allez dans Design → Paramètres des images. Confirmez que chaque format utilisé par votre thème a des largeur/hauteur sensées. Lancez Régénérer les miniatures. Les notes de mise à jour officielles le rappellent aussi quand les images disparaissent après un saut de version – voir la checklist post-mise à jour PrestaShop. Cette étape seule règle une grande part des cas de « miniatures cassées ».
- Reprenez une régénération bloquée – si la barre de progression s’est arrêtée en cours de route, soumettez à nouveau le formulaire avec Effacer les images précédentes décoché pour que PrestaShop continue au lieu d’effacer les tailles terminées et de repartir de zéro. Sur les grands catalogues, régénérez un type d’image à la fois pour qu’un timeout ne masque pas l’endroit de l’échec.
- Ancien vs nouveau chemins d’images produit – les boutiques migrées depuis de très vieilles versions PrestaShop stockent parfois encore les fichiers en layout plat alors que la boutique actuelle attend des dossiers imbriqués sous
/img/p/(ou l’inverse). Dans Paramètres des images, utilisez l’option pour déplacer les images vers le nouveau système de fichiers quand cela correspond à vos données – puis régénérez. Ne basculez pas cette option à l’aveugle sur une boutique en production sans sauvegarde. - Isolez les modules image – désactivez les modules récents de lazy load, WebP, CDN ou filigrane, videz le cache et retestez. Réactivez-les un par un pour trouver le coupable.
- Videz les caches – Paramètres avancés → Performances → vider le cache. Purgez tout module cache/CDN. Rafraîchissez en force ou videz le cache navigateur pour ne pas regarder une ancienne URL cassée.
- Après une mise à jour – videz le cache, régénérez les miniatures et confirmez que les types d’image requis par le thème actif existent encore dans Paramètres des images. Une mise à jour de thème qui ajoute un nouveau format affichera des emplacements vides jusqu’à génération de ce type.
- Nginx – PrestaShop ne peut pas écrire la config Nginx pour vous. Demandez à l’hébergeur (ou votre sysadmin) de mapper correctement les règles image et réécritures legacy ; comparez avec un extrait Nginx PrestaShop connu comme bon pour votre version majeure.
Si le Back Office lui-même affiche un écran blanc pendant que vous suivez ces étapes, traitez d’abord cela comme un problème PHP/journal d’erreurs séparé – commencez par le guide de dépannage de l’écran blanc de la mort, puis revenez à la régénération des images.
Vous voyez encore des images prestashop non affichées après permissions, vérifications domaine/URL, réécritures, régénération, modules et cache ? Restaurez /img/ (et les lignes image correspondantes en base si besoin) depuis une sauvegarde connue comme bonne. Ré-uploader des centaines de produits à la main est plus lent et facile à désynchroniser avec les images de déclinaisons.
Maintenir les images fonctionnelles après la correction
- Sauvegardez régulièrement – incluez l’arborescence complète
/img/et la base de données, pas seulement les fichiers PHP. - Testez en préproduction – essayez les changements de thème, modules optimiseur d’image et mises à jour majeures sur une copie avant la boutique en ligne.
- Contrôlez après les gros changements – après chaque mise à jour, migration ou changement CDN, ouvrez une liste catégorie et une fiche produit sur mobile et bureau. Confirmez que miniatures et images zoom chargent pour repérer les images prestashop non affichées avant les clients.
La plupart des tickets « images prestashop non affichées » se terminent avec un domaine boutique correct, des permissions /img/ lisibles, un .htaccess frais (ou une bonne map Nginx), GD/Imagick opérationnels et une régénération de miniatures terminée avec effacement désactivé au nouvel essai. Travaillez ces points avant de reconstruire le catalogue.
