L' errore 406 "Not Acceptable" in WordPress può essere frustrante, soprattutto quando interrompe l'accesso degli utenti o la funzionalità delle API. Tuttavia, con un approccio sistematico, è possibile identificare rapidamente la causa principale e ripristinare il normale funzionamento. Questa guida illustra la diagnosi e la risoluzione del problema sia lato client che lato server, oltre a fornire passaggi di debug specifici per WordPress.
TL;DR: Soluzioni rapide per l'errore 406 in WordPress
Se riscontri un errore 406 Non accettabile, esegui questi rapidi controlli per ripristinare la funzionalità:
- Svuota la cache e prova in modalità di navigazione in incognito per escludere problemi del browser.
- Verificare la struttura dell'URL e rimuovere le estensioni dei file forzate.
- Disattivare temporaneamente tutti i plugin, in particolare quelli di sicurezza.
- Passa a un tema predefinito per eliminare i conflitti tra temi.
- Controllare i registri del server per individuare eventuali blocchi correlati a ModSecurity o MIME.
- Ripristinare gli aggiornamenti recenti se l'errore è apparso dopo le modifiche.
Questi passaggi risolvono la maggior parte degli errori 406 in modo rapido e sicuro.
Panoramica rapida dell'errore HTTP 406 non accettabile
Il codice di stato 406 Non accettabile è definito nella specifica HTTP come errore di negoziazione del contenuto.

Si verifica quando:
- Il client invia un'intestazione Accept che specifica particolari tipi di contenuto.
- Il server non può fornire una risposta corrispondente a quei tipi di contenuto.
- Le regole di sicurezza (come ModSecurity ) bloccano la richiesta.
- I tipi MIME o le configurazioni del server non sono configurati correttamente.
In WordPress, questo errore viene solitamente attivato da:
- Regole .htaccess non corrette
- Errori di configurazione nella negoziazione dei contenuti
- Temi o plugin corrotti
- Regole firewall aggressive a livello di hosting
Per una diagnosi accurata è fondamentale comprendere il contesto in cui si verifica l'errore (area di amministrazione, API REST
Ottieni supporto da esperti per risolvere rapidamente gli errori di WordPress
I nostri esperti WordPress diagnosticano rapidamente i problemi per ripristinare il tuo sito. Contattaci oggi stesso per una risoluzione dei problemi rapida e affidabile e rimetti online il tuo sito con tempi di inattività minimi.
Come diagnosticare l'errore 406 "Non accettabile" in WordPress?
Prima di applicare le correzioni, è essenziale diagnosticare correttamente l'errore 406 Non accettabile.

