Redirect 301 esempi e guida al suo uso
Ben trovati in questo nuovo capitolo dove parleremo del modo piú corretto e consigliato dai motori di ricerca per reindirizzare il nostro dominio o la pagina web.
Cos’é il redirect 301?
Il Redirect 301 chiamato anche Redirect permanent é una regola di solito inserita in un file chiamato .htaccess (hypertext access). Il file .htaccess che si definisce con "Apache directory-level configuration file", si occupa della configurazione della directory dove viene inserito. Il file in questione lo troviamo nei server che utilizzano come sistema operativo Linux. Nei server della Microsoft troviamo un Plugin che anch’esso é parte della piattaforma Apache e si chiama rewrite_module. Il modulo (o plugin ISAPI_rewrite nei server microsoft) é utilizzato per il mode_rewrite cioé la reiscrizione degli indirizzi e del loro reindirizzamento.
Torniamo peró al file .htaccess ora. Questo file puó quindi rispondere ai browser che richiederanno di scaricare pagine o file presenti nella directory da lui controllata con un reindirizzamento ad altro indirizzo o una richiesta di autenticazione per mezzo di username e password. Sono molte le regole che possono essere create in quel file per configurare al meglio gli ingressi in quella directory.
Oggi focalizziamo il Redirect 301 per vedere come questa regola abbia un’importanza non comune sia per lo sviluppatore che per i motori di ricerca.
Redirect 301 dominio vecchio sul dominio nuovo
La regola Redirect che in italiano sta per reindirizzamento, offre l’opportunitá di far trasferire i dati di un dominio presenti in un’eventuale cache (in questo caso la memoria dei database dei motori di ricerca), su di un’altro, permanentemente. È l’unico reindirizzamento che fa trasferire morte e miracoli del dominio vecchio su quello nuovo. Ivi comprese eventuali penalizzazioni!
Molto spesso abbiamo la necessitá di trasferire il nostro vecchio dominio, su di un’altro molto piú pertinente con il tema trattato dal nostro sito, senza che peró nel trasferimento vadano persi eventuali Pagerank o indicizzazione nei motori di ricerca. Sarebbe davvero un guaio se dopo qualche anno che il vecchio sito é in rete ormai affermato con un flusso di utenti giornalieri in continuo aumento, di colpo perdesse la visibilitá a causa di un errore nel reindirizzamento o per colpa di un reindirizzamento diverso dal Redirect 301.
Reindirizzare correttamente con il Redirect 301
Prendiamo l’esempio di un dominio.com che dovrá essere reindirizzato sul dominio.it. Chiaramente la regola vale anche per polli-allo-spiedo.com che si dovrá reindirizzare su galline-felici.it
Nel file .htaccess inseriremo questa regola:
Redirect 301 / http://www.dominio.it
Nell’esempio qui sopra leggiamo:
Redirect 301, quindi redirect permanente,
Slash /, la slash indica che é tutto il dominio a trasferirsi o l’intera cartella dove il file risiede.
Trovandosi il file .htaccess nella root del dominio.com la slash sta quindi in questo caso per http://www.dominio.com.
http://www.dominio.it é la meta del trasferimento.
Nell’altro caso inseriamo sul dominio.com il file .htaccess nella cartella download e regoliamo un redirect 301 al dominio.it:
Redirect 301 / http://www.dominio.it
se questo file con il redirect é inserito nella cartella download trasferirá quindi su http://www.dominio.it/download
Quando il browser richiederá al server di poter scaricare la pagina o in questo caso una qualunque delle pagine del dominio.com o .it, il file .htaccess risponderá con il reindirizzamento all’altro indirizzo.
Nota! È importante chiarire che se le cartelle interne del dominio.it non avranno lo stesso identico nome presente sul dominio.com, le cartelle/pagine del dominio.com non potranno essere reindirizzate sulle loro gemelle del dominio.it, e verrá generato un errore 404.
Il reindirizzamento della pagina dominio.com/esempio.html se non troverá la pagina gemella dominio.it/esempio.html, genererá un errore 404. Utilizzando una regola del mod_rewrite é possibile intercettare i file inesistenti o con errore di battitura nell’indirizzo e trasferili per esempio sulla pagina index del dominio.it.
La regola:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]RewriteBase / puó essere omesso se si accusano problemi con la configurazione di alcuni server.
Come reindirizzare una sola pagina?
Il reindirizzamento di una sola pagina segue lo stesso metodo di quello utilizzato con l’intero dominio. Vediamo come, nel caso volessimo cambiare l’estensione di una pagina da HTML a PHP:
Redirect 301 /paginaesempio.html http://www.dominio.com/paginaesempio.php
Si potrebbe anche far reindirizzare una pagina ad un’altra o alla pagina Index. Vediamo come:
Redirect 301 /galline.html http://www.dominio.com/polli.html
Oppure per reindirizzare alla index:
Redirect 301 /galline.html http://www.dominio.com/
Il redirect 301 sui server Windows
Redirect 301 file ASP
<%@ Language=VBScript %>
<%
Response.Status = "301 Moved Permanently"
Response.addheader "Location", "http://www.nuovodominio.com/paginanuova.html/"
Response.End
%>
Il redirect 301 su ASP.NET
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.nuovosito.com");
}
</script>
Reindirizzamento 301 su Cold Fusion e con PHP
ColdFusion Redirect
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.nuovo-url.en">
PHP Redirect
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.nuovodominio.com" );
?>
Altri redirect con il 301
JSP (Java) Redirect
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.nuovo-url.it/" );
response.setHeader( "Connection", "close" );
%>
CGI PERL Redirect
$q = new CGI;
print $q->redirect("http://www.nuovo-dominio.com/");
Ruby on Rails Redirect
def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.nuovo-url.it/"
end
Redirect 302 o 307
Il redirect 302 o il redirect 307 sono simili e sono dei redirect temporanei. Cioé trasferiscono solo temporaneamente le informazioni. Google e gli altri motori di ricerca quando trovano questi redirect non trasferiscono le informazioni presenti sulla pagina vecchia perché avvisati che si tratta solo di un redirect temporaneo. Pur indicizzando correttamente la pagina nuova non trasferiscono immediatamente il pagerank e le altre informazioni. In passato c’é stato un abuso di questo tipo di reindirizzamento, venita usato tra l’altro, per ottenere due pagerank, uno per la pagina vecchia e uno per la nuova. È sconsigliabile usare il redirect 302 (o il 307) per periodi molto lunghi.
Alla prossima….
Angelo Palma
Angelo Palma é consulente e web stratega su www.webxall.net. WebXall si occupa dello studio per l’ottimizzazione del codice HTML.
Filed under: .htaccess
[...] metodo migliore é reindirizzare per 301 il sito pincopallino.com sul dominio [...]