La schermata bianca WordPress, nota come White Screen of Death (WSOD), è uno degli errori WordPress più comuni. Niente messaggi, solo una pagina vuota. In questa guida pratica trovi un percorso diagnostico sicuro per ripristinare il sito anche senza accesso alla bacheca, con procedure via FTP, phpMyAdmin e WP‑CLI.
Come riconoscere la WSOD e perché accade
La WSOD si manifesta con una pagina completamente bianca su front‑end e/o back‑end. Le cause tipiche includono: plugin o tema corrotti, aggiornamenti incompleti, esaurimento della memoria PHP, errori di sintassi nel codice, conflitti di cache o opcache.
Checklist pre‑ripristino (prima di toccare i file)
- Blocca le modifiche: sospendi deploy e aggiornamenti automatici.
- Annota l’ora del guasto e l’ultima azione eseguita (update, installazione, edit codice).
- Backup immediato di file e database (copia completa del root WordPress e dump SQL).
- Ambiente di staging: se disponibile, duplica lì il problema per testare in sicurezza.
- Credenziali pronte: FTP/SFTP, accesso al pannello hosting, phpMyAdmin e (se possibile) SSH/WP‑CLI.
Step 1 — Attivare il debug per vedere l’errore
Abilita il debug per trasformare la schermata bianca in indizi utili. Modifica wp-config.php e, subito prima della riga “/* That’s all, stop editing! */”, inserisci o adegua:
define('WP_DEBUG', true); // Mostra errori PHP di WordPress
define('WP_DEBUG_LOG', true); // Scrive in wp-content/debug.log
define('WP_DEBUG_DISPLAY', false); // Evita di mostrare errori agli utenti
define('SCRIPT_DEBUG', true); // Carica versioni non minificate
Ricarica il sito e controlla wp-content/debug.log. Quando avrai finito, ricordati di disattivare il debug.
Step 2 — Verifiche lato hosting e memoria
Aumentare memory limit
La WSOD spesso è dovuta a memoria insufficiente. Prova ad aumentare il limite:
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
Se non basta, adegua anche le impostazioni nel pannello hosting o in php.ini/.user.ini (ad es. memory_limit = 512M). Riavvia PHP/OPcache se disponibile.
Controllo errori PHP
Apri i log del server (error_log) per individuare fatal error, timeout o moduli mancanti. Nota: errori di sintassi in plugin/tema bloccano l’esecuzione e generano WSOD.
Step 3 — Disattivare i plugin senza bacheca
Via FTP/SFTP
- Vai in
wp-content/plugins/. - Rinomina l’intera cartella
pluginsinplugins.offper disattivare tutto. - Se il sito torna visibile, ripristina il nome e rinomina i plugin uno a uno per trovare il colpevole.
Via phpMyAdmin
- Apri la tabella
wp_options(prefisso variabile) e cercaactive_plugins. - Modifica il valore salvando un array vuoto
a:0:{}per disattivare tutti i plugin.
Via WP‑CLI
wp plugin deactivate --all
# Riattiva uno alla volta
wp plugin activate nome-plugin
Quando individui il plugin problematico, verifica compatibilità, versioni e eventuali aggiornamenti. In caso di corruzione, reinstalla.
Step 4 — Tema corrotto o funzioni del tema
Via FTP/SFTP
- Vai in
wp-content/themes/e rinomina la cartella del tema attivo. - WordPress proverà a caricare un tema di default (es. Twenty Twenty‑…). Se il sito riparte, il tema è la causa.
Via phpMyAdmin
- Nella tabella
wp_optionsmodificatemplateestylesheetimpostandoli su un tema di default installato.
Via WP‑CLI
wp theme activate twentytwentyfour
# Se serve, reinstalla il tema
wp theme install twentytwentyfour --activate
Controlla anche functions.php, mu-plugins e file inclusi: un singolo require errato può generare WSOD.
Step 5 — Cache, opcache e file corrotti
- Cache plugin/server: svuota la cache (anche object cache come Redis/Memcached) dal pannello hosting o via WP‑CLI (
wp cache flush). - OPcache: se attivo, svuotalo dal pannello o riavvia PHP‑FPM.
- File core corrotti: sostituisci i file core di WordPress con una copia pulita della stessa versione. Non toccare
wp-content.
Step 6 — Aggiornamenti incompleti e database
- Se un update si è interrotto, elimina l’eventuale file
.maintenancenella root. - Esegui la riparazione database (temporaneamente):
define('WP_ALLOW_REPAIR', true);
Poi visita /wp-admin/maint/repair.php e, al termine, rimuovi la costante.
Step 7 — Ripristino sicuro: staging e backup
Staging WordPress
Clona il sito in un ambiente di staging. Riproduci l’errore e applica le correzioni senza rischi. Solo quando tutto è stabile, replica in produzione.
Backup e restore sicuro
- Verifica l’integrità del backup (dimensioni, checksum, versioni DB).
- Ripristina prima il database, poi i file, rispettando la stessa versione di WordPress, tema e plugin.
- Aggiorna credenziali e chiavi SALT in
wp-config.phpdopo il restore.
Step 8 — Sicurezza e hardening post‑incidente
- Controlla permessi file/cartelle (tipico 644/755) e proprietà corretta.
- Rimuovi plugin/temi inutilizzati e utenze sospette.
- Imposta aggiornamenti controllati e test in staging prima della produzione.
Flusso decisionale rapido
- WSOD → Attiva
WP_DEBUGe controlla i log. - Errore indica plugin? → Disattiva plugin (FTP/phpMyAdmin/WP‑CLI) e isola il colpevole.
- Errore indica tema? → Passa a tema di default e ripara.
- Nessun indizio? → Aumenta memory limit, svuota cache/opcache, verifica file core.
- Update interrotto? → Rimuovi
.maintenancee ripara DB. - Problema persistente? → Riproduci in staging e valuta restore da backup.
Prevenzione: evita che la WSOD torni
- Pipeline di staging → produzione con checklist di test.
- Backup automatici verificati e piani di rollback.
- Monitoraggio uptime e log per intercettare errori prima degli utenti.
FAQ lampo
Quanto spesso è colpa della memoria?
Molto frequente: se la WSOD appare durante operazioni pesanti (import, page builder), alza WP_MEMORY_LIMIT e ottimizza.
Posso perdere dati?
Seguendo la checklist (backup prima di ogni intervento) il ripristino avviene senza perdita di dati.
Conclusione
La schermata bianca WordPress si risolve con un approccio metodico: debug, isolamento di plugin/tema, verifica risorse e restore in staging. Mantieni una procedura standard e ridurrai drasticamente tempi di fermo e rischi.


