⚠️ Disclaimer (ATTENZIONE)
Attenzione! Anche se molte delle soluzioni che ti propongo in questa guida sono facili da mettere in pratica, alcune di esse richiedono di mettere le mani su file sensibili del tuo sito o sul database.
Un errore anche piccolo può compromettere la stabilità del sito o, nei casi peggiori, causare perdita di dati.
Se non ti senti sicuro al 100% o se il tuo sito è molto trafficato (come quello di un e-commerce o di un'azienda), contattami: sono un tecnico specializzato in WordPress con anni di esperienza sul campo: se hai bisogno di assistenza personalizzata, scrivimi senza esitazione.
Cos'è l'errore "impossibile aggiornare l'articolo nel database" in WordPress
Hai cliccato "Aggiorna" su un tuo post e...puff! L'errore "impossibile aggiornare l'articolo nel database" compare beatamente sul tuo schermo.
Questo messaggio, spesso preceduto dalla dicitura "aggiornamento fallito", segnala che WordPress non riesce a salvare le modifiche che hai fatto a un articolo.
È un problema piuttosto comune, e può avere a che fare con il salvataggio interno del post, una mancata comunicazione col database o qualche ostacolo che blocca il processo.
Questo errore può manifestarsi durante la modifica di contenuti già pubblicati oppure quando stai per pubblicarne uno nuovo.
In entrambi i casi, il salvataggio fallisce perché qualcosa interrompe il dialogo tra WordPress e il suo database.
Senza indugiare ulteriormente, passiamo alle eventuali cause e soluzioni.
Cause comuni dell'errore e come risolvere
1) Problemi di connessione con il database
Partiamo dritti con la causa più comune: WordPress si appoggia su un database MySQL, e se la connessione non è correttamente attuata, WordPress va nel panico.
La connessione al database è effettuata a partire da parametri stabiliti nel file wp-config.php
, che devono essere corretti "al millimetro" (senza spazi prima o dopo per intenderci).
Controlla quindi le voci DB_NAME
, DB_USER
, e DB_PASSWORD
, devono essere combacianti con i dati in tuo possesso:
Anche le modifiche ai dati d'accesso possono portare allo stesso problema.
Per fare un esempio concreto, un mio cliente aveva cambiato la password del database inavvertitamente pensando che stesse cambiando quella dell'account del provider; infatti i dati di accesso sono molteplici e non è facile districarsi:
- Accesso all'account del provider
- Accesso allo spazio web (credenziali FTP)
- Accesso al database » stiamo parlando di queste credenziali!
- Accesso al backend di WordPress
- Email, PEC, altri servizi, ecc...
Ho risolto in cinque minuti reimpostando la password nell'hosting e trasferendola nel file wp-config.php, dopodiché ho consegnato al cliente un documento con tutti i dati d'accesso.
Altra causa, sempre tratta da una storia vera: dopo aver affannosamente girato a vuoto con l'errore in questione, mi sono accorto che proprio mentre stavo editando l'articolo, il database era stato reso irraggiungibile per mancato pagamento.
Dopo aver capito il problema, ho chiesto all'azienda proprietaria del sito di effettuare il pagamento (ed attivare il pagamento automatico) e tutto è tornato nella normalità.
2) Permessi file o cartelle errati
Quando aggiorni un articolo in WordPress, il sistema non solo comunica col database, ma può anche dover scrivere file temporanei, log di errore (se il debug è attivo), eseguire funzioni collegate a plugin o salvataggi automatici.
Ora, se una o più cartelle del tuo sito non hanno i permessi giusti, WordPress può trovarsi nella condizione di non poter salvare questi file o eseguire certe operazioni. Questo può bloccare l’intero processo di aggiornamento.
Ecco alcuni esempi concreti di problemi legati ai permessi:
- Cartella wp-content: contiene plugin, temi, e la cache. Se WordPress non riesce a scrivere qui, alcuni plugin potrebbero bloccare l’aggiornamento.
- File wp-config.php o .htaccess: se devi modificare configurazioni e WordPress non ha accesso, l’aggiornamento può fallire.
- Directory di salvataggio automatico: se WordPress non riesce a salvare le revisioni o gli autosalvataggi, l’errore può presentarsi.
Per risolvere devi controllare ed eventualmente impostare i files con permessi 644 e le cartelle 755.
Per fare ciò puoi usare un client FTP (tipo FileZilla) o il pannello di controllo del tuo hosting; la procedura più o meno prevede questi passaggi:
- Connettiti al tuo sito tramite FileZilla.
- Naviga nella directory principale del tuo sito (di solito public_html o www).
- Seleziona tutte le cartelle, clicca con il tasto destro e scegli "Permessi file...".
- Imposta il valore numerico su 755, seleziona "Includi sottodirectory" e "Applica solo alle cartelle".
- Ripeti l'operazione per i file, impostando il valore su 644 e scegliendo "Applica solo ai file".
3) Tabelle del database corrotte
Può capitare che una tabella del database "si rompa", soprattutto se fai tanti aggiornamenti, installi plugin a raffica o il tuo hosting ha problemi; più nello specifico ciò può essere dovuto a:
- Interruzioni improvvise: Quando il server smette di funzionare bruscamente (per esempio a causa di un riavvio forzato, un crash o uno spegnimento), le operazioni in corso sul database vengono interrotte a metà. Risultato? Alcune tabelle potrebbero non "chiudersi" correttamente e finire in uno stato inconsistente.
- Problemi hardware o dischi malandati: Se il disco su cui è ospitato il tuo database ha settori danneggiati (bad sectors), i file fisici che contengono le tabelle potrebbero diventare illeggibili o corrotti. E questo, ahimè, può mandare in tilt anche solo una singola tabella.
- Plugin o temi con codice poco affidabile: Alcuni plugin o temi mal sviluppati eseguono query sul database in modo rozzo, senza gestire bene gli errori. Un errore durante l’inserimento, l’aggiornamento o la cancellazione dei dati può causare un danno alla struttura di una tabella.
- Troppa roba, troppo in fretta: Se il tuo sito riceve molte richieste contemporaneamente (es. durante una campagna marketing o un attacco brute force), il database può stressarsi, soprattutto se non è ottimizzato. Questo può causare errori di scrittura e corruzione.
- Limiti di configurazione del server: Il database ha dei limiti (buffer, connessioni simultanee, ecc.). Se li superi, alcune operazioni potrebbero non concludersi correttamente e lasciare una tabella in uno stato "rotto".
La corruzione del database porta a sintomi abbastanza chiari come messaggi del tipo "Table 'wp_posts' is marked as crashed and should be repaired", oppure non riesci a salvare articoli (guarda un po'...), alcuni post spariscono magicamente o ancora il tuo sito diventa lentissimo o mostra errori 500
Fortunatamente, WordPress prevede una funzione integrata per riparare le tabelle corrotte, segui questi passi:
- Aggiungi questa riga nel
wp-config.php
:define('WP_ALLOW_REPAIR', true);
- Visita
www.tuosito.it/wp-admin/maint/repair.php
per avviare la riparazione.
4) Timeout del server o configurazioni errate di PHP
Se il tuo server è un po' pigro o la configurazione PHP non è ottimale, potresti vedere comparire questo errore; un timeout o un limite troppo basso può bloccare il salvataggio.
Per risolvere, devi alzare alcuni parametri tecnici ad un valore consono; di seguito ti riporto i valori di riferimento:
- php_value max_execution_time: 300
- php_value memory_limit: 256M
- php_value max_input_vars: 3000
Solitamente questi valori vengono impostati nel pannello del provider del tuo sito web.
Modifica del timeout sui cPanel:
Modifica del timeout su Aruba:
Se non puoi accedere al pannello del provider, prova a modificare il file .htaccess
che trovi nella root del tuo sito WordPress; aggiungi queste righe in fondo:
php_value max_execution_time 300
php_value memory_limit 256M
php_value max_input_vars 3000
Contestualmente, modifica il file wp-config.php
per ribadire gli stessi settaggi; non tutti i valori possono essere forzati da qui, ma vale la pena tentare; aggiungi quindi questa riga appena prima della chiusura /* That's all, stop editing! Happy publishing. */:
define('WP_MEMORY_LIMIT', '256M');
5) Plugin o temi incompatibili o malfunzionanti
Ah, i plugin... così utili e così pieni di sorprese...soprattutto in quei siti dove la precedente gestione ha installato una selva di componenti, così, per prova, senza neanche disinstallare niente dopo...ahhh
Ti racconto di quando ho aiutato una piccola agenzia creativa il cui sito WordPress non salvava più articoli: ogni aggiornamento dava il messaggio "Aggiornamento fallito - Impossibile aggiornare l'articolo nel database".
Dopo ore di smanettamenti, ho scoperto che un plugin di newsletter, installato mesi prima e mai aggiornato, stava iniettando una funzione di tracciamento dentro ogni post, ma generava una query SQL corrotta. Disattivato il plugin, scomparso l'errore "Impossibile aggiornare l'articolo nel database".
A parte queste storie da incubo, i motivi di conflitto possono essere molteplici.
Se hai installato due plugin che cercano di fare cose simili (es. due editor visivi, due sistemi di cache, due builder), possono andare in conflitto tra loro. Risultato? Uno dei due fa casino con la struttura dei dati e WordPress non riesce più a salvare il contenuto nel database.
Un plugin sviluppato male può eseguire query sul database in modo errato, causando errori SQL che interrompono il processo di salvataggio. Oppure può modificare i dati POST inviati da WordPress in fase di aggiornamento articolo, facendo schizzare tutto fuori binario.
Molti plugin usano i cosiddetti hook (es. save_post, pre_post_update) per eseguire operazioni ogni volta che un articolo viene salvato. Se un plugin intercetta il salvataggio e ci mette le mani in modo sbagliato (tipo resettando un campo obbligatorio o cancellando metadati), può far fallire tutto il processo.
Alcuni plugin non sono aggiornati per lavorare bene con Gutenberg. Se un plugin inserisce custom fields, blocchi personalizzati o modifica l’editor, può causare errori nel salvataggio AJAX che impediscono l’aggiornamento del post.
Alcuni plugin di sicurezza (tipo Wordfence, Solid Security) potrebbero bloccare in automatico alcune richieste AJAX o POST considerate “sospette”, anche se in realtà legittime. Risultato: WordPress tenta di aggiornare un post, ma il plugin lo blocca per eccesso di zelo.
Infine, se usi plugin come W3 Total Cache, WP Super Cache o simili, potresti vedere versioni cache vecchie dell’editor, causando problemi nel momento in cui WordPress prova a salvare. Anche questo può generare errori falsi legati al salvataggio del contenuto.
Ok, passiamo alla soluzione: prova a disattivare tutti i plugin, se l'errore sparisce, riattivali uno a uno finché trovi il colpevole.
Se il problema persiste, fai lo stesso test con il tema: cambia tema e passa temporaneamente a Twenty Twenty-Five.
Risposte a domande frequenti (FAQ)
Perché ricevo questo errore solo con alcuni articoli?
Potrebbero contenere caratteri particolari, shortcode problematici o essere più pesanti di altri.
Anche il numero di revisioni può incidere.
L'errore può cancellare contenuti già scritti?
No, ma se non hai salvato, potresti perdere l'ultima versione.
Usa l'autosalvataggio e il backup regolare!
È un problema del tema o di WordPress stesso?
Dipende.
A volte è WordPress, altre volte è colpa di un tema con codice mal scritto.
Fai sempre un test con un tema base.
Serve reinstallare WordPress?
Non subito.
Prova prima tutte le soluzioni indicate.
Reinstallare è l'ultima spiaggia, ma può servire se i file core sono corrotti.
Posso risolvere da solo o serve un tecnico?
Se sei pratico, puoi cavartela da solo.
Se non ti senti sicuro, meglio affidarsi a un esperto (ne conosco uno che non se la cava male... ;) ): ci sono rischi di perdita dati.
Conclusioni
L'errore "Impossibile aggiornare l'articolo nel database" può sembrare un ostacolo insormontabile, soprattutto quando hai un'idea brillante da condividere o stai lavorando a contenuti importanti per il tuo pubblico.
Ma con un po' di pazienza, e seguendo i consigli che ti ho dato, puoi risolverlo in autonomia o, perlomeno, capire dove sta il problema e come intervenire in modo mirato.
Se hai seguito tutti i passaggi ma l'errore persiste, non ostinarti da solo.
Scrivimi: sono un tecnico specializzato WordPress e posso offrirti assistenza professionale per mettere fine a questo incubo digitale una volta per tutte.
Che altro...BUON WORDPRESS!