State cercando di risolvere l’errore JSON non valido in WordPress?
Questo errore compare quando si modificano i post o le pagine di WordPress sul proprio sito web. Verrà visualizzato un messaggio che dice: “La risposta non è una risposta JSON valida” e l’aggiornamento della pagina fallirà.
In questo articolo vi mostreremo come risolvere facilmente l’errore JSON non valido in WordPress. Parleremo anche del motivo per cui questo errore si verifica e di come evitarlo in futuro.
Cosa causa l’errore “Risposta JSON non valida” in WordPress?
La mancata ricezione di una risposta attesa dal server causa l’errore “Risposta JSON non valida” in WordPress.
In pratica, WordPress deve comunicare con il server mentre si modifica un post del blog. Si basa sull’ottenimento di risposte dal server di web hosting in background. Queste risposte sono solitamente in formato JSON, utilizzato per trasportare rapidamente i dati con JavaScript.
Se, per qualche motivo, WordPress non riesce a ottenere la risposta o la risposta non è in formato JSON, verrà visualizzato l’errore “Risposta JSON non valida”.
Questo errore può comparire per diversi motivi. Tuttavia, la causa più probabile è un’impostazione errata dell’URL in WordPress o un permalink non funzionante.
Detto questo, vediamo come risolvere facilmente l’errore JSON non valido in WordPress. Potete utilizzare questi collegamenti rapidi per passare ai diversi metodi:
- Option 1. Check WordPress URLs in Settings
- Option 2. Fix WordPress Permalink Structure
- Option 3. Regenerate WordPress .htaccess File
- Option 4. View the REST API Debug Log
- Option 5. Deactivate All WordPress Plugins
- Option 6. Temporarily Switch to the Classic Editor
- Option 7. Switch to a Default WordPress Theme
- Option 8. Temporarily Turn Off Website Application Firewall
- Option 9. Turn On Debugging in WordPress
- Option 10. Check for Mixed Content Error
- Final Step: Seek Expert Help
Nota: prima di apportare modifiche importanti al vostro sito web, eseguite un backup completo di WordPress. In questo modo è possibile ripristinare facilmente il sito web allo stato precedente.
Opzione 1. Controllare gli URL di WordPress nelle impostazioni
Innanzitutto, è necessario assicurarsi che le impostazioni dell’indirizzo di WordPress e dell’indirizzo del sito siano corrette.
È sufficiente andare alla pagina Impostazioni ” Generale. Da qui, è necessario rivedere i campi “Indirizzo WordPress (URL)” e “Indirizzo del sito (URL)”.
Per la maggior parte dei siti web, questa impostazione deve avere lo stesso URL in entrambi i campi.
Tuttavia, raramente, alcuni utenti di WordPress potrebbero aver dato a WordPress una propria directory e servire il sito web su un indirizzo diverso. In questo caso, possono avere URL diversi.
Tuttavia, se l’indirizzo del sito non è corretto, si attiverà l’errore JSON non valido di WordPress.
Se sono state apportate modifiche alle impostazioni, non bisogna dimenticare di fare clic sul pulsante “Salva modifiche”. Ora è possibile modificare un post del blog e verificare se l’aggiunta di nuovi blocchi o il salvataggio di quel post scatenano l’errore “Risposta JSON non valida”.
Se l’errore persiste, continuate a leggere.
Opzione 2. Correggere la struttura dei Permalink di WordPress
WordPress è dotato di una struttura URL SEO-friendly che consente di utilizzare URL leggibili per i post e le pagine.
Tuttavia, a volte un utente può sbagliare le impostazioni dei permalink. Questo renderebbe impossibile per l’editor di blocchi di WordPress ottenere una risposta JSON valida e causerebbe la comparsa dell’errore.
Per risolvere il problema, è sufficiente visitare la pagina Impostazioni ” Permalinks”. Da qui, è necessario esaminare attentamente le opzioni relative ai permalink.
Se non si è sicuri di utilizzare le impostazioni corrette, è sufficiente selezionare uno dei formati predefiniti.
Quindi, fare clic sul pulsante “Salva modifiche” per memorizzare le impostazioni.
Ora potete provare a modificare un post o una pagina del blog per vedere se l’errore è scomparso. In caso contrario, potete provare a eseguire il passo successivo.
Opzione 3. Rigenerare il file .htaccess di WordPress
Il file .htaccess di WordPress è utilizzato come file di configurazione per gestire gli URL SEO-friendly (permalink).
Normalmente, WordPress può rigenerare e aggiornare automaticamente il file. È anche possibile attivare l’aggiornamento semplicemente facendo clic sul pulsante “Salva modifiche” in fondo alla pagina Impostazioni ” Permalinks”.
Tuttavia, a volte, potrebbe non essere aggiornato o avere impostazioni errate. Ciò influisce sui permalink di WordPress e può anche causare un errore di risposta JSON non valido.
Per risolvere questo problema, dovrete collegarvi al vostro sito web utilizzando un client FTP o l’applicazione di gestione dei file nella dashboard del vostro account di hosting WordPress.
Una volta collegati, è necessario individuare il file .htaccess nella cartella principale del sito web e scaricarlo come backup sul computer.
Suggerimento: Non riuscite a trovare il file .htaccess? Consultate questo rapido articolo su come trovare il file .htaccess.
Successivamente, è necessario modificare il file .htaccess utilizzando un client FTP o l’applicazione di gestione dei file.
Una volta aperto il file, è necessario eliminare tutto il codice al suo interno e sostituirlo con il codice seguente:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Non dimenticate di salvare le modifiche e di caricare il file sul vostro sito web.
Ora è possibile visitare il sito web e modificare un post o una pagina per verificare se è possibile riprodurre l’errore di risposta JSON non valido.
Se l’errore persiste, è possibile seguire alcuni altri passi.
Opzione 4. Visualizzare il registro di debug dell’API REST
L’errore di risposta JSON non valido può anche significare che l’API REST di WordPress sul vostro sito web ha riscontrato un errore.
L’API REST è l’insieme di tecniche che WordPress utilizza per comunicare con il server web mentre si lavora sul proprio sito.
È possibile visualizzare i dettagli di questo errore nello strumento WordPress Site Health. Visitate la pagina Strumenti ” Site Health.
Da qui, è possibile che venga visualizzato un problema con la dicitura “L’API REST ha riscontrato un risultato inatteso”.
Facendo clic su di esso si visualizzeranno ulteriori dettagli, che potrebbero fornire indizi su quale plugin o servizio di terze parti sta causando il problema.
Se questo non fornisce alcun indizio, si può passare alla fase successiva.
Opzione 5. Disattivare tutti i plugin di WordPress
Occasionalmente, i plugin di WordPress possono entrare in conflitto tra loro o con il software principale di WordPress. Questo può causare un comportamento inaspettato e potrebbe essere una potenziale causa dell’errore JSON non valido.
Basta andare alla pagina Plugin ” Plugin installati. Da qui, selezionate tutti i vostri plugin di WordPress e poi scegliete “Disattiva” dal menu a tendina “Azioni in blocco”. A questo punto, fate clic sul pulsante “Applica” per continuare.
A questo punto WordPress disattiverà tutti i plugin installati.
A questo punto è possibile riprovare a riprodurre l’errore. Se l’errore scompare, significa che è stato causato da uno dei plugin installati sul vostro sito web.
Per capire quale plugin è il problema, basta attivarli uno per uno e provare a riprodurre l’errore. Ripetere l’operazione finché non si trova il colpevole.
In seguito, è possibile contattare l’autore del plugin per ottenere assistenza o trovare un plugin alternativo.
Opzione 6. Passare temporaneamente all’editor classico
L’opzione successiva è quella di passare temporaneamente all’editor classico di WordPress.
Questa vecchia versione dell’editor di WordPress utilizza un editor di testo più semplice e non si affida molto alle API REST per ottenere risposte JSON.
Per utilizzarlo, è necessario installare e attivare il plugin Classic Editor. Per maggiori dettagli, consultate la nostra guida passo passo su come installare un plugin di WordPress.
Il plugin funziona subito e disabilita l’editor Gutenberg all’attivazione.
In alternativa, è possibile utilizzare WPCode per disattivare l’editor Gutenberg e attivare l’editor classico in modo sicuro. È il plugin più semplice e sicuro da usare per inserire gli snippet di codice in WordPress.
Leggete questa guida per scoprire come disabilitare Gutenberg con WPCode.
Ora potete continuare a lavorare sul vostro sito web e tornare alla risoluzione dei problemi in un secondo momento.
Opzione 7. Passare a un tema predefinito di WordPress
I temi WordPress di terze parti possono talvolta introdurre conflitti con il nucleo di WordPress o con altri plugin, soprattutto se non sono ben codificati o mantenuti. Questi conflitti possono manifestarsi in vari modi, tra cui l’errore JSON non valido.
Passando a un tema predefinito, si rimuove essenzialmente il codice personalizzato o le funzionalità introdotte dal tema attuale.
Questo aiuta a isolare se il problema ha origine dal tema stesso o da qualcos’altro nella configurazione di WordPress.
Per farlo, andare su Aspetto “ Temi nella dashboard di WordPress. Quindi, cercate un tema predefinito come Twenty Twenty-Four o Twenty Twenty-Three e fate clic su “Attiva”.
Opzione 8. Disattivare temporaneamente il Website Application Firewall
Se si utilizza un firewall WordPress come Sucuri, Cloudflare o un plugin, a volte può bloccare anche le richieste legittime.
Il modo più semplice per scoprirlo è disabilitare temporaneamente il plugin o il servizio firewall di WordPress.
Alcuni firewall WordPress a livello di applicazione possono essere disattivati semplicemente disattivando il plugin. Per i firewall a livello di DNS, come Sucuri e Cloudflare, è possibile disattivarli dalla dashboard del proprio account.
Opzione 9. Attivare il debug in WordPress
WordPress è dotato di una funzione integrata che consente di tenere un registro degli errori. Tuttavia, non è abilitata per impostazione predefinita.
Per attivarlo, è necessario aggiungere il seguente codice al file wp-config.php:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
Dopodiché, WordPress terrà un registro di tutti gli errori in un file debug.log situato all’interno della cartella /wp-content/
. È possibile accedere a questo file utilizzando un client FTP.
Il registro degli errori può fornirvi un indizio sulla causa dell’errore JSON non valido sul vostro sito web. Per maggiori dettagli, consultate la nostra guida sull’impostazione dei log degli errori di WordPress e sul loro utilizzo per il debug degli errori.
Opzione 10. Controllo dell’errore di contenuto misto
Quando un sito web servito tramite HTTPS (sicuro) tenta di caricare risorse (immagini, script, dati) da un’origine HTTP non sicura, si crea l’errore di contenuto misto.
I browser moderni bloccano i contenuti misti per motivi di sicurezza. Questo per evitare che gli aggressori iniettino contenuti dannosi nel sito web sicuro attraverso la risorsa insicura.
Se la risorsa bloccata è un file JSON o uno script che recupera dati JSON, il browser potrebbe non essere in grado di accedervi completamente. Questi dati incompleti o bloccati possono portare a errori di parsing, con conseguente errore JSON non valido.
Per scoprire come risolverlo, leggete la nostra guida su come risolvere l’errore di contenuto misto in WordPress.
Ultimo passo: Chiedere l’aiuto di un esperto
Infine, se tutto il resto fallisce, il problema potrebbe essere dovuto a una configurazione errata del vostro server di hosting WordPress. Le aziende di hosting WordPress più affidabili sono in grado di aiutare gli utenti a risolvere i problemi comuni di WordPress.
È sufficiente contattarli tramite live chat o ticket di assistenza e forse saranno in grado di aiutarvi a risolvere il problema. Per ulteriori informazioni, potete leggere la nostra guida su come richiedere correttamente il supporto di WordPress.
Speriamo che questo articolo vi abbia aiutato a capire come risolvere l’errore JSON non valido in WordPress. Potreste anche voler consultare il nostro manuale completo degli errori più comuni di WordPress e di come risolverli, insieme alla nostra classifica dei migliori servizi di email marketing per le piccole imprese.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Tim Hordo
I solved this for my website by simply removing the apostrophe from the name of the file I was trying to upload.
WPBeginner Support
Thanks for sharing that should someone else run into that issue
Admin
Tomas Svitorka
Amazing article and helped me fix this annoying issue right away! FYI – my solution was simply to regenerate the htaccess file!
WPBeginner Support
Glad to hear our guide was helpful!
Admin
Ram
#3 worked for me!! (simply clicking on the ‘Save Changes’ button at the bottom of Settings » Permalinks page.)
Thanks for publishing such helpful blogs!
WPBeginner Support
You’re welcome! Glad to hear you were able to solve the error!
Admin
Benjamin
It sounds weird.
I did a test by creating new article and publishing it with a “Test” title and “Test” body … It worked.
But when I started to copy/past the content I wanted.. Json appear again.
WPBeginner Support
If you mean you followed these steps and it appeared again then you would want to start from step 4 for fixing the issue!
Admin
Benjamin
Classic editor solution worked well. thanks
Chris
In my case, the issue was the uploaded image dimensions. Anything above 2000 pixels was causing the error.
WPBeginner Support
Thank you for sharing what was the cause of the error for you. If you did not try it, you should be able to increase the maximum upload limit for your site to prevent image sizes being an issue in the future.
Admin
Angie
Thank you, after installing an SSL some pages were bringing up the 404. This helped me realize I needed to change http:// to https:// in General settings and it fixed the problem.
WPBeginner Support
Glad our article was helpful!
Admin
matt
Thank you for the detailed instructions on how to fix this json error in wordpress. I tried all above ideas to fix. None of them worked. The solution I found was turning off mod security in hosting control panel (cpanel).
Thanks
WPBeginner Support
Thank you for sharing what worked for you!
Admin
Brad Cathey
One can also be using a deprecated or non-existing WordPress function.
This has happened to me twice, both times when saving a page in the editor. I systematically commented out functions in functions.php, and eventually, the error stopped. The offending function was something I scrapped off someone’s blog without really understanding it. So, be careful.
WPBeginner Support
Thank you for sharing this for anyone looking for the root of the issue on their site!
Admin
Witt
I was having this issue and narrowed it to to trying to save anything containing the content “delete it.”
I haven’t dug in to verify this, but I’m pretty sure Apache mod_security is triggering on that content, thinking it’s part of a sql injection attack and blocking the request.
I just reworded my content to avoid that phrase. If that’s not an option, you can disable mod_security or write an exception.
WPBeginner Support
Thanks for sharing another possible reason why users could run into this issue!
Admin
Mike
Really good article thanks. Life saver
WPBeginner Support
Glad we could help solve this issue!
Admin
Letowon Saitoti Abdi
Changing the lines in the .htaccess was the magic for me, thanks a bunch.
WPBeginner Support
Glad our recommendation was helpful!
Admin
Alex Slaets
I had another, stupid cause: mod_rewrite was not enabled in apache configuration. enabling it fixed the error.
WPBeginner Support
Thanks for sharing this should someone else run into this issue!
Admin
Chris J
If you are using IIS, you need to make sure “OPTIONS” is permitted as one of your “HTTP VERBS”.
Launch Internet Information Service (IIS) Manager at Windows Start > All Programs > Windows Administrative Tools.
In IIS Manager, expand SERVERNAME > Sites > click example.com > Handler Mappings (under IIS).
Find the handler which is used by the website and double-click on it.
Double-click on your PHP handler (there may be more than one listed)
Click Request Restrictions….
Switch to the Verbs tab.
Add required verbs in to the verbs field, for example:
GET,HEAD,POST,OPTIONS
Click OK to apply the changes in both windows.
WPBeginner Support
Thank you for sharing this for those using IIS, for most users we would normally recommend reaching out to your hosting provider for this level of modification
Admin
Hussain
Thanks, number 2 worked for me.
WPBeginner Support
Glad our guide was helpful!
Admin
Michael Kumsa
Thanks a lot, I just finished a $25K project, and this site helped me a lot! Love ya!
WPBeginner Support
Glad our content was helpful!
Admin
Adri
Great help, thanks a lot!!
WPBeginner Support
Glad we could help you fix the error
Admin
Alex
Thank so much for your help
WPBeginner Support
Glad our guide could help
Admin
Abadat Ali
My site error:
Updating failed. The response is not a valid JSON response
I solved my error from this instructions;
Fix WordPress Permalink Structure
Thank you this helping.
WPBeginner Support
Glad our guide was able to help you solve the issue
Admin
Sholly Young
Hi, thank you for this detailed write up, I’ve read through it and find it so detailed and insightful.
However, I have an unanswered question which is this:
Could this error be as a result of invalid or expired SSL certificate?
WPBeginner Support
That can cause different errors but this specific error would not normally be caused by an SSL certificate.
Admin