Spostare una pagina web all’interno del proprio sito è una cosa banale da un punto di vista oggettivo. Per questo la risposta che un cliente ti dà quando ti chiede questa cosa è “Tanto che ci vuole, crei una nuova cartella e sposti il file!“.
Verissimo!
Ma proviamo ad analizzare la cosa da un punto di vista dei motori di ricerca.
All’interno degli indici dei motori, per quanto questi scansionino quotidianamente milioni di siti web, le referenze del vecchio file continueranno ad esistere fintanto che non ripasseranno sul vostro sito per reindicizzarne il contenuto.
Supponete ora che avete un sito web scarsamente aggiornato, e che questa scansione avvenga una volta al mese, e proprio ieri i motori di ricerca sono passati per il loro “giro di ronda”. Cosa succedere durante il corso di questo intervallo di tempo? Se un file è stato rinominato o spostato (senza altra azione), tutte le successive visite che arriveranno al vostro sito alla ricerca di quella risorsa andrebbero perse perchè la pagina richiesta non esiste più (Errore 404 Pagina non trovata).
Se avete implementato un sistema per restituire una pagina di errore amichevole, poco male. Il vostro utente capirà “nel bene o nel male” che il contenuto non esiste più. Ma Google o gli altri motori di ricerca? A seconda del codice di errore restituito (200 o 404, per maggiori informazioni leggete qui) i motori di ricerca potrebbero non accorgersi immediatamente (o magari non farlo per niente) di quello che è successo.
La cosa migliore a questo punto è quella di impostare una politica corretta di redirect (lato server preferibilmente), in modo da restituire un codice di stato corretto al dine di informare il motore di ricerca del cambiamenteo: questo lo si fa attraverso il codice 301 - Pagina trasferita definitivamente.
In ambiente Microsoft, sotto IIS6, questo cambiamento è possibile effettuarlo nel seguente modo:
- Aprire la console IIS, e quindi il sito web di interesse
- Selezionare la risorsa (file o cartella) quindi fare tasto destro e proprietà
- Nella sezione file, selezionare l’opzione su “A rederiction to a URL”
- Marcare la casella “A permanent redirection on this resource”
- Premere ok per uscire
Il punto 4 è fondamentale e fa la differenza nella restituzione del codice di errore tra il 301 (Moved permanently, accettato di buon grado dai motori di ricerca) e il 302 (Documento spostato temporaneamente).
Il codice 301 viene visto dal motore di ricerca come un cambiamento, e di conseguenza senza altre variazioni da parte nostra, possiamo aspettarci che nel breve periodo il motore - prima o poi - aggiorni l’indice in automatico.
Ovviamente, per chi sta facendo attività di SEOing, è bene aggiornare la sitemap.xml (e sottometterla di nuovo nel caso di Google tramite i webmaster tools) e magari anche il robots.txt assicurandosi tempi più brevi e minori problemi.
Analogo discorso si potrebbe fare per lo spostamento dei domini, ma in questo caso ho avuto modo di notare e comunque di leggere anche di esperienze di “latenza” a livelli paurosi.
Update: Un chiarimento circa i vari metodi per effettuare il redirect 301, con diverse tecniche