Redirect (Reindirizzamento)
Un redirect è l’istruzione con cui un server dichiara che una risorsa si trova a un altro indirizzo. Chi la chiede – persona o motore – viene portato lì, e nel frattempo riceve l’informazione sul perché.
Quel perché è la parte che conta, ed è contenuta nel codice di stato. Il 301 dichiara uno spostamento definitivo e porta con sé la sostituzione dell’indirizzo nell’indice; il 302 e il 307 dichiarano una condizione temporanea e lasciano in vita l’originale. Usare il secondo dove serve il primo è l’errore più frequente nelle migrazioni, e produce la situazione peggiore: il vecchio indirizzo resta quello noto al motore mentre le persone vengono mandate altrove (codici di stato HTTP).
Esistono forme che non passano dal server – il rinvio scritto in un meta tag o eseguito da uno script – e vanno trattate come ripieghi: sono più lente, non sempre vengono interpretate come un redirect, e con i sistemi che non eseguono il codice non funzionano affatto (crawler AI).
La regola che evita la maggior parte dei danni riguarda la destinazione: un redirect ha senso verso la pagina che sostituisce davvero quella vecchia. Mandare decine di indirizzi dismessi alla home è una scorciatoia che il motore interpreta come una pagina non trovata, con il risultato di perdere tutto quello che si voleva conservare (404).