Il redirect 301
by: must
Total views: 1948
Word Count: 445
Il redirect 301 è un redirect effettuato lato server chiamato anche redirect permanente. 301 è lo status code usato in questo redirect, ed indica un "moved permanently". Lo status code 301 indica che un nuovo URL è stato assegnato alla risorsa, e che ogni futuro riferimento a questa risorsa dovrebbe essere fatto usando il nuovo indirizzo.
Quando un client fa una richiesta, il server risponde sempre con uno status code. Quando il server risponde con lo status code 301, restituisce al client il nuovo indirizzo. In questo modo, il client raggiunge direttamente il nuovo indirizzo, mentre il server non restituisce mai la risorsa dal precedente URL.
Spiegato tecnicamente cos'è il redirect 301 e come funziona, è importante spiegare chi è particolarmente interessato ad usarlo. In caso di modifiche (anche pesanti) ad un sito internet, ad esempio, si potrebbe essere costretti a modificare tutti gli URL precedenti. Applicando il redirect 301, tutti (dagli spider dei motori di ricerca ai client che magari seguono un link o un bookmark con il vecchio indirizzo) vengono portati sulla nuova pagina. Il redirect 301 fa quindi sia risparmiare tempo agli utenti, che altrimenti sarebbero costretti a rintracciare la pagina cercata (operazione che prende comunque tempo, anche se il sito dispone di sitemap e di un motore di ricerca interno) sia permette agli spider di sostituire la vecchia pagina con la nuova nel proprio indice.
Ma come si fa il redirect 301, all'atto pratico? In realtà, si può fare in più modi, anche se è da preferire il redirect effettuato direttamente dal web server. Con Apache, il web server di gran lunga più usato al mondo, ci sono due metodi:
- direttamente nel file di configurazione, all'interno del virtualhost
- nel file .htaccess, inserito nella document root del sito
In entrambi i casi, la sintassi è la stessa:
Redirect 301 /path-vecchio http://domain.tld/path-nuovo
Si presti attenzione al fatto che /path-vecchio non deve includere http://domain.tld, pena non funzionamento del redirect. Tra l'altro, si deve sottolineare che neanche da un punto di vista logico avrebbe senso dover includere l'URL completo, in quanto il redirect fa necessariamente riferimento al sito in questione (o il virtual host nella configurazione del web server o il file .htaccess all'interno della document root del sito web).
È comunque possibile effettuare il redirect 301 anche con i linguaggi lato server, come php ed asp. La differenza sostanziale sarà che nel primo caso la vecchia pagina potrà non esistere più sul server (insomma, in assenza di redirect 301 avremmo un error 404, file not found) mentre nel secondo caso dovremo necessariamente avere il file che effettua il redirect.
In php, la sintassi è:
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://domain.tld/path-nuovo" );
?>
In asp, invece, la sintassi è:
<?
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://domain.tld/path-nuovo" );
?>
About the Author
Stefano Gorgoni si occupa di diverse attività online. Attualmente le sue attenzioni sono rivolte al posizionamento sui motori di ricerca e al web marketing in generale. Collabora con uno dei più importanti blog italiani sul marketing.
Rating: 5.00

