
🔧 Come risolvere l'errore "Spiacenti, questo tipo di file non è consentito per motivi di sicurezza" in WordPress
Carichi un file nella libreria media di WordPress e ricevi un avviso rosso: «Sorry, this file type is not permitted for security reasons.» Un font.woff per un design personalizzato, un’icona SVG per un logo, un libro.epub per gli utenti: WordPress si rifiuta semplicemente di accettarli.
Il problema non è il tuo file. WordPress nella sua configurazione standard filtra rigorosamente i tipi di dati che possono essere caricati. È un meccanismo di sicurezza integrato che protegge il sito da file potenzialmente pericolosi. Ma blocca anche formati perfettamente legittimi che ti servono per lavorare.
Ecco tre metodi funzionanti per aggirare la restrizione: uno rapido con codice in wp-config.php, uno flessibile con un plugin e uno specializzato per la grafica SVG. Nessuna modifica al core, nessun rischio per il sito.
💡 Panoramica rapida:
- Rimuovere le restrizioni di WordPress usando la costante ALLOW_UNFILTERED_UPLOADS in wp-config.php.
- Installare il plugin Add MIME Types per aggiunte mirate di formati tramite pannello di amministrazione.
- Per la grafica SVG, usare Safe SVG con il suo sanitizzatore integrato.
Perché WordPress blocca il caricamento dei file
WordPress supporta decine di formati nella configurazione standard, ma non tutti. Il sistema controlla il MIME type di ogni file caricato rispetto a una lista predefinita di tipi consentiti. Se il tipo non è presente, compare il messaggio «Sorry, this file type is not permitted for security reasons.»

Di default, WordPress consente il caricamento delle seguenti categorie:
Categoria | Estensioni consentite |
|---|---|
Immagini | .jpg,.jpeg,.png,.gif,.ico,.webp |
Video | .mp4,.m4v,.mov,.wmv,.avi,.mpg,.ogv,.3gp,.3g2 |
Documenti | .pdf,.doc,.docx,.ppt,.pptx,.pps,.ppsx,.odt,.xls,.xlsx,.psd |
Audio | .mp3,.m4a,.ogg,.wav |
Tutto ciò che non è in tabella (.woff/.woff2 per i font,.svg per la grafica vettoriale,.epub per gli ebook,.json,.xml,.csv) WordPress lo blocca.
Un esempio tipico: stai aggiungendo un font personalizzato al tuo tema e provi a caricare un file .woff tramite la libreria media. Il risultato:

Il file è sul server, l’estensione è corretta, il contenuto è sicuro, ma WordPress non riconosce il MIME type font/woff e lo rifiuta. Ci sono tre soluzioni.
Metodo 1: Codice in wp-config.php (rapido, per qualsiasi formato)
La via più breve è aggiungere una riga al file di configurazione di WordPress. La costante ALLOW_UNFILTERED_UPLOADS disabilita il controllo del MIME type, consentendo di caricare file di qualsiasi formato.
Prima di iniziare, fai un backup del sito. Modificare direttamente wp-config.php è un’operazione a basso rischio, ma il file è critico per il funzionamento di WordPress.
Collegati al server via FTP/SFTP (FileZilla, WinSCP o il file manager del tuo hosting). Il file wp-config.php si trova nella cartella root, nello stesso percorso delle directory wp-admin e wp-includes.

Apri wp-config.php e aggiungi la seguente riga prima del commento /* That's all, stop editing! Happy blogging. */:
1 define('ALLOW_UNFILTERED_UPLOADS', true);

Salva il file e caricalo di nuovo sul server se lo hai modificato in locale. Poi esci dall’amministrazione di WordPress** e riaccedi**. Questo passaggio è obbligatorio; altrimenti la configurazione modificata non verrà applicata.
Dopo aver effettuato di nuovo l’accesso, prova a caricare il file. La restrizione è rimossa.

Vantaggi di questo metodo: immediato, non richiede plugin, funziona per qualsiasi formato. Svantaggio: apre i caricamenti a qualsiasi cosa. ALLOW_UNFILTERED_UPLOADS non distingue tra un .woff sicuro e un file eseguibile potenzialmente pericoloso. Se sul sito ci sono altri amministratori o autori, è meglio non usare questo metodo.
Metodo 2: plugin Add MIME Types (flessibile, da pannello di amministrazione)
Se non vuoi toccare wp-config.php o hai bisogno di un controllo preciso (solo .woff e .svg, ma non .exe), usa il plugin Add MIME Types su WordPress.org.
Il plugin è mantenuto attivamente (versione 3.2.0, compatibile con PHP 8.5 e WordPress 7.0) e non modifica i file core. Si limita ad aggiungere i tipi MIME necessari attraverso il filtro standard di WordPress.
Installa e attiva il plugin, poi vai su Impostazioni → Add MIME Types. Vedrai un elenco di formati già consentiti; il plugin li mostra in rosso in fondo alla lista.

