Diagnosi probabile
Quando immagini e media non si caricano in WordPress, la causa più frequente è una combinazione di permessi errati nella cartella wp-content/uploads, URL dei file non coerenti con il dominio attuale, oppure blocchi lato server come hotlink protection, regole nel file .htaccess, cache aggressiva o limiti di PHP che interrompono l’upload.
In produzione, il problema può anche dipendere da uno storage pieno, da una migrazione incompleta del sito, da un plugin di ottimizzazione immagini che ha alterato i percorsi, o da un CDN che sta servendo contenuti vecchi o non raggiungibili. Se le miniature sono assenti ma i file esistono, spesso è un tema di rigenerazione delle dimensioni o di librerie grafiche non disponibili.
Verifiche immediate
- Apri una pagina con immagini mancanti e verifica il comportamento nel browser: tasto destro sull’immagine rotta, copia indirizzo e prova ad aprire l’URL in una nuova scheda. Se compare
404,403o un timeout, hai già un’indicazione utile sulla causa. - Dal pannello hosting o via FTP/SFTP controlla che la cartella
wp-content/uploadsesista e che i file siano realmente presenti nel percorso indicato dall’URL. Se il file manca, il problema è di caricamento o migrazione; se esiste ma non si apre, il problema è di permessi, rewrite o regole del server. - Se hai accesso al server, verifica spazio disco e inode. Su Linux il controllo minimo è:
df -h
find /path/del/sito -xdev -type f | wc -lLo spazio deve essere sufficiente e non deve risultare una partizione al 100%. Se il disco è pieno, WordPress può salvare i file a metà o fallire senza messaggi chiari.
Soluzione consigliata passo-passo
- Ripristina i permessi corretti. La soluzione più sicura è riportare directory e file ai valori standard di WordPress: cartelle a
755, file a644. Se gestisci il sito da SSH, esegui prima un backup del contenuto e poi verifica i permessi della sola cartella interessata. Un esempio, da adattare al percorso reale del sito, è:
chmod -R u=rwX,go=rX /percorso/del/sito/wp-content/uploadsDopo la modifica, ricarica una pagina con immagini mancanti. Se l’errore era 403, spesso il problema si risolve subito.
- Controlla i limiti di upload di PHP. Dal pannello hosting o in
php.ini/.user.iniverifica almenoupload_max_filesize,post_max_sizeememory_limit. Per immagini grandi o gallery pesanti, valori troppo bassi causano upload interrotti o file incompleti. Un assetto comune e prudente è:upload_max_filesizeuguale o superiore alla dimensione massima dei file che carichi,post_max_sizemaggiore diupload_max_filesize, ememory_limitadeguato al tema e ai plugin. Dopo la modifica, prova a caricare un file di test di dimensione nota. - Verifica gli URL dei media dopo migrazione o cambio dominio. Se il sito è stato spostato, controlla che nel database non siano rimasti vecchi riferimenti a dominio, protocollo o sottocartella. In WordPress, gli URL errati nelle tabelle dei post e dei metadati causano immagini rotte anche se i file sono presenti. Il fix più sicuro è usare uno strumento di search and replace affidabile, preferibilmente dal plugin di manutenzione o da un tool specifico del pannello hosting, evitando sostituzioni manuali approssimative. Dopo l’operazione, svuota la cache e ricarica una pagina campione.
- Rivedi il file
.htaccesse le regole di protezione. Se trovi regole che negano l’accesso alla cartella uploads, o un blocco aggressivo contro alcuni tipi di file, prova a disattivarle temporaneamente rinominando il file e testando il sito. Prima di toccarlo, fai un backup:
cp .htaccess .htaccess.bakSe il problema rientra dopo la rinomina, la causa è quasi certamente in una regola specifica. Ripristina il backup e correggi solo la direttiva responsabile, invece di lasciare il sito senza protezioni.
- Ricrea le miniature se le immagini esistono ma non si vedono correttamente. Se i file originali sono presenti ma mancano le varie dimensioni generate da WordPress, il tema può mostrare spazi vuoti o immagini distorte. In questo caso usa un plugin affidabile per rigenerare le miniature e verifica prima su un numero limitato di contenuti. Il controllo successivo è semplice: apri un articolo con più formati immagine e conferma che anteprime, thumbnail e immagini grandi siano coerenti.
- Disattiva temporaneamente i plugin che toccano media e ottimizzazione. Plugin di compressione, lazy load, WebP, CDN o sicurezza possono riscrivere gli URL o bloccare l’accesso ai file. Procedi in modo reversibile: disattiva un plugin per volta, svuota la cache e verifica la pagina. Se il problema sparisce dopo la disattivazione di un plugin, hai trovato il punto di intervento. A quel punto aggiorna il plugin, controlla le sue impostazioni e riattivalo solo dopo aver corretto la configurazione.
- Controlla i log del server e di WordPress. Se il caricamento fallisce senza messaggi visibili, i log sono spesso l’unica fonte affidabile. Cerca errori come
permission denied,file too large,mod_security,disk quota exceededo errori di librerie grafiche. Se usi WordPress, attiva temporaneamente il debug solo per la diagnosi e disattivalo subito dopo. Un errore ricorrente nei log conferma la causa e evita tentativi casuali.
Controlli finali / rollback
- Verifica tre casi reali: una immagine già esistente, un nuovo upload e una pagina con miniature. Se tutti e tre funzionano, la correzione è stabile. Se fallisce solo l’upload nuovo, il problema è ancora lato PHP, quota o permessi.
- Controlla che il browser apra direttamente l’URL di un media senza errori
403o404. L’esito atteso è la visualizzazione del file oppure una risposta HTTP corretta con contenuto immagine. - Se hai modificato
.htaccess, plugin o parametri PHP e qualcosa peggiora, esegui il rollback più semplice: ripristina il backup del file, riattiva un solo plugin alla volta oppure rimetti i valori precedenti in.user.ini/php.ini. Il rollback è appropriato se, dopo il fix, compaiono nuovi errori o se i media tornano a rompersi su più pagine. - Se il sito usa CDN o cache, svuota la cache finale e verifica da una finestra anonima e da un dispositivo diverso. In questo modo escludi che la vecchia versione sia ancora servita a livello esterno.
Assunzione: il problema riguarda un sito WordPress standard con accesso almeno al pannello hosting o a FTP/SFTP, senza necessità di interventi distruttivi sul database.
Checklist rapida: controlla file presenti, permessi corretti, spazio disco, URL coerenti dopo eventuale migrazione e regole di cache o sicurezza che bloccano gli allegati.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.