Poiché questo codice di stato HTTP è in genere correlato alla negoziazione del contenuto, al filtraggio di sicurezza o a intestazioni non configurate correttamente, un approccio diagnostico strutturato consente di individuare con precisione il trigger esatto.
Invece di tirare a indovinare, segui i metodi indicati di seguito per identificare sistematicamente la causa principale.
Ispezionare la richiesta di rete del browser
Apri gli Strumenti per sviluppatori del tuo browser e controlla la richiesta non riuscita nella scheda Rete . Presta molta attenzione alle intestazioni di accettazione, alle intestazioni di risposta e ai dettagli del codice di stato. Questo aiuta a determinare se il problema è causato da una negoziazione restrittiva del tipo di contenuto.
Prova in incognito o in un altro browser
Successivamente, prova lo stesso URL in una finestra di navigazione in incognito/privata o in un browser diverso. Se l'errore scompare, è possibile che file memorizzati nella cache, cookie o estensioni del browser interferiscano con la richiesta.
Verifica la struttura URL richiesta
Esamina attentamente l'URL per individuare errori di ortografia, percorsi errati o estensioni di file forzate come .json o .xml. Anche testare la home page può aiutare a stabilire se il problema è specifico dell'URL.
Esamina i registri di debug di WordPress
Abilita WP_DEBUG e controlla il file /wp-content/debug.log . Questo passaggio rileva eventuali conflitti relativi a plugin, temi o PHP che potrebbero generare la risposta 406.
Analizza i registri di accesso e di errore del server
Quando si diagnostica un errore 406 Non accettabile, i registri del server forniscono la prova più autorevole.
Invece di basarsi su ipotesi, i file di registro rivelano esattamente come il server ha elaborato la richiesta e perché è stata rifiutata. Pertanto, la revisione sia dei registri di accesso che di quelli di errore dovrebbe essere una priorità durante la risoluzione dei problemi.
Aprire i registri di accesso per le voci di stato 406 : per prima cosa, esaminare i registri di accesso del server Web per confermare quando e con quale frequenza viene visualizzato lo stato 406.
- Per Apache, controlla : /var/log/apache2/access.log
- Per NGINX, controlla : /var/log/nginx/access.log
Cerca specificamente le voci HTTP 406. Questo ti aiuta a identificare gli URL, i metodi di richiesta, gli indirizzi IP e gli user agent interessati.
Apri i log degli errori per i timestamp corrispondenti : quindi, confronta queste voci con i log degli errori . Esamina i log degli errori di Apache, NGINX e PHP. La corrispondenza dei timestamp può rivelare se il problema deriva da una configurazione errata, da errori di esecuzione degli script o dall'applicazione delle regole di sicurezza.
Correlare le voci di log con le azioni del plugin o del tema : infine, allineare i timestamp del log con le modifiche recenti del sito. Ad esempio , verificare se l'errore è iniziato dopo un aggiornamento del plugin, una modifica del tema o l'attivazione di una regola di sicurezza. Questa correlazione spesso individua il componente esatto responsabile della generazione della risposta 406.
Controllare i registri di sicurezza e firewall
Infine, ispeziona i log di ModSecurity, del firewall per applicazioni web o dei plugin di sicurezza. In molti casi, questi strumenti bloccano le richieste sospette, innescando così l'errore 406.
Come risolvere l'errore 406 "Non accettabile" in WordPress?
Una volta individuate le possibili cause, inizia a risolvere il problema in modo metodico.
Correzione 1: Risoluzione dei problemi sul lato client
Prima di modificare le configurazioni del server o le impostazioni di WordPress , è importante escludere cause lato client.
In molti casi, l'errore 406 Non accettabile viene attivato dalla cache del browser, da intestazioni restrittive o da interferenze della rete locale.
Pertanto, iniziare con i seguenti controlli per determinare se il problema ha origine nell'ambiente utente e non nel server.
- Per prima cosa, cancella la cache e i cookie del browser . File memorizzati o dati di sessione obsoleti potrebbero inviare intestazioni di richiesta errate, causando errori nella negoziazione dei contenuti. Dopo averli cancellati, ricarica la pagina per verificare se il problema persiste.
- Quindi, apri l'URL interessato in una finestra di navigazione in incognito o privata. In questo modo, la maggior parte delle estensioni e dei dati memorizzati nella cache verranno disattivati. Se la pagina viene caricata correttamente, il problema potrebbe essere correlato alle estensioni del browser o alle credenziali memorizzate.
- Quindi, apri gli Strumenti per sviluppatori del tuo browser e controlla la richiesta non riuscita nella scheda Rete. Presta attenzione ai valori dell'intestazione Accetta. Se sono eccessivamente restrittivi (ad esempio, richiedono solo JSON), il server potrebbe rifiutare la risposta.
Infine, cambia rete o riavvia il router. Occasionalmente, proxy, VPN o configurazioni del firewall possono modificare le intestazioni delle richieste, attivando inavvertitamente un errore 406.
Correzione 2: Risoluzione dei problemi sul lato server
Se i controlli lato client non risolvono il problema, il passaggio successivo consiste nell'esaminare la configurazione del server.

Poiché l'errore 406 Non accettabile è solitamente collegato alla negoziazione del contenuto o alla gestione errata delle risposte, è essenziale rivedere le impostazioni del server web.
Esaminando sistematicamente queste aree, è possibile identificare i conflitti di configurazione che bloccano le richieste valide.
Ispeziona le impostazioni di negoziazione del contenuto del server Web
Per prima cosa, analizza il modo in cui il tuo server gestisce la negoziazione dei contenuti.
- Per Apache , controlla le impostazioni del modulo mod_negotiation. In particolare, controlla che la direttiva MultiViews sia abilitata nel file .htaccess, poiché potrebbe forzare una corrispondenza imprevista dei contenuti.
- Per NGINX , verificare come vengono elaborati i tipi di contenuto all'interno del blocco types. Inoltre, ispezionare le regole di riscrittura per assicurarsi che non interferiscano con la gestione delle richieste.
Verifica i tipi MIME del server per le risorse richieste
Successivamente, verifica che il tuo server supporti tutti i tipi MIME richiesti. Ad esempio , assicurati che la configurazione per application/json, text/html e application/xml sia corretta.
Se questi tipi sono mancanti o mappati in modo errato, il server potrebbe rifiutare la richiesta e restituire lo stato 406.
Esamina le regole di riscrittura o reindirizzamento personalizzate
Esaminare le regole di riscrittura e reindirizzamento personalizzate. Verificare la presenza di regole .htaccess eccessivamente rigide, regole di riscrittura NGINX errate o potenziali loop di reindirizzamento. Anche configurazioni errate di lieve entità possono interrompere la negoziazione della risposta e generare questo errore.
Regola le regole ModSecurity sul server
Esamina i log di ModSecurity per identificare l'ID della regola specifica che attiva il blocco. Una volta identificato, puoi disattivare quella regola in modo selettivo o aggiungere l'URL o il parametro interessato alla whitelist.
Tuttavia, evita di disattivare completamente ModSecurity. Piuttosto, apporta modifiche precise per mantenere la sicurezza, consentendo al contempo le richieste legittime.
Rimuovere i vincoli problematici dell'intestazione Accept dai client
Esaminare le richieste lato client o a livello di applicazione per verificare la presenza di intestazioni Accept restrittive.
Ad esempio , se uno script richiede solo application/json ma il server risponde con text/html, la richiesta potrebbe essere rifiutata.
Spesso, la modifica dell'intestazione per consentire tipi di contenuto più ampi risolve questa discrepanza.
Sanificare gli input di richiesta che attivano le regole di sicurezza
Infine, esamina le stringhe di query, gli input dei moduli o i payload delle API. Caratteri speciali, parametri non codificati o pattern sospetti possono attivare le regole del firewall. Una corretta sanificazione e codifica degli input riduce i falsi positivi e previene futuri errori 406.
Correzione 3: Debug di WordPress specifico per un errore 406
Se la diagnostica a livello di server non rivela la causa, il problema potrebbe avere origine in WordPress stesso.