Per aggiungere un nuovo tipo, inserisci l’estensione e il tipo MIME corrispondente nel campo. Per esempio:
1 woff = font/woff 2 woff2 = font/woff2 3 svg = image/svg+xml 4 epub = application/epub+zip
Clicca su Salva modifiche e il formato viene aggiunto. Verifica caricando un file del tipo richiesto nella libreria media. WordPress lo accetterà senza errori.
Vantaggi: più sicuro della costante ALLOW_UNFILTERED_UPLOADS (aggiungi solo ciò che ti serve), gestione da pannello di amministrazione, le impostazioni si conservano durante gli aggiornamenti del core. Svantaggio: un passaggio in più rispetto alla modifica del codice.
Alternativa per SVG: plugin Safe SVG
Se l’unico formato "non consentito" sul tuo sito è SVG, esiste una soluzione specializzata. Safe SVG del team 10up non si limita a permettere il caricamento di grafica vettoriale; disinfetta ogni file al momento del caricamento, rimuovendo eventuale codice XML/JavaScript malevolo.

Dopo l’installazione, il plugin funziona da subito: nessuna impostazione richiesta. I file SVG sono immediatamente disponibili per il caricamento e vengono visualizzati correttamente nella libreria media (incluse le anteprime, che WordPress non fornisce di default per gli SVG).
Il plugin è attivo su oltre 1 milione di siti, compatibile con WordPress 7.0 e aggiornato regolarmente. Se ti serve solo l’SVG, Safe SVG gestisce il compito in modo più pulito rispetto a un plugin MIME universale.
Ecco un breve video sull’argomento che mostra in modo chiaro tutti e tre i metodi per correggere l’errore nell’amministrazione di WordPress:
⁉️🤔 Domande frequenti
È sicuro usare ALLOW_UNFILTERED_UPLOADS su un sito in produzione?
Con riserva. La costante disabilita completamente il controllo del tipo MIME. Qualsiasi utente con il diritto di caricare file può caricare qualsiasi cosa nella libreria media, inclusi script eseguibili. Su un sito in produzione con più autori, usa il secondo metodo (Add MIME Types) o almeno limita chi ha accesso alla libreria media.
Perché WordPress non consente SVG di default?
SVG è un documento XML, non un’immagine binaria. All’interno di un file SVG possono esserci JavaScript, gestori di eventi e tag
<foreignObject>, il che apre un vettore per attacchi XSS. È proprio per questo che il core di WordPress blocca SVG, e plugin come Safe SVG fanno passare i file attraverso un sanitizer, rimuovendo tutto il codice potenzialmente pericoloso e lasciando solo la grafica.
Dopo aver aggiunto il codice a wp-config.php, l’errore persiste. Cosa devo fare?
Ci sono tre probabili cause. Prima: non sei uscito e rientrato nell’amministrazione. La configurazione è memorizzata nella sessione, quindi è necessario un nuovo accesso. Seconda: il file è stato caricato nella posizione sbagliata.
wp-config.phpdeve trovarsi nella root del sito, non in/wp-content/o/wp-admin/. Terza: sul sito è attivo un plugin di sicurezza (Wordfence, Solid Security) che intercetta i caricamenti a prescindere dalla costante. Verifica le loro impostazioni.
Posso consentire i caricamenti per un solo utente?
Non tramite
ALLOW_UNFILTERED_UPLOADS; la costante è globale. Anche il plugin Add MIME Types si applica a tutti i ruoli con la capacitàupload_files. Per un accesso selettivo, usa il filtroupload_mimesinfunctions.phpcon un controllocurrent_user_can(), ma questo è già sviluppo personalizzato.
Cosa fare se il plugin Add MIME Types non funziona per il mio formato?
Alcuni formati richiedono una corrispondenza esatta del tipo MIME che la funzione PHP
finfo_filedetermina sul tuo server. Questo può differire dal tipo "standard". Nelle impostazioni del plugin, attiva l’opzione "Enable to debug output for file types recognized by WordPress", carica il file e verifica quale tipo MIME il server ha effettivamente rilevato. Poi inserisci esattamente quel tipo. Dopo la verifica, disattiva la modalità debug.
Rimuovere il blocco: quale metodo scegliere
Logica di selezione in tre passaggi:
Devi caricare un file subito? Modifica
wp-config.php. Bastano 30 secondi e la restrizione sparisce. Non dimenticare di rimuovere o commentare la riga in seguito, se il sito è pubblico.Carichi regolarmente formati specifici? Add MIME Types è più sicuro, più visivo e non si resetta con gli aggiornamenti del core di WordPress.
Lavori solo con SVG? Safe SVG è uno strumento specializzato con un sanitizer che non si limita a «consentire», ma pulisce anche i file. Per tutto il resto, usa il primo o il secondo metodo.
L'errore «Sorry, this file type is not permitted» non è un bug, ma una restrizione intenzionale. Tuttavia, WordPress ha lasciato modalità legittime per aggirarla. Scegli quella più adatta e torna al tuo lavoro. 🔗 Add MIME Types su WordPress.org | 🔗 Safe SVG su WordPress.org



