WP – Pagina di cortesia per “Errore nello stabilire una connessione al database”

wordpress_miglioramentiSebbene WordPress sia molto stabile, può succedere che al momento di collegarsi, al posto del sito, appaia una pagina vuota con la scritta “Errore nello stabilire una connessione al database“. Visto che non viene data nessun’altra indicazione, non è facile per il webmaster non lasciarsi prendere dal panico.

Se si esclude il caso semplice di un errore di configurazione nel file wp-config.php, in molti casi il problema può essere di non facile soluzione. Potrebbe essere infatti causato direttamente dal database, ma non tutti sono in grado di intervenire tempestivamente. Altre volte non è possibile un intervento da parte del webmaster, in quanto l’errore di connessione dipende direttamente da un problema dell’hosting.

In ogni caso, in attesa di trovare una soluzione o che il problema si risolva da solo (per esempio se causato da un sovraccarico del server), può essere utile creare una pagina di cortesia, in modo da non disorientare o allontanare i visitatori.

Per farlo bisogna creare un file di testo, nominarlo db-error.php e posizionarlo via FTP nella cartella wp-content. Il file dovrebbe riprendere la struttura di una pagina statica, ma può essere configurato a piacere. Nel nostro caso si è optato per riprodurre una pagina del sito madre (cinaliano.it), con l’avvertenza che il sito è momentaneamente inaccessibile.

Può essere utile, prima dell’inizio del codice html “proprio” inserire il seguente codice:
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 3600'); // 1 ora = 3600 secondi
mail("indirizzo@miosito.it", "Database Error", "Si è verificato un problema con il database!", "From: Miosito");
?>

In questo modo si segnala l’errore 501 ai browser ed ai motori di ricerca, e viene inviata una mail di avviso.

Per testarlo, si può generare volontariamente un errore di connessione modificando la password nel file wp-config.php e provare a connettersi. Per un maggiore riscontro del suo funzionamento, vi si può posizionare un contatore di accessi separato da quello del sito madre. Si raccomanda di controllare la permanenza del file dopo ogni aggiornamento di WordPress.

Fonte: qua.