A chi utilizza WordPress può succedere di imbattersi nel famigerato schermo bianco della morte. Invece della pagina che ci si aspetta di vedere, a seconda del browser il visitatore del sito si trova di fronte ad una pagina completamente bianca o ad un errore interno del server.
Le cause possono essere prevalentemente di due tipi:
- un problema di codice;
- un problema di memoria.
Le soluzioni saranno diverse a seconda della causa, ma non essendo questa immediatamente individuabile si dovrà procedere per tentativi.
Problemi di codice: le cause
Essendo WordPress un CMS le cui funzionalità possono essere estese da temi e plugin, può succedere che nascano conflitti tra l'estensione e l'installazione:
- l'installazione di un componente aggiuntivo potrebbe non essere andata a buon fine;
- ci possono essere incompatibilità tra un tema o plugin e la versione corrente di WordPress;
- ci possono essere incompatibilità tra un tema o plugin e la versione di PHP su cui gira l'installazione.
Può succedere anche che un plugin (o il tema corrente) non sia stato ben progettato, e il difetto di codifica manda in crisi l'intera installazione di WordPress. Per questo, nella scelta del software da installare, è sempre bene seguire delle regole generali:
- scegliere sempre plugin distribuiti da sviluppatori affidabili. Le informazioni possono essere reperite nelle directory dei temi e dei plugin. Per quel che riguarda temi e plugin pro, distribuiti al di fuori della directory ufficiale, sarà necessario cercare altre fonti. I market dove spesso vengono distribuiti temi e plugin pro sono ottime fonti di informazione. Evitare, se possibile, di utilizzare plugin di sviluppatori sconosciuti o con cattiva reputazione.
- Scegliere temi e plugin che vengono aggiornati regolarmente e sono accompagnati da un buon servizio di supporto. L'aggiornamento regolare del software è garanzia di correzione di errori e bug.
- Evitare di installare versioni di plugin che circolano "clandestinamente", e riferirsi sempre al sito ufficiale dello sviluppatore.
Come risolvere i problemi di codice generati dal tema o da plugin
Qui si presuppone che il problema nasca dal tema o da un plugin di terze parti, e che non siano state apportate modifiche dirette al codice del core o del tema. In questo caso è bene ripristinare la versione precedente di WordPress o del tema, recuperando l'ultimo back-up funzionante.
Per individuare il tema/plugin non funzionante è necessario disattivare tutti i plugin presenti nell'installazione e cambiare il tema corrente con il tema predefinito di WordPress. Se si ha accesso al pannello di amministrazione, questa operazione potrà essere effettuata dalle pagine "Plugin" e "Aspetto → Temi".
Una volta disattivati tutti i plugin, si verificherà il front-end del sito per accertarsi che questo abbia ripreso il suo normale funzionamento. Se il sito funziona correttamente, bisognerà riattivare un plugin alla volta e, ad ogni passaggio, ricaricare il front-end per verificarne il funzionamento. Quando il sito sarà di nuovo giù, si sarà individuato il plugin difettoso. Dopo aver verificato tutti i plugin, si farà la stessa operazione sul tema.
Se il pannello di amministrazione non è più accessibile, bisognerà effettuare la stessa operazione accedendo al sito via FTP o SFTP. Bisognerà rinominare le directory dei singoli plugin, o spostarli in una directory con un nome diverso da plugins
(ad esempio vecchi_plugins
). A questo punto si sposteranno uno alla volta i plugin nella directory plugins
, si riattiveranno i plugin e si tornerà al front-end per le verifiche.
Una volta individuato il plugin che crea il problema, si potranno effettuare le verifiche del caso, chiedendo eventualmente il supporto dello sviluppatore.
Come risolvere i problemi di codice generati nelle proprie attività di sviluppo
Sarebbe sempre opportuno evitare di apportare modifiche al codice su installazioni live. È assolutamente consigliato provare il proprio codice in ambienti di prova prima di implementarlo in produzione.
Per effettuare i test sul codice, è possibile utilizzare la modalità debug di WordPress, attivabile nel file wp-config.php
tramite le seguenti costanti:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Maggiori informazioni su questo argomento nella guida alla sicurezza di WordPress.
Come risolvere il problema dei limiti di memoria
Se i tentativi precedenti non vanno a buon fine, lo schermo bianco della morte potrebbe essere causato da un superamento del limite di memoria. Questo problema potrebbe essere più difficile da risolvere, specialmente su alcuni host di fascia bassa, che potrebbero non dare accesso ai file di configurazione del server.
Per prima cosa, si può definire la costante WP_MEMORY_LIMIT
nel file wp-config.php
:
define('WP_MEMORY_LIMIT', '64M');
Per maggiori informazioni sulle costanti del file wp-config.php
, si faccia ancora riferimento alla guida di WordPress.
Se questa soluzione ancora non risolve il problema, allora si può provare ad aggiungere la seguente direttiva al file .htaccess
:
<IfModule mod_php7.c>
php_value memory_limit 64M
</IfModule>
Se anche questo non funziona, non rimane che intervenire sul file php.ini
. Per un approfondimento si fa rinvio alla guida all'upload dei file.
Altre cause dello schermo bianco della morte di WordPress
Possono esserci altre cause che non sono state considerate in questo articolo. L'errore potrebbe, ad esempio, essere generato da un aggiornamento non andato a buon fine. In questo caso occorre eseguire nuovamente l'aggiornamento, ma caricando manualmente i dati via FTP. Altro motivo di errore potrebbe essere legato ai permessi sui file, per i quali si fa rinvio alla guida ai permessi sui file in WordPress.