Quando provi ad accedere al tuo sito WordPress, ti ritrovi davanti a una pagina di errore con scritto “Si è verificato un errore critico sul tuo sito web”?
In questa guida vedremo come fare a capire rapidamente da cosa è generato l’errore critico di WordPress. In questo modo potrai riuscire a rimettere il tuo sito in funzione il prima possibile.
Cominciamo!
Table of Contents
Cos’è l’errore “Si è verificato un errore critico sul tuo sito web”
L’avviso “Si è verificato un errore critico sul tuo sito web” è un messaggio di errore che compare sui siti WordPress.
Quando cerchiamo di collegarci al back-end del nostro sito o anche semplicemente di visitarlo, tutto quello che vediamo è una schermata con questo avviso:
In alcuni casi l’errore può comparire solo dopo determinate azioni. Ad ogni modo, però, quando capita interrompe la navigazione sul sito e ci impedisce anche di accedere all’area di amministrazione.
L’avviso può variare leggermente e il testo riportato è uno dei seguenti:
Si è verificato un errore critico sul tuo sito web. Scopri di più riguardo la risoluzione dei problemi in WordPress.
There has been a critical error on your website. Please check your site admin email inbox for instructions.
Il messaggio riporta un collegamento che rimanda verso le FAQ di WordPress riguardo alcuni degli errori più comuni, compreso quello dello schermo bianco di WordPress (conosciuto anche come schermo bianco della morte).
Da cosa è causato l’errore critico di WordPress?
Il problema “Si è verificato un errore critico sul tuo sito web” viene indicato anche come “errore critico di WordPress” visto che impedisce l’accesso al sito e all’area di amministrazione.
L’errore si può verificare per via di un problema con un plugin o un tema e alla base ha in generale sempre un problema con uno script PHP che viene interrotto.
Visto che si tratta di uno degli errori più comuni di WordPress, gli sviluppatori hanno introdotto una funzione che invia un’email per aiutare a identificare la causa dell’errore.
L’email viene inviata all’indirizzo dell’amministratore del sito WordPress e riporta i dettagli dell’errore:
- tipo di errore – per esempio un parse error (un tipo di errore PHP);
- posizione dell’errore – viene indicato il file e la riga di codice in cui è stato riscontrato l’errore;
- messaggio di errore – ci aiuta a capire il tipo di errore, per esempio un errore di sintassi nel codice.
Il problema è che non sempre questo avviso viene inviato tramite email.
Per fortuna, però, si può identificare l’errore in maniera abbastanza semplice. Vediamo come.
Come identificare e risolvere “Si è verificato un errore critico sul tuo sito web”
Per riuscire a risolvere il problema “Si è verificato un errore critico sul tuo sito web”, bisogna capire cosa ha generato l’errore.
Per trovare la causa esatta dell’errore puoi procedere così:
- Metodo 1: controlla l’indirizzo email dell’amministratore per vedere se è arrivata l’email. Assicurati di controllare anche nella cartella della posta indesiderata.
- Metodo 2: attiva la modalità di debug di WordPress per vedere gli errori o controlla il log degli errori del server.
Entrambi i sistemi ci permettono di capire esattamente la causa dell’errore critico di WordPress. Il secondo metodo è quello che ci permette di risolvere l’errore critico di WordPress anche se non abbiamo ricevuto l’email.
Vediamo come fare ad attivare la modalità di debug e dove trovare il log degli errori.
Dopo aver individuato l’errore, non dimenticare di disattivare la modalità di debug. Ti basterà reimpostare i valori delle righe che abbiamo visto prima su “false”.
In un sito in produzione (vale a dire pubblico e raggiungibile dai visitatori) è raccomandabile disattivare la visualizzazione degli errori e la modalità di debug.
Attivare la modalità di debug di WordPress
Anche se non riusciamo ad accedere al back-end del nostro sito, WordPress ci permette di attivare la modalità di debug in maniera molto semplice.
Tutto quello che dobbiamo fare è modificare il file di configurazione di WordPress. Si tratta del file wp-config.php
che si trova nella directory principale del tuo sito. La directory può chiamarsi public_html o avere il nome corrispondente al tuo dominio.
Se hai un piano attivo con SupportHost, per esempio un piano hosting WordPress, puoi accedere ai file del sito direttamente da cPanel.
Dal file manager puoi effettuare una ricerca e trovare il file wp-config.php
:
Se hai più installazioni di WordPress sullo stesso spazio web, per esempio su sottocartelle o sottodomini, assicurati di andare a modificare il file giusto.
Con il file manager possiamo modificare direttamente il file usando l’editor integrato.
Apriamo il file wp-config.php
e andiamo a individuare le seguenti righe:
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_LOG', false );
Dobbiamo modificare il valore in true
, così:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
Se non sono presenti, ci basterà aggiungerle prima della riga conclusiva del file, che riporta questo testo:
/* That's all, stop editing! Happy blogging. */
Qui ti mostro il risultato che devi avere:
Così facendo avremo attivato la modalità di debug e registreremo gli errori che vengono riscontrati.
La prima riga (WP_DEBUG) ci permette di attivare la modalità di debug.
La seconda (WP_DEBUG_LOG) crea un nuovo file debug.log
in cui vengono annotati e conservati gli errori.
Puoi anche attivare la visualizzazione a schermo degli errori aggiungendo questa riga:
define( 'WP_DEBUG_DISPLAY', true );
Dopo aver modificato il file, assicurati di salvare le modifiche.
Ora che la modalità di debug è attiva puoi andare anche consultare il file debug.log
che all’interno della cartella wp-content per vedere il registro degli errori.
Vediamo come fare a vedere gli errori in entrambi i casi.
Identificare l’errore (visualizzazione a schermo)
Se hai attivato la visualizzazione a schermo degli errori (con la variabile WP_DEBUG_DISPLAY), ti basterà visitare l’home page del sito web e vedrai l’errore, come nel nostro esempio qui di seguito:
Ora non ci resta che interpretare l’errore, vediamo come fare con il caso del nostro esempio.
Nell’avviso ci viene indicato:
- il tipo di errore, nel nostro caso un parse error;
- il file interessato e il percorso in cui trovarlo, nel nostro esempio “
post.php
“; - la riga in cui è presente l’errore, line 72.
Tieni presente che ci possono essere più errori, come nel nostro caso in cui ci sono due errori del tipo “notice”. In questa situazione specifica, però, il problema che causava l’errore critico di WordPress era solamente il primo: un errore di sintassi nel file.
Consultare il file debug.log per individuare l’errore
Se non hai attivato la funzione WP_DEBUG_DISPLAY, puoi controllare l’errore direttamente consultando il file debug.log
.
Il file si trova all’interno della cartella wp-content, come vedi qui:
Nel nostro caso è stato registrato l’errore che abbiamo appena visto, e il file debug.log
avrà questo contenuto:
Esattamente come abbiamo visto prima viene riportato il tipo di errore, il file in cui si è verificato e la riga di codice corrispondente.
Controllare il file error_log
In genere attivare la modalità di debug di WordPress è sufficiente a identificare l’errore e risolvere il problema dell’errore critico di WordPress.
Ad ogni modo per verificare la presenza di eventuali errori PHP, puoi controllare anche il file error_log
.
Se hai un piano hosting con SupportHost, allora questo file viene generato in automatico e puoi trovarlo nella directory dell’errore.
Ti basterà quindi controllare la cartella public_html del tuo sito e aprire il file per leggere gli errori.
Puoi anche semplicemente fare una ricerca del file tramite il file manager di cPanel, così:
Errore critico WordPress: soluzioni alle cause più comuni
Per identificare cosa ha generato la comparsa dell’avviso “Si è verificato un errore critico sul tuo sito web”, la soluzione migliore è seguire i due metodi che abbiamo appena visto.
Così facendo riusciamo a risalire con precisione all’errore e possiamo risolverlo.
Qui di seguito, invece, elenchiamo alcune della cause più comuni che potrebbero aver generato il problema e vediamo quali sono le soluzioni:
Causa | Soluzione |
---|---|
Conflitto con i plugin | Disattivare i plugin |
Problema con il tema in uso | Reimpostare il tema di default |
Versione PHP obsoleta | Cambiare la versione PHP |
Limite di memoria PHP insufficiente | Aumentare il limite di memoria PHP |
Non riesci a determinare la causa | Ripristinare un backup di WordPress |
Andiamo a vedere una ad una le possibili soluzioni al problema “Si è verificato un errore critico sul tuo sito web”.
Disattivare i plugin
Una delle cause dell’errore critico di WordPress è data da problemi con i plugin. In questo caso disattivare tutti i plugin installati e riattivarli uno ad uno può risolvere il problema.
Visto che l’errore non ci permette di accedere al back-end, dobbiamo disattivare i plugin manualmente.
Per farlo seguiamo questi passi:
- accedi ai file del sito tramite file manager o un client FTP come FileZilla o Cyberduck;
- rinomina la cartella “plugins” in “plugins-disattivati“.
Poi dovrai creare una nuova cartella “plugins” e spostare una alla volta le cartelle dei singoli plugin per capire quale sta causando l’errore.
In alternativa puoi disattivare i plugin dal database, seguendo la procedura che abbiamo spiegato qui: disattivare i plugin con phpMyAdmin.
Ripristinare il tema di default
A volte anche i temi WordPress possono comportare conflitti che causano l’errore critico. Possiamo modificare il tema in uso di WordPress anche senza avere accesso alla dashboard.
Per farlo dobbiamo accedere al database usando phpMyAdmin e modificare questi valori nella tabella wp_options:
template;
stylesheet.
In corrispondenza della colonna option_value andiamo a inserire il nome del tema che vogliamo utilizzare, come ti mostro qui:
Se non hai dimestichezza con il database, controlla la procedura passo passo nella nostra guida su come sfruttare phpMyAdmin per WordPress per compiere operazioni sul database.
Cambiare la versione PHP
In alcuni casi, se sul tuo sito riscontri il messaggio “Si è verificato un errore critico sul tuo sito web”, la causa può essere la versione PHP in uso.
Se stai usando una versione PHP obsoleta, dovresti passare a una più aggiornata e vedere se in questo modo il problema si risolve.
Con SupportHost puoi impostare in autonomia la versione che preferisci usare, ti basta seguire il nostro tutorial su come cambiare la versione PHP da cPanel.
Aumentare il limite di memoria PHP
E se il problema fosse un limite di memoria? Un limite troppo basso può interrompere l’esecuzione di uno script PHP.
Ci sono diversi modi per modificare questa soglia.
SupportHost ti permette di modificare il limite di memoria direttamente dallo strumento PHP Selector di cPanel, così:
- apri la scheda options;
- modifica il valore in corrispondenza a “memory_limit”.
In questa schermata ho evidenziato il valore da modificare.
In alternativa puoi modificare il limite di memoria aggiungendo questa riga nel file wp-config.php
:
define( 'WP_MEMORY_LIMIT', '128M' );
Ripristinare un backup di WordPress
Nella nostra guida al backup di WordPress abbiamo parlato dell’utilità di avere sempre una copia aggiornata dei file del sito in caso di errori.
Quando tutte le soluzioni precedenti non hanno funzionato e il tuo sito è ancora irraggiungibile per via del messaggio “Si è verificato un errore critico sul tuo sito web”, puoi correre ancora ai ripari. Ti basta ripristinare un backup recente.
Nella guida linkata sopra abbiamo spiegato passo passo come fare.
Se non sei riuscito a risalire alle cause dell’errore, è consigliabile anche fare una scansione del sito per escludere la presenza di malware che abbiano compromesso i file.
SupportHost ti offre due strumenti per la scansione antivirus del sito: ClamAV e Imunify360.
Conclusioni
L’avviso “Si è verificato un errore critico sul tuo sito web” può spaventare gli amministratori di un sito WordPress che si ritrovano di punto in bianco a non riuscire più ad accedere al sito.
Per fortuna, però, WordPress ha una modalità di debug nata proprio per aiutare gli utenti a scovare gli errori e riuscire a risolverli.
Basta solo sapere dove cercare.
Abbiamo visto come fare a identificare il problema che genera l’errore critico di WordPress ed elencato anche le cause e le soluzioni più comuni.
E tu, sei riuscito a capire cosa causava l’errore nel tuo sito? Facci sapere con un commento.
Lascia un commento