Preguntas técnicas de características y respuestas a preguntas tipo qué es

Schermata bianca WordPress 2026: cause reali e fix che funzionano

Ti si apre una pagina completamente bianca su WordPress e non sai da dove iniziare? È il famigerato WSOD, il White Screen of Death, e nella maggior parte dei casi non significa che il sito sia morto. Significa che PHP si è fermato prima di poter stampare qualcosa a schermo.

La schermata bianca di WordPress quasi mai è casuale: c’è sempre un errore PHP fatale dietro, solo che WordPress di default nasconde tutto e ti lascia davanti a un vuoto. Il tuo lavoro è far emergere quell’errore, non indovinare.

Prima regola: non toccare niente, attiva il debug

Se inizi a disattivare plugin a caso senza vedere i log, stai solo perdendo tempo e rischi di rompere altro. La schermata bianca di WordPress va diagnosticata con i dati, non a tentativi.

Apri il file wp-config.php via FTP o dal file manager del pannello di hosting e aggiungi queste righe prima della frase che dice “That’s all, stop editing”:

define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);

In questo modo gli errori non compaiono a schermo (cosa che potrebbe rompere ulteriormente il layout pubblico) ma finiscono nel file /wp-content/debug.log. Quello è il tuo punto di partenza reale. Lì dentro troverai il nome del file e la riga esatta che sta uccidendo il sito.

Cause più frequenti della schermata bianca di WordPress

Dopo anni di interventi su siti bloccati, le cause si ripetono quasi sempre. Non sono misteri: sono cose prevedibili.

Memoria PHP esaurita

Il tuo sito è cresciuto, il tema carica troppe cose o un plugin fa query assurde, e il limite di memoria salta. In debug.log vedrai qualcosa tipo “Allowed memory size exhausted”. Non è un errore del codice in sé, è che PHP ha esaurito il budget.

define(‘WP_MEMORY_LIMIT’, ‘256M’);
define(‘WP_MAX_MEMORY_LIMIT’, ‘512M’);

Attenzione: se il tuo hosting non concede più di 128M a livello di server, questa modifica non basta. In quel caso devi parlare con il supporto e farti alzare il limite a monte, altrimenti stai scrivendo numeri che non vengono rispettati.

Conflitto tra plugin o tema

Un aggiornamento di un plugin, o un plugin vecchio rimasto attivo, è la causa numero uno della schermata bianca di WordPress. Per isolarlo rinomina via FTP la cartella:

/wp-content/plugins → rinominala in plugins-off

Se il sito torna su, il problema è lì dentro. Rinomini di nuovo la cartella col nome originale, poi disattivi i plugin uno alla volta dal database (tabella wp_options, campo active_plugins) finché non trovi il colpevole. Non fidarti del pannello admin: se il sito è bianco, non ci entri nemmeno.

Tema incompatibile o corrotto

Stessa logica: rinomina la cartella del tema attivo dentro /wp-content/themes. WordPress passerà automaticamente a un tema di default se disponibile, e capirai subito se il problema è tuo.

Versione PHP troppo nuova o troppo vecchia

Questo punto lo trascurano in tanti. Se il tuo hosting ha aggiornato PHP da 7.4 a 8.2 dall’oggi al domani, un vecchio plugin scritto male va in errore fatale. È una incompatibilità, non un guasto. Controlla la versione PHP dal pannello hosting e allineala a quella consigliata da WordPress e dal tuo tema.

Database danneggiato

Una tabella corrotta fa partire la schermata bianca di WordPress senza che tu abbia toccato nulla. Per verificarlo e riparare puoi usare da riga di comando:

mysqlcheck -u utente -p nome_database -r

Oppure, se hai accesso a phpMyAdmin, seleziona le tabelle e usa l’opzione “Ripara”. Se sei su hosting condiviso e non hai SSH, chiedi al supporto di eseguire il check: molti lo fanno in due minuti.

File core di WordPress corrotti o incompleti

Upload interrotto, permessi sbagliati durante un aggiornamento, un plugin di sicurezza che ha cancellato file per errore. Reinstalla la cartella wp-admin e wp-includes scaricando l’ultima versione di WordPress e sovrascrivendo i file esistenti. Non toccare wp-content e wp-config.php.

.htaccess rotto

Un .htaccess con regole di rewrite sbagliate può creare un loop infinito o un errore 500 che sembra una schermata bianca. Rinominalo in htaccess.bak: se il sito torna, rigenera le regole salvando di nuovo i permalink dalle impostazioni di WordPress.

Metodo pratico: l’ordine giusto per risolvere

Se vuoi chiudere la faccenda in fretta, segui questo ordine e non saltare passaggi:

  1. Attiva il debug log e leggi l’errore esatto.
  2. Se è memoria, alza il limite e verifica col supporto hosting.
  3. Se è un plugin, disattivali tutti e riattivali uno per uno.
  4. Se è il tema, cambia tema e reinstalla quello incriminato.
  5. Se è PHP, allinea la versione.
  6. Se è il database, ripara le tabelle.
  7. Se è il core, reinstalla wp-admin e wp-includes.

Il 90% dei casi si risolve entro il punto 3. Il restante 10% è quasi sempre database o incompatibilità PHP.

Permessi file e cartelle: il dettaglio che frega tutti

Se dopo un ripristino manuale il sito resta bianco, guarda i permessi. Le cartelle di WordPress devono stare a 755 e i file a 644. Il wp-config.php a 600 se il server lo consente.

Permessi troppo aperti (777) non risolvono niente e aprono buchi di sicurezza; permessi troppo chiusi (per esempio 700 su cartelle) impediscono a PHP di leggere i file e ti ritrovi di nuovo davanti alla schermata bianca di WordPress senza capire perché.

Quando è il momento di chiamare l’hosting

Se hai fatto tutto quanto sopra e il sito resta bianco, non perdere un’altra giornata. Ci sono due scenari in cui è il provider a dover intervenire: il limite di memoria PHP gestito a livello server e un crash che si verifica prima che WordPress venga caricato (quindi non lascia traccia nel debug.log).

In quei casi chiedi esplicitamente di controllare i log errori di PHP e i log del web server (Apache o Nginx). Lì c’è la risposta che WordPress non ti dà.

Un’ultima cosa che pochi fanno: prima di qualunque fix pesante, scarica un backup completo di file e database. La fretta di ripristinare è il motivo per cui molti finiscono per perdere contenuti che potevano salvare in trenta secondi.