Un errore 405 Method Not Allowed significa che il server web ha compreso la tua richiesta ma ha rifiutato il metodo HTTP che hai usato. Una richiesta GET ha raggiunto un endpoint che accetta solo POST; un plugin di sicurezza ha bloccato le chiamate PUT dall’editor a blocchi; una regola .htaccess ha rimosso DELETE. Il server sa cosa vuoi, ma non lo elaborerà in quel modo.
Risposta rapida: In WordPress, la causa più comune di un errore 405 è un plugin di sicurezza che blocca le chiamate PUT o DELETE dall’editor Gutenberg, oppure una direttiva
LimitExceptin.htaccess. La prima soluzione più rapida è Impostazioni > Permalink > Salva le modifiche per rigenerare.htaccess. Se questo non aiuta, disattiva i plugin di sicurezza uno alla volta per isolare il blocco. Nei nostri test, ripristinare.htaccesstramite Impostazioni > Permalink > Salva risolve l’errore nella maggior parte dei casi in cui non è installato alcun plugin di sicurezza.

Dove appare l’errore 405?
Usa questa tabella per individuare la causa più probabile prima di lavorare su ogni passaggio.
| Dove appare l’errore | Causa più probabile |
|---|---|
| L’editor a blocchi non riesce a salvare un articolo | Plugin di sicurezza che blocca PUT o DELETE |
| Modulo di contatto o di checkout sul front-end | Plugin del modulo che invia il metodo HTTP sbagliato |
| Endpoint della REST API o comando WP-CLI | Regola LimitExcept in .htaccess |
| Intero sito o aree di amministrazione specifiche | Direttiva Nginx o Apache a livello di server |
Prima di apportare qualsiasi modifica, esegui il backup del tuo sito web in modo da poter tornare rapidamente indietro se qualcosa va storto. WP Staging offre backup automatici con ripristini in un clic. Consulta la guida al backup e al ripristino per le istruzioni di configurazione.
Configurazione errata di LimitExcept in .htaccess
Una direttiva LimitExcept in .htaccess limita quali metodi HTTP il server accetta su un determinato percorso. Un esempio comune:
<LimitExcept GET POST>
Deny from all
</LimitExcept>
Questo blocca PUT, DELETE e PATCH, che la REST API di WordPress e Gutenberg utilizzano per gli aggiornamenti e le operazioni in blocco. Un file .htaccess a cui un plugin di sicurezza o una modifica manuale ha aggiunto questa direttiva è spesso il colpevole quando l’errore 405 appare per la prima volta dopo l’installazione di un plugin o una modifica alla configurazione di cPanel.
Diagnosi: Controlla il log degli errori del server per righe contenenti 405 (Method Not Allowed) sui percorsi della REST API (/wp-json/...). Se le trovi lì, una regola LimitExcept è quasi certamente la causa.
Soluzione: ripristina il file .htaccess
Accedi al cPanel del tuo hosting e apri il File Manager.

Naviga fino alla directory principale della tua installazione WordPress, di solito public_html o www.

Individua il file .htaccess nella directory principale.

Fai clic con il tasto destro sul file .htaccess e seleziona Scarica per salvare un backup sul tuo computer.

Fai di nuovo clic con il tasto destro sul file, scegli Rinomina e rinominalo in .htaccess.bak. Questo lo disabilita temporaneamente senza eliminarlo.

Con il vecchio .htaccess disabilitato, vai su Impostazioni > Permalink nella bacheca di WordPress e clicca su Salva le modifiche. WordPress rigenera un .htaccess pulito senza alcuna regola problematica.

Controlla il tuo sito. Se l’errore 405 è scomparso, apri il vecchio .htaccess.bak e confrontalo riga per riga con il nuovo file per trovare la direttiva LimitExcept. Rimuovila dal backup e rinominalo di nuovo in .htaccess, oppure mantieni la versione rigenerata.
Se usi Nginx, .htaccess non ha alcun effetto. Controlla nginx.conf per direttive limit_except o deny equivalenti nel blocco server o location del tuo sito.
Plugin di sicurezza che blocca i metodi HTTP
Dai ticket di supporto di WP STAGING, la causa più comune di un errore 405 in un’installazione WordPress funzionante è il firewall di un plugin di sicurezza che blocca le richieste PUT o DELETE dall’editor a blocchi. Plugin come Wordfence e Sucuri ti permettono di limitare quali metodi HTTP il server accetta. Quando bloccano PUT o DELETE, le richieste di salvataggio di Gutenberg falliscono con un errore 405 e l’editor mostra un errore di salvataggio generico.
Diagnosi: Disattiva temporaneamente il tuo plugin di sicurezza e prova a salvare di nuovo l’articolo. Se l’errore 405 scompare, il plugin è la causa.
Soluzione: individua il plugin che blocca
Accedi alla bacheca di WordPress e vai su Plugin.