Poiché i plugin, i temi o il codice personalizzato possono modificare le intestazioni, riscrivere le regole o gestire le richieste, è essenziale un processo di debug strutturato.
Isolando metodicamente i componenti, è possibile identificare cosa sta innescando la risposta 406.
- Abilita WP_DEBUG e WP_DEBUG_LOG in wp-config.php : per prima cosa, attiva il debug di WordPress abilitando WP_DEBUG e WP_DEBUG_LOG nel file wp-config.php. Questo passaggio consente a WordPress di registrare notifiche, avvisi ed errori PHP nel file /wp-content/debug.log. Esaminando questo registro è possibile individuare conflitti, funzioni deprecate o problemi di output che contribuiscono all'errore.
- Disattiva temporaneamente tutti i plugin : disattiva tutti i plugin contemporaneamente. Quindi, testa la pagina o l'endpoint interessato. Se l'errore scompare, significa che il problema è causato da un plugin. I plugin di sicurezza, firewall o che modificano l'intestazione sono cause comuni.
- Passa a un tema WordPress predefinito : dopodiché, passa temporaneamente a un tema predefinito come Twenty Twenty-Four . Questo aiuta a determinare se le funzioni del tema, i modelli personalizzati o gli script incorporati interferiscono con la gestione delle richieste.
- Reinstalla i plugin uno alla volta per isolare il colpevole : infine, riattiva i plugin singolarmente, testandoli ogni volta. Questo approccio controllato ti aiuta a individuare il plugin esatto che causa l'errore 406 e ad applicare una correzione mirata.
Correzione 4: Ripristina gli aggiornamenti recenti
Se l'errore 406 è comparso subito dopo un aggiornamento, è probabile che la causa siano state delle modifiche recenti.
Poiché il core, i plugin e i temi di WordPress modificano frequentemente la gestione delle richieste o la logica di sicurezza, il rollback degli aggiornamenti può ripristinare rapidamente la stabilità.
Pertanto, la revisione degli aggiornamenti recenti dovrebbe essere parte del flusso di lavoro diagnostico.
- Per prima cosa, controlla la dashboard di WordPress o i log di hosting per verificare la presenza di aggiornamenti recenti. Verifica se il problema è iniziato dopo una modifica alla versione di un plugin, di un tema o del core.
- Successivamente, esegui il downgrade del plugin o del tema sospetto a una versione stabile precedente. Puoi farlo manualmente tramite FTP o utilizzando uno strumento di rollback.
- Infine, se il downgrade non risolve il problema, ripristina un backup completo del sito da un punto precedente al verificarsi dell'errore.
Verifica riuscita e test post-correzione
Dopo aver implementato le correzioni necessarie, è fondamentale confermare che l'errore 406 Non accettabile sia stato completamente risolto.
Invece di dare per scontato che il problema sia stato risolto, la convalida strutturata garantisce la stabilità a lungo termine. Pertanto, è consigliabile eseguire test post-fix completi per verificare che non rimangano conflitti di configurazione residui.
Esegui richieste cURL per confermare l'assenza di risposte 406
Innanzitutto, usa curl per testare gli URL interessati direttamente dalla riga di comando. Questo metodo ignora le variabili relative al browser e fornisce intestazioni di risposta HTTP non elaborate.
Verificare che il server restituisca ora lo stato 200 OK anziché 406 Non accettabile. Si consiglia di testare più endpoint, inclusi i percorsi API.
Testare le pagine chiave del sito su più browser
Successivamente, apri le pagine essenziali, come la homepage, la pagina dei contatti, la schermata di accesso e la dashboard di amministrazione, su diversi browser e dispositivi. Questo passaggio garantisce un comportamento coerente indipendentemente dal fatto che le sessioni siano memorizzate nella cache o che venga utilizzata una gestione specifica del browser.
Verificare che i messaggi "Verifica riuscita" non vengano più visualizzati
Infine, esamina le dashboard e i log di sicurezza per verificare che non vengano attivati ulteriori avvisi di blocco o verifica. Il monitoraggio continuo aiuta a prevenire il ripetersi del problema.
Ulteriori suggerimenti per la prevenzione e il monitoraggio
Una volta risolto l'errore 406 Non accettabile, la priorità successiva è la prevenzione.
Poiché i conflitti di configurazione, le regole di sicurezza e gli aggiornamenti possono reintrodurre problemi simili, il monitoraggio e la manutenzione proattivi sono essenziali.
Implementando misure di sicurezza strutturate, si riducono i tempi di inattività e si migliora la stabilità del sito a lungo termine.
- Pianifica backup regolari prima degli aggiornamenti : innanzitutto, crea sempre backup completi prima di aggiornare il core, i plugin o i temi di WordPress. Questo include sia i file che il database. In questo modo, ti assicuri di poter ripristinare rapidamente una versione stabile se un aggiornamento genera risposte 406 inaspettate.
- Monitorare i log del server per errori 406 ricorrenti : quindi, esaminare regolarmente i log di accesso e di errore del server. Cercare specificamente codici di stato 406 ricorrenti o richieste bloccate. Impostare avvisi di monitoraggio dei log può aiutare a individuare tempestivamente eventuali pattern, consentendo di risolvere i problemi prima che degenerino.
- Documentare le modifiche alla configurazione per un futuro rollback : conservare un registro delle modifiche apportate al server, delle modifiche alle regole di sicurezza e delle modifiche di riscrittura. Una documentazione adeguata semplifica la risoluzione dei problemi e consente un rollback più rapido quando necessario.
- Contatta il supporto di hosting se le cause profonde non sono chiare : infine, se i registri indicano restrizioni a livello di server o l'applicazione di firewall al di fuori del tuo controllo, contatta il tuo provider di hosting. Potranno analizzare le regole di ModSecurity, le configurazioni MIME o i filtri di rete in modo più completo.
Considerazioni finali
L'errore 406 Non accettabile in WordPress è solitamente legato a incongruenze nella negoziazione dei contenuti, restrizioni di sicurezza o configurazioni errate del server.
Tuttavia, seguendo un processo strutturato di risoluzione dei problemi, che inizia con i controlli lato client e prosegue con il debug specifico del server e di WordPress, è possibile isolare e risolvere il problema in modo efficiente.
Soprattutto, verifica sempre i log prima di apportare modifiche. Con un'attenta diagnostica e un monitoraggio preventivo, puoi ridurre al minimo le interruzioni future e mantenere un ambiente WordPress stabile.
Domande frequenti sull'errore 406 in WordPress
Cosa significa un errore 406 in WordPress?
Un errore 406 è una delle risposte di errore del server che si verifica quando il server non riesce a generare una risposta accettabile in base ai valori accettabili definiti nelle intestazioni della richiesta.
Il codice 406 è un problema del client o del server?
Sebbene spesso vengano raggruppate con le risposte di errore del client, vengono comunemente considerate risposte di errore del server perché spesso derivano da problemi lato server.
Cosa causa solitamente questo errore?
Le cause più comuni includono plugin difettosi, regole di sicurezza restrittive o intestazioni configurate in modo errato come Accept-Language o Accept-Encoding.
In che modo le intestazioni attivano una risposta 406?
Se una richiesta HTTP include valori strettamente accettabili per il tipo di contenuto o il formato, il server potrebbe non essere in grado di restituire una risposta adeguata.
Gli aggiornamenti possono danneggiare un sito web?
Sì, dopo l'ultimo aggiornamento, i conflitti all'interno del sistema di gestione dei contenuti o delle sue parti mobili potrebbero richiedere il ripristino di una versione precedente.
Come posso confermare la causa principale?
Per confermare la causa principale, controlla attentamente i log lato server per identificare le richieste HTTP bloccate e rivedi i suggerimenti di configurazione del tuo sistema di hosting.
I tipi di file possono causare l'errore?
Sì, un esempio è quando un file CSS viene richiesto in un formato non supportato, causando un errore di negoziazione.