Immagini PrestaShop non visualizzate: correzioni facili per 10 cause comuni

Quando le immagini prestashop non visualizzate compaiono nelle pagine prodotto, nelle categorie o nella home page, gli acquirenti vedono icone rotte al posto del catalogo. I file di solito sono ancora sul server – PrestaShop non riesce semplicemente a servire il percorso, la dimensione o la regola di rewrite corretta. Questa guida illustra un rapido passo di diagnosi, come sono archiviate le immagini, le cause comuni e le correzioni che risolvono la maggior parte dei casi senza una reinstallazione completa.

Immagini prestashop non visualizzate - miniature prodotto assenti nel negozio

Diagnosi rapida (due minuti)

Prima di intervenire su permessi o rigenerare tutto, capisci come si manifesta il problema nel browser:

  1. Apri l’URL dell’immagine da solo – clic destro su un’immagine rotta → Apri immagine in una nuova scheda. Annota lo stato: 404 (file o rewrite mancante), 403 (permessi / regole hotlink), oppure l’immagine si carica mentre la pagina resta rotta (tema o modulo lazy-load).
  2. Controlla la console del browser – gli avvisi di mixed content indicano che la pagina è su https:// ma il src è ancora http://.
  3. Confronta Back Office e negozio – se il modulo prodotto mostra la foto ma il front office è vuoto, le miniature, i rewrite Friendly URL o il dominio del negozio sono i soliti sospetti. Se entrambi i lati sono vuoti, cerca un file mancante su disco o una riga nel database senza file corrispondente.
  4. Attiva/disattiva Friendly URL una volta – Parametri negozio → Traffico e SEO. Se le immagini compaiono solo con Friendly URL disattivato, correggi .htaccess / le regole Nginx per le immagini prima di rigenerare l’intero catalogo.

PrestaShop conserva gli originali e le dimensioni generate nella cartella /img/ alla radice del negozio. Sapere quale directory contiene quali asset fa risparmiare tempo quando cerchi un file mancante:

  • /img/p/ – immagini prodotto. I caricamenti sono suddivisi in cartelle annidate (ad esempio /img/p/1/2/12.jpg per il prodotto ID 12). PrestaShop genera anche varianti miniature per griglie, carrelli e pagina prodotto.
  • /img/c/ – immagini categoria, con le proprie dimensioni miniature.
  • /img/cms/ – immagini usate nelle pagine CMS. Di solito non passano dalla pipeline miniature stile prodotto, quindi rigenerare le miniature prodotto non riparerà un percorso media CMS rotto.

Se l’URL dell’immagine nel negozio restituisce un 404 mentre il file esiste su disco, controlla permessi, rewrite di .htaccess / Nginx e tipi di miniatura prima di ricaricare ogni foto. I problemi con Friendly URL spesso si accompagnano ai fallimenti del percorso immagine – consulta la guida sulla risoluzione dei problemi di riscrittura degli URL SEO in PrestaShop quando i link prodotto e gli URL media si rompono insieme.

Cause comuni delle immagini prestashop non visualizzate

  1. Permessi file errati – il server web non può leggere (o scrivere) i file sotto /img/.
  2. .htaccess danneggiato o incompleto – soprattutto dopo uno spostamento, un passaggio a HTTPS o una modifica manuale.
  3. Dominio negozio, dominio SSL o Base URI errati – dopo una migrazione, gli URL immagine puntano ancora al vecchio host o alla vecchia cartella.
  4. Impostazioni tipi immagine – formati mancanti o con dimensione zero in Design → Impostazioni immagine.
  5. Rigenerazione miniature interrotta – alcune dimensioni non sono mai state scritte.
  6. Libreria immagini PHP mancante – GD o Imagick non installati, quindi la rigenerazione non può creare i file.
  7. Moduli legati alle immagini – lazy load, CDN, watermark o moduli ottimizzatore che falliscono.
  8. Cache obsoleta – cache PrestaShop, modulo cache o browser che servono ancora vecchi URL.
  9. Disallineamento post-aggiornamento o filesystem – il tema si aspetta nuovi tipi immagine, oppure layout legacy vs nuovo /img/p/ dopo lo spostamento di un negozio vecchio.
  10. Lacune nei rewrite Nginx – le regole in stile Apache di PrestaShop non si applicano; le route immagine richiedono configurazione server.

Il mixed content dopo aver forzato HTTPS è un’altra causa frequente: la pagina si carica su https:// mentre i tag immagine puntano ancora a http://, quindi i browser moderni li bloccano. Conferma che gli URL negozio e media usino HTTPS in Parametri negozio → Traffico e SEO (e in qualsiasi modulo CDN).

Impostazioni immagine Design di PrestaShop dove rigenerare le miniature