Seleziona tutti i plugin attivi, apri il menu a discesa Azioni di gruppo in alto, scegli Disattiva e clicca su Applica.

Dopo aver disattivato tutti i plugin, controlla se l’errore 405 è scomparso. Se lo è, riattiva ogni plugin uno per uno, testando il tuo sito dopo ciascuno, finché l’errore non ricompare. Quello è il plugin che blocca la richiesta.
Una volta individuato, controlla le impostazioni del firewall o dei metodi HTTP del plugin. Per Wordfence, cerca sotto Firewall > All Firewall Options i metodi HTTP consentiti e verifica che PUT e DELETE siano inclusi. Per Sucuri, cerca nelle impostazioni Hardening eventuali restrizioni sui metodi HTTP.
Configurazione del server (Nginx e Apache)
Un errore 405 che persiste dopo aver ripristinato .htaccess e disattivato i plugin di solito indica la configurazione del server web. Su Apache, le direttive Limit e LimitExcept all’interno di un file di configurazione del virtual host possono bloccare i metodi su tutto il sito. Su Nginx, un blocco limit_except GET POST {} nel blocco server o location ha lo stesso effetto.
Diagnosi: controlla i log del server
I log di accesso registrano ogni richiesta con il codice di stato HTTP. I log degli errori catturano il motivo per cui il server ha rifiutato la richiesta. Cerca righe contenenti 405 o method not allowed vicino al percorso che ha restituito l’errore.
La maggior parte dei pannelli di controllo dell’hosting condiviso mostra i log in una sezione Log o Metriche. Su un VPS o un server dedicato, controlla /var/log/apache2/error.log o /var/log/nginx/error.log.
Soluzione: aggiorna la configurazione del server
Per Apache, individua il file di configurazione del virtual host del tuo sito (di solito in /etc/apache2/sites-enabled/) e cerca i blocchi <Limit> o <LimitExcept>. Aggiungi i metodi HTTP richiesti o rimuovi la restrizione.
Per Nginx, trova il blocco limit_except all’interno del blocco server del tuo sito e aggiungi i metodi mancanti, oppure rimuovi il blocco se la tua configurazione non lo richiede.
Dopo aver modificato la configurazione, ricarica il server:
# Apache
sudo systemctl reload apache2
# Nginx
sudo systemctl reload nginx
Sull’hosting condiviso, non puoi modificare direttamente la configurazione globale del server. Contatta il supporto del tuo host e descrivi i metodi HTTP bloccati e il percorso URL specifico che restituisce l’errore 405.
Restrizioni sui metodi della REST API di WordPress
WordPress utilizza la REST API per i salvataggi di Gutenberg, le operazioni di sincronizzazione dei plugin e i comandi WP-CLI. Se la REST API è disabilitata, oppure un hook di un plugin o di un tema rifiuta metodi HTTP specifici, vedrai errori 405 sui percorsi che iniziano con /wp-json/.
Nei nostri test, gli errori sui metodi della REST API nell’editor a blocchi sono più spesso causati da una combinazione di un filtro di autenticazione REST in un plugin o tema e dell’elenco dei metodi consentiti di un plugin di sicurezza. Abilitare la modalità debug mostra quale componente rifiuta la richiesta.
Soluzione: abilita la modalità debug di WordPress per rintracciare l’errore
Apri wp-config.php, cambia define('WP_DEBUG', false) in define('WP_DEBUG', true) e aggiungi anche define('WP_DEBUG_LOG', true) per scrivere gli errori in wp-content/debug.log. Salva il file.

