Sito in manutenzione con .htaccess e WordPress

Sito in manutenzione con .htaccess e WordPress

Mettere un sito in manutenzione, anche se molti evitano di farlo, è un accorgimento che andrebbe preso nelle fasi di sviluppo di un sito web, o in caso di modifiche consistenti. Settare un sito in manutenzione è utile anche per dare un tocco di professionalità al proprio progetto.

A seconda della piattaforma e infrastruttura utilizzata, sono diversi i modi in cui si può impostare la maintenance mode di un sito web. Vediamo come farlo tramite .htaccess (su server Apache) e tramite plugin, per siti sviluppati con il CMS WordPress.

Mettere un sito in manutenzione con .htaccess

Lo stato in manutenzione per un sito web può essere settato agevolmente aggiungendo poche righe al file .htaccess (quindi per siti ospitati su server Apache). Vediamo prima la configurazione più semplice e poi una personalizzazione, per rendere più gradevole a livello di design la maintenance mode.

# MAINTENANCE MODE
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^79\.43\.106\.223
RewriteRule .* - [R=503,L]
</IfModule>
<IfModule mod_headers.c>
Header always set Retry-After "3600"
</IfModule>

Inserita la precedente direttiva in .htaccess la risposta del browser sarà la seguente:

Sito in maintenance mode

Vediamo nel dettaglio alcuni aspetti delle direttive inserite. Nella riga RewriteCond si inserisce l’indirizzo IP (plausibilmente il proprio) al quale si vuole consentire l’accesso al sito web (che dunque non andrà in “errore” 503 Service Unavailable).

Se si vuole consentire l’accesso a più indirizzi IP è sufficiente aggiungere ulteriori righe, tali e quali a quella già esistente (cambiando ovviamente solo l’indirizzo IP di riferimento).

La riga Retry-After indica il periodo previsto durante il quale il servizio sarà irraggiungibile.  Nell’esempio in questione è indicato in secondi (3600, dunque per un’ora). Si può però inserire anche una data ben precisa.

Sembrerebbe che alcuni spider, come Googlebot, onorino la direttiva Retry-After. Quindi è utile, se è possibile, informare fino a quando si prevede che il servizio non sarà disponibile. In tal modo il bot saprà quando potrà effettuare nuovamente il crawling del sito (per approfondire, vedere il blog ufficiale Google).

Personalizzazione della maintenance mode con .htaccess

La soluzione base per mettere un sito in manutenzione con .htaccess si presenta però particolarmente scarna a livello di design. L’ideale sarebbe disporre di una pagina personalizzata da servire in caso di manutenzione del sito web. Vediamo quindi come richiamarla attraverso direttive ne file .htaccess.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^79\.43\.106\.223
RewriteCond %{REQUEST_URI} !/manutenzione [NC]
RewriteRule .* - [R=503,L]
</IfModule>
ErrorDocument 503 /manutenzione.html
<IfModule mod_headers.c>
Header always set Retry-After "3600"
</IfModule>

Una volta creata la propria pagina manutenzione.html (o qualsiasi altro nome le si voglia dare), occorre richiamarla attraverso la riga ErrorDocument e sbloccare la relativa directory (con eventuali CSS o Javascript) attraverso la seconda direttiva RewriteCond.

Mettere un sito in manutenzione con WordPress

Mettere un sito in manutenzione su WordPress è ancora più semplice, grazie agli innumerevoli plugin che vengono in aiuto per ogni esigenza. Anche per la manutenzione del sito esistono diversi plugin; ne vediamo in particolare uno che si contraddistingue per l’estrema semplicità di utilizzo. Il plugin si chiama proprio Maintenance.

Una volta installato ed attivato, il plugin si presenta davvero elementare nel suo utilizzo. Anche l’impostazione di default, con l’immagine di sfondo originale, può già di per sé essere sufficiente, per chi non è interessato ad ulteriori personalizzazioni. La seguente immagine mostra come si presenta.

Plugin maintenance WordPress
Configurazione base plugin Maintenance su WordPress

Ovviamente lo stato “in manutenzione” non viene servito agli utenti loggati su WordPress, i quali vedranno regolarmente la home e le altre pagine del sito web. La barra in alto su WordPress informa inoltre se il plugin è settato in on o off (dunque se è attiva la modalità “sito in manutenzione”).

Chi voglia personalizzare la configurazione base, come mostrata nell’immagine sopra, può facilmente farlo dalle semplici impostazioni del plugin. In particolare è possibile:

  • Cambiare title della pagina e gli altri elementi testuali (descrizione, testo del footer, ecc.)
  • Inserire un’immagine di sfondo diversa da quella di default e un logo
  • Cambiare colori, fonts e personalizzare i CSS
  • Settare la pagina di manutenzione come status code 503 (service unvailable). Questo aspetto può essere molto importante per quanto visto sopra relativamente agli spider dei motori di ricerca. Se non viene barrata la voce 503 nelle impostazioni del plugin, la modalità manutenzione verrà servita come normale status code 200.
  • Escludere pagine o articoli dalla maintenance mode.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *