Corsi on-line

SEO e manutenzione siti Web

Esistono diverse ragioni per le quali un sito Web potrebbe risultare indisponibile a causa di un intervento di manutenzione, alcuni esempi potrebbero fare riferimento alla necessità di aggiornare l’ambiente di produzione che ospita la risorsa, la migrazione tra due differenti piattaforme per la gestione dei contenuti o la rilevazione di un’importante vulnerabilità che necessita di essere risolta prima che le pagine sia nuovamente visibili.

503-errorI tempi di attesa tra la messa offline e il ritorno online varieranno a seconda della capacità degli sviluppatori e degli amministratori di sistema e delle caratteristiche dell’environment sul quale si sta operando. Ma quale potrebbe essere l’impatto derivante dall’interruzione di un servizio a carico del posizionamento? Come reagiscono i motori di ricerca, e in particolare Google, quando un sito Web precedentemente indicizzato risulta irraggiungibile?

Per rispondere a questa domanda è possibile proporre un numero, 503; si tratta dello status HTTP associato all’intestazione “Service Unavailable“, esso definisce esattamente ciò che accade nel corso di una procedura di manutenzione che costringe ad un’assenza temporanea  (più o meno prolungata). La risorsa non viene quindi indicata come dismessa in via definitiva, ma più semplicemente non accessibile.

Google è in grado di rilevare lo status 503 interpretandolo come una segnalazione di mancato funzionamento temporaneo, questo comportamento è rilevante ai fini dell’indicizzazione perché presuppone che il motore di ricerca tornerà a visitare le pagine coinvolte in un momento successivo, avendo compreso che esse non sono state cancellate dal server una volta per tutte.

E’ quindi buona pratica intercettare lo status 503 per effettuare un redirect dei client verso una pagina che comunichi la manutenzione in atto, tale accorgimento avrà valore anche per i bot utilizzati da Google per l’indicizzazione:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !pagina-di-manutenzione.html
RewriteRule ^.*$ /pagina-di-manutenzione.html [R=503,L]
ErrorDocument 503 /pagina-di-manutenzione.html
Header Set Cache-Control "max-age=0, no-store"

Come è possibile notare, il codice proposto, che andrà digitato in un file .htaccess per l’invio di istruzioni al server Apache, prevede il ricorso al modulo per la riscrittura degli URL; da sottolineare la necessità della direttiva:

Header Set Cache-Control "max-age=0, no-store"

che posta al termine della regola impedirà che la pagina di manutenzione venga memorizzata in cache.

Se in alternativa lavoriamo su NGINX potremo sfruttare una sintassi differente:

if (-f $document_root/pagina-di-manutenzione.html) {
                return 503;
           }
           error_page 503 @maintenance;
           location @maintenance {
                rewrite ^(.*)$ /pagina-di-manutenzione.html break;
           }
Post correlati
I più letti del mese
Tematiche