Riproduci l’errore 405, poi apri wp-content/debug.log e cerca errori di autenticazione della REST API o conflitti di filtri. Quando individui l’hook o il plugin responsabile, aggiorna le sue impostazioni o contatta l’autore del plugin.
Ripristina WP_DEBUG su false al termine della risoluzione dei problemi.
Per le istruzioni di configurazione, consulta come attivare il log di debug di WordPress.
Plugin del modulo di contatto che invia il metodo HTTP sbagliato
Alcuni plugin per moduli di contatto e di checkout inviano i dati tramite una richiesta GET a un endpoint che accetta solo POST, oppure usano un metodo non standard che il server non accetta. Questo produce un errore 405 sul front-end anziché nell’area di amministrazione.
Dal supporto di WP STAGING, questo schema si presenta quando l’aggiornamento di un plugin cambia l’URL dell’endpoint di invio senza aggiornare l’attributo del metodo del modulo. Il plugin inizia a inviare richieste al nuovo endpoint usando il vecchio metodo e il server restituisce l’errore 405.
Diagnosi: Apri i DevTools del browser (F12), vai alla scheda Rete e invia il modulo. Trova la richiesta che restituisce l’errore 405. Controlla la colonna Metodo: se mostra GET per un modulo che dovrebbe usare POST, o qualsiasi altro metodo inatteso, il plugin è configurato in modo errato.
Soluzione: Aggiorna prima il plugin alla sua ultima versione. Se l’errore persiste, controlla nelle impostazioni del plugin l’opzione per il metodo del modulo o per l’URL di invio e verifica che corrisponda a ciò che il server accetta. Se il plugin non ha tale impostazione, contatta l’autore del plugin fornendo il metodo della richiesta e l’URL dalla scheda Rete.
Risoluzione generale dei problemi
Se nessuna delle soluzioni specifiche per la causa descritte sopra ha risolto l’errore, segui questi passaggi nell’ordine indicato.
Ricarica la pagina
Un problema temporaneo del server o una cache del browser obsoleta possono produrre un errore 405 occasionale. Esegui un ricaricamento forzato con Ctrl + Shift + R su Windows o Command + Shift + R su macOS per forzare una nuova richiesta.
Verifica errori nell’URL
Ricontrolla l’URL per errori di battitura, barre extra o caratteri fuori posto. Un URL malformato può instradare verso un endpoint che non accetta il metodo che hai inviato.
Annulla eventuali modifiche recenti
Se l’errore 405 è apparso dopo l’aggiornamento di un plugin, di un tema o del core di WordPress, annulla quella modifica. Per i plugin, WP Rollback può ripristinare una versione precedente. Testa il tuo sito dopo ogni ripristino per confermare quale aggiornamento ha introdotto l’errore.
Ispeziona le modifiche recenti al database
Un plugin o un tema che scrive nel database può occasionalmente interferire con l’instradamento delle richieste. Per verificare la presenza di modifiche inaspettate:
- Accedi al cPanel e apri phpMyAdmin.

- Seleziona il database associato alla tua installazione WordPress dalla barra laterale a sinistra.

Cerca tabelle orfane lasciate da plugin disinstallati di recente in wp_options e wp_usermeta. Rimuovi eventuali righe residue e verifica se l’errore 405 si risolve.
Passa a un tema predefinito
Un tema che registra in modo errato una route della REST API può produrre un errore 405 su quei percorsi. Passare a un tema predefinito incluso esclude questa possibilità.
Vai su Aspetto > Temi nella tua bacheca e attiva un tema WordPress predefinito.

Se l’errore 405 scompare con il tema predefinito attivo, il problema è nel tuo tema originale. Esamina eventuali chiamate personalizzate register_rest_route nel file functions.php del tema, oppure contatta l’autore del tema.
Cosa fare se la soluzione non funziona
Se l’errore 405 persiste dopo aver seguito tutte le sezioni sopra, una CDN o un reverse proxy posto tra il browser del visitatore e il tuo server potrebbe rimuovere o riscrivere il metodo HTTP prima che la richiesta raggiunga WordPress.
Verifica la presenza di un livello CDN o WAF. Il pannello di controllo del tuo hosting o la dashboard del tuo provider DNS di solito mostra se una CDN o un Web Application Firewall è attivo. In tal caso, controlla le sue regole del firewall per eventuali elenchi di metodi HTTP consentiti. I servizi CDN hanno spesso regole che permettono solo GET e POST, il che restituirà un errore 405 per PUT, DELETE o PATCH prima che la richiesta raggiunga WordPress.
Rivedi le impostazioni del load balancer. Se il tuo sito è dietro un load balancer, verifica che la configurazione del listener o del backend non stia rifiutando metodi HTTP non standard.
Bypassa temporaneamente il proxy per isolare la fonte. Se puoi instradare una richiesta di prova direttamente al tuo server di origine e l’errore 405 scompare, il proxy sta filtrando il metodo. Collabora con il tuo provider CDN o con l’amministratore di sistema per modificare l’elenco dei metodi consentiti.
Conclusione
Un errore 405 Method Not Allowed in WordPress ha un piccolo insieme di cause principali: una direttiva LimitExcept in .htaccess, un plugin di sicurezza che blocca i metodi della REST API, una regola di configurazione a livello di server, un plugin che invia il metodo HTTP sbagliato, oppure una CDN che filtra le richieste a monte. Affrontare ogni causa in ordine, iniziando dal ripristino di .htaccess, risolve il problema nella maggior parte dei casi.
Se hai bisogno di tornare indietro dopo una modifica fallita, la guida al backup e al ripristino di WP Staging illustra il ripristino in pochi clic.
Articoli correlati
- Come risolvere l’errore 429 Too Many Requests in WordPress?
- Come risolvere l’errore HTTP durante il caricamento delle immagini su WordPress
- Come risolvere l’errore "Sorry, You Are Not Allowed to Access This Page" in WordPress?
- Come risolvere i problemi di aggiornamento e reindirizzamento della pagina di login di WordPress?
- Riduci le richieste HTTP per un sito WordPress