La White Screen of Death (WSOD) è uno degli errori più temuti di WordPress: il sito mostra una pagina completamente bianca senza alcun messaggio di errore. Ecco come diagnosticarla e risolverla in pochi minuti.
Cos’è la WSOD e perché succede
La schermata bianca è causata da un fatal error PHP che blocca completamente il rendering della pagina. Le cause più comuni sono:
- Plugin incompatibile dopo un aggiornamento
- Tema con codice PHP errato
- Limite di memoria PHP esaurito
- Conflitto tra plugin
Step 1: Abilitare wp_DEBUG
Il primo passo è sempre abilitare il debug per vedere l’errore effettivo. Modifica wp-config.php (prima della riga “That’s all, stop editing!”):
// Debug mode - Abilitare solo in sviluppo
define( 'wp_DEBUG', true );
define( 'wp_DEBUG_LOG', true );
define( 'wp_DEBUG_DISPLAY', false );
define( 'SCRIPT_DEBUG', true );
// Memory limit aumentato per debugging
define( 'wp_MEMORY_LIMIT', '256M');
Importante: wp_DEBUG_DISPLAY è impostato su false per evitare di mostrare errori ai visitatori. Gli errori vengono scritti nel file debug.log.
Step 2: Analizzare lo Stack Trace
Controlla il file wp-content/debug.log per vedere l’errore completo:
# Via WP-CLI
wp eval "echo file_get_contents(wp_CONTENT_DIR.'/debug.log');" | tail -50
# Oppure direttamente
tail -100 wp-content/debug.log
Il log mostrerà qualcosa come:
[15-Feb-2026 10:23:45 UTC] PHP Fatal error:
Uncaught Error: Call to undefined function wp_get_current_user()
in /wp-content/plugins/problematic-plugin/init.php on line 42
Stack trace:
#0 /wp-includes/class-wp-hook.php(324): PluginClass->init()
#1 /wp-includes/plugin.php(205): wp_Hook->apply_filters()
Lo Stack Trace indica esattamente quale file e quale linea causa il problema. In questo caso: problematic-plugin/init.php alla linea 42.
Step 3: Disabilitazione Selettiva Plugin
Se non hai accesso al debug.log o vuoi isolare rapidamente il problema, disabilita tutti i plugin via WP-CLI:
# Lista tutti i plugin attivi
wp plugin list --status=active
# Disabilita TUTTI i plugin (emergency mode)
wp plugin deactivate --all
# Riattiva uno alla volta per isolare il problema
wp plugin activate woocommerce
wp plugin activate advanced-custom-fields-pro
# ... continua fino a trovare il colpevole
Senza WP-CLI? Rinomina la cartella wp-content/plugins in plugins-disabled via FTP. WordPress disabiliterà automaticamente tutti i plugin.
Step 4: Tema di Fallback
Se disabilitando i plugin il problema persiste, il colpevole è probabilmente il tema:
# Attiva un tema default
wp theme activate twentytwentyfour
# Se funziona, il problema è nel tema custom
# Controlla functions.php e template files
Checklist Rapida WSOD
# 1. Abilita debug
wp config set wp_DEBUG true --raw
wp config set wp_DEBUG_LOG true --raw
# 2. Controlla errori
tail -50 wp-content/debug.log
# 3. Disabilita plugin
wp plugin deactivate --all
# 4. Testa tema default
wp theme activate twentytwentyfour
# 5. Riabilita gradualmente
wp plugin activate plugin-name
Il problema persiste? Potrebbe essere un errore a livello server (PHP, permessi, .htaccess). Contattaci per un’analisi approfondita.