Modalità manutenzione di WordPress
WordPress dispone di una modalità di manutenzione in cui entra automaticamente quando vengono fatti gli aggiornamenti.
La domanda è: c’è modo di attivarla a piacere, ad esempio quando si svolgono attività di messa a punto ?
Ovviamente esistono plugin specifici per questa richiesta, ma tutto sommato è una modalità che si può controllare facilmente a mano risparmiandosi l’ennesimo plugin nel sistema.
La prima cosa da fare è creare un file nella root dell’installazione di WordPress il cui nome è .maintenance. Il nome del file è proprio quello, con un punto iniziale che gli attribuisce in linux la caratteristica di file nascosto.
All’interno del file si aggiunge il codice:
<?php $upgrading = time(); ?>
Ciò fa sì che la pagina con il messaggio agl iutenti venga visuazalizzato fino a che non viene rimosso il file .maintenance file.
Nelle impostazioni presenti in wp-settings.php vengono fatti due controlli per verificare se la pagina di manutenzione deve essere mostrata, innanzitutto si verifica se il file .maintenance esiste, in secondo luogo viene verificato se l’ora attuale meno quella indicata nella variabile $upgrading è minore di 10 minuti.
Il codice utilizzato sopra fa sì che questo controllo risulti sempre verificato (dato che time() – time() == 0, quindi inferiore a 10 minuti )
Se invece si vuole visualizzare il messaggio di manutenzione per un determinato periodo di tempo si può usare:
<?php $upgrading = 1234567890; ?>
Nel nostro caso andremo a sostituire il numero 1234567890 con il timestamp linux dell’orario meno 10 minuti a cui vogliamo che la pagina di manutenzione smetta di essere visualizzata.
Esempio pratico
Voglio che la pagina di manutenzione smetta di essere visualizzata il 9 ottobre 2014 alle 04:27:00
Quindi imposterò la variabile $upgrading al 9 ottobre 2014 alle 04:17:00. Notare il valore dei minuti: 17 e non 27, cioè 10 minuti prima dell’orario desiderato
Il valore del timestamp sarà quindi 1412821020, di conseguenza all’interno del file .maintenance scriverò:
<?php $upgrading = 1412821020; ?>
Nota: se l’orario specificato all’interno del file è superato, ma il file .maintenance resta presente (non viene cancellato), gli utenti vedranno il sito normalmente, però all’interno del pannello di controllo amministrativo verrà visualizzata l’indicazione “An automated WordPress update has failed to complete – please attempt the update again now.” Occorre cancellare il file .maintenance per rimuovere l’avviso.
Nota: ovviamente si può creare una pagina apposita da visualizzare al posto della piatta scritta di avviso che il sito è in manutenzione.