Cambiare l'indirizzo di una pagina già indicizzata dai motori di ricerca, comporta solitamente un peggioramento del ranking della pagina stessa. L'intestazione (header HTTP) 301 Moved Permanently, che notifica sia al bot del motore di ricerca che al browser lo spostamento definitivo di una pagina, consente di preservare il ranking. Di seguito i metodi più comuni per implementarla.
Supponiamo di voler sostituire nel sito www.nomedominio.it la pagina vecchiapagina.asp con la pagina nuovapagina.asp. Per fare in modo che la vecchia pagina risponda con un redirect 301 verso la nuova pagina, è sufficiente sostituire il codice di vecchiapagina.asp con il seguente:
vecchiapagina.asp
<% Response.Status = "301 Moved Permanently" Response.AddHeader "Location", "http://www.nomedominio.it/nuovapagina.asp" %>
Supponiamo di voler sostituire nel sito www.nomedominio.it la pagina vecchiapagina.php con la pagina nuovapagina.php. Per fare in modo che la vecchia pagina risponda con un redirect 301 verso la nuova pagina, è sufficiente sostituire il codice di vecchiapagina.php con il seguente:
vecchiapagina.php
<? header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.nomedominio.it/nuovapagina.php"); exit(); ?>
Supponiamo di voler sostituire nel sito www.nomedominio.it la pagina vecchiapagina.html con la pagina nuovapagina.html. Per fare in modo che la vecchia pagina risponda con un redirect 301 verso la nuova pagina, è sufficiente aggiungere nel file .htaccess la seguente riga:
.htaccess
RewriteEngine On RewriteRule ^vecchiapagina.html$ http://%{HTTP_HOST}/nuovapagina.html [R=301,L]
Tramite .htaccess è possibile reindirizzare un'intera cartella o addirittura un intero sito, come mostrato qui di seguito:
.htaccess
RewriteEngine On RewriteRule ^(.*)$ http://%{HTTP_HOST}/nuovapagina.html [R=301,L]
NOTE