Come correggere le immagini prestashop non visualizzate

  1. Correggi i permessi su /img/ – via FTP o file manager dell’host, le directory sono di solito 755 e i file 644. Prova 775 / 664 solo se l’host richiede scrittura di gruppo. Evita 777 / 666 tranne come test breve, poi ripristina permessi più restrittivi. L’utente web deve anche poter scrivere qui, altrimenti la rigenerazione miniature fallisce in silenzio.
  2. Correggi l’URL del negozio dopo uno spostamento – in Parametri negozio → Traffico e SEO, imposta Dominio negozio, Dominio SSL e Base URI sull’host live (inclusa la sottocartella se il negozio non è alla radice del dominio). Salva così PrestaShop riscrive .htaccess. Domini errati sono una delle cause principali delle immagini prestashop non visualizzate subito dopo una migrazione. Se gli attributi src delle immagini mostrano ancora il vecchio host, svuota la cache e controlla le impostazioni CDN.
  3. Rigenera .htaccess – nella stessa schermata SEO e URL, salva le impostazioni Friendly URL così il .htaccess alla radice viene ricostruito. Ricontrolla l’URL di un’immagine prodotto in una finestra privata del browser.
  4. Conferma GD o Imagick – PrestaShop ha bisogno di un’estensione immagini PHP per ridimensionare i caricamenti. Sul server, verifica che PHP GD (o Imagick) sia abilitato per la stessa versione PHP usata dal negozio. Senza di essa, Design → Impostazioni immagine può sembrare a posto mentre nessuna nuova miniatura compare su disco.
  5. Rivedi i tipi immagine e rigenera le miniature – vai in Design → Impostazioni immagine. Conferma che ogni formato usato dal tema abbia larghezza/altezza sensate. Esegui Rigenera miniature. Le note ufficiali di aggiornamento lo segnalano anche quando le immagini spariscono dopo un salto di versione – consulta la checklist post-aggiornamento di PrestaShop. Questo passaggio da solo risolve una grande parte dei casi di «miniature rotte».
  6. Riprendi una rigenerazione bloccata – se la barra di avanzamento si è fermata a metà, invia di nuovo il modulo con Cancella immagini precedenti deselezionato così PrestaShop continua invece di cancellare le dimensioni già completate e ripartire da zero. Su cataloghi grandi, rigenera un tipo immagine alla volta così un timeout non nasconde dove è fallito.
  7. Percorsi immagine prodotto legacy vs nuovi – i negozi spostati da versioni PrestaShop molto vecchie a volte conservano ancora i file in un layout piatto mentre il negozio attuale si aspetta cartelle annidate sotto /img/p/ (o il contrario). In Impostazioni immagine, usa l’opzione per spostare le immagini nel nuovo filesystem quando corrisponde ai tuoi dati – poi rigenera. Non attivare quell’interruttore alla cieca su un negozio live senza backup.
  8. Isola i moduli immagine – disattiva moduli lazy-load, WebP, CDN o watermark recenti, svuota la cache e ritesta. Riattivali uno alla volta per trovare il colpevole.
  9. Svuota le cache – Parametri avanzati → Prestazioni → svuota cache. Svuota qualsiasi modulo cache/CDN. Hard refresh o svuota la cache del browser così non stai guardando un vecchio URL rotto.
  10. Dopo un aggiornamento – svuota la cache, rigenera le miniature e conferma che i tipi immagine richiesti dal tema attivo esistano ancora in Impostazioni immagine. Un aggiornamento tema che aggiunge un nuovo formato mostrerà slot vuoti finché quel tipo non viene generato.
  11. Nginx – PrestaShop non può scrivere la configurazione Nginx per te. Chiedi all’host (o al sysadmin) di mappare correttamente le regole immagine e rewrite legacy; confronta con uno snippet Nginx PrestaShop noto funzionante per la tua versione major.

Se il Back Office stesso mostra una schermata bianca mentre lavori su questi passaggi, trattalo prima come un problema separato di PHP/log errori – inizia con la guida alla schermata bianca della morte in PrestaShop, poi torna alla rigenerazione delle immagini.

Vedi ancora immagini prestashop non visualizzate dopo permessi, controlli dominio/URL, rewrite, rigenerazione, moduli e cache? Ripristina /img/ (e le righe immagine corrispondenti nel database se necessario) da un backup noto funzionante. Ricaricare centinaia di prodotti a mano è più lento e facile da disallineare rispetto alle immagini combinazione.

Mantenere le immagini funzionanti dopo la correzione

  1. Backup regolari – includi l’intero albero /img/ e il database, non solo i file PHP.
  2. Testa su staging – prova cambi tema, moduli ottimizzatore immagini e aggiornamenti major su una copia prima del negozio live.
  3. Controlli mirati dopo grandi cambiamenti – dopo ogni aggiornamento, migrazione o cambio CDN, apri un elenco categoria e una pagina prodotto su mobile e desktop. Conferma che miniature e immagini zoom si carichino così intercetti le immagini prestashop non visualizzate prima dei clienti.

La maggior parte dei ticket sulle immagini prestashop non visualizzate si chiude con un dominio negozio corretto, permessi /img/ leggibili, un .htaccess aggiornato (o mappa Nginx corretta), GD/Imagick funzionanti e una rigenerazione miniature completata con cancella disabilitato al retry. Lavora su questi prima di ricostruire il catalogo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *