Errore 'There has been a critical error': come gestire la recovery

Errore 'There has been a critical error'

Dalla versione 5.2 WordPress mostra 'There has been a critical error on this websitè invece della classica pagina bianca. Insieme alla mail di recovery, è uno strumento utile ma incompleto. WP Error Monitor lo arricchisce fornendoti contesto completo e accelera il ritorno online.

Cos'è la recovery mode

WordPress 5.2 introduce un sistema che intercetta i fatal error e: 1) salva info sull’errore in transient, 2) invia mail all’admin con link recovery, 3) mostra messaggio generico al pubblico. Il link recovery permette di accedere al wp-admin con plugin/tema problematico disattivato. La feature dipende dall’invio email funzionante: se SMTP è rotto (paradossalmente può essere proprio quello l’errore), non ricevi nulla.

Come WP Error Monitor integra recovery

L’agent intercetta lo stesso fatal e invia evento real-time al CRM, indipendentemente dallo stato della email. In più include: snapshot delle global PHP, ultime 10 query SQL, info request (URL, method, headers principali), versione WP/PHP/plugin. Hai quindi due canali ridondanti: email nativa WP + dashboard CRM.

Workflow operativo consigliato

Quando l’evento arriva: 1) apri il dettaglio CRM per capire la causa, 2) se hai accesso wp-admin, vai in 'WordPress > Tutti i siti > Plugin' del sito e disattiva quello segnalato, 3) altrimenti usa WP-CLI o SFTP, 4) verifica che il sito torni online, 5) aggiorna il plugin colpevole o segnala bug all’autore, 6) marca l’evento come risolto con nota sulla causa.

Mu-plugins per cattura precoce

Per catturare fatal molto precoci (prima che plugin normali siano caricati), WP Error Monitor installa un mu-plugin (must-use plugin) in wp-content/mu-plugins/wpem-bootstrap.php. I mu-plugin sono caricati prima dei plugin normali e prima del tema. Così' l’agent registra l’error handler nei primi microsecondi di esecuzione e cattura ANCHE i fatal di plugin che si attivano in fase early. La copia del mu-plugin avviene automaticamente all’attivazione del companion.

Recovery via wp-cli

Quando wp-admin è inaccessibile, WP-CLI è il salvavita. Comandi chiave: wp plugin list --status=active per vedere chi è acceso, wp plugin deactivate slug --skip-plugins per disattivare uno specifico, wp theme activate twentytwentyfour --skip-themes per attivare tema safe, wp option update siteurl per fixare URL, wp db check && wp db repair per fix DB. Skip-plugins/themes è importante perché bypassa il caricamento di componenti potenzialmente rotti.

Email recovery custom

Il template default dell’email recovery WordPress è generico. Personalizza con filter 'recovery_mode_email’: aggiungi logo cliente, link diretto al ticket di supporto, istruzioni semplificate per non-tech ('clicca qui per ripristinare il sito'). WP Error Monitor companion include template già brandizzato G Tech. Configurazione: in 'Impostazioni > Recovery Email’, carica logo e personalizza copy. Così' il cliente che riceve l’alert ha esperienza professionale: il valore percepito del servizio cresce. Le statistiche email aperture (track con UTM) ti dicono se i clienti aprono effettivamente le notifiche.

Workflow team su critical error

Quando arriva alert critical, il workflow team G Tech standard e': 1) on-call ack su Slack entro 5 minuti, 2) apre evento WP Error Monitor e stack trace, 3) decide rollback rapido vs investigation (in base a impatto utente), 4) se rollback: Plesk snapshot pre-update entro 30 secondi, 5) verifica sito ripristinato con test synthetic, 6) comunica cliente (template email pre-pronto), 7) post-mortem entro 48h con root cause e prevenzione. WP Error Monitor traccia ogni step come 'event_log' sull’evento, così la timeline è visibile a chiunque entri nella war room.

Strategie di rollback rapido

Quando un fatal critical mette offline il sito, ogni minuto conta: la strategia di rollback rapido che applichiamo in G Tech e': 1) snapshot Plesk pre-deploy già creato (sempre), 2) script bash 'rollback.sh' pronto che esegue Plesk API per ripristinare snapshot (~30 secondi), 3) script verifica post-rollback (HTTP check homepage + admin) che conferma successo, 4) notifica automatica su Slack del rollback eseguito, 5) post-mortem pianificato entro 48h per analizzare root cause. Tempo totale rollback: tipicamente 60-90 secondi dalla decisione.

Procedura passo-passo

  1. Apri WP Error Monitor e cerca eventi 'critical error wordpress' negli ultimi 60 minuti.
  2. Apri il dettaglio: prendi file, riga e plugin/tema coinvolto.
  3. Verifica che la mail di recovery sia stata recapitata all’admin del sito (controlla SMTP log).
  4. Se hai accesso admin, usa il link recovery o disattiva il plugin manualmente.
  5. Se non hai accesso, lancia da SSH: wp plugin deactivate --skip-plugins.
  6. Verifica che il sito sia tornato online.
  7. Aggiorna o sostituisci il plugin/tema problematico.
  8. Riattiva e monitora WP Error Monitor per 30 minuti.
  9. Verifica presenza mu-plugin wpem-bootstrap.php.
  10. Esegui wp plugin list --skip-plugins per identificare attivi.

Errori comuni e come risolverli

  • Mail recovery non arriva: SMTP del sito non configurato o bounce: usa SMTP transactional (es. Mailgun) e plugin WP Mail SMTP.
  • Recovery mode loop: Il fatal è nel core o in must-use plugin: serve intervento manuale via SFTP.
  • Sito sembra online ma admin no: Disattiva temporaneamente plugin admin-related: spesso è Advanced Custom Fields o Yoast SEO post-update.
  • Mu-plugin non installato: wpem activate --copy-mu-plugin per forzarne installazione.
  • wp-cli stesso fallisce: Usa wp --skip-plugins --skip-themes per bootstrap minimale.

Domande frequenti

D: Posso disabilitare la recovery mode?
R: Sì, con define('WP_DISABLE_FATAL_ERROR_HANDLER', true) ma sconsigliamo: meglio averla attiva.

D: WP Error Monitor sostituisce la recovery WP?
R: No, la integra: i due sistemi sono complementari.

D: Quanto durano i token recovery?
R: 24 ore dalla generazione, poi scadono e serve generare nuova mail.

D: Posso usare WP Error Monitor senza mu-plugin?
R: Sì, ma perdi cattura early-fatal: consigliato sempre mu-plugin.

D: WP-CLI funziona su shared hosting?
R: Spesso sì, verifica con wp --version via SSH.

Hai bisogno di aiuto?

Se vuoi affidare il monitoraggio WordPress al team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?