Questo articolo è stato aggiornato in data:

Sai che cos’è un Redirect 301? Ecco una guida completa su come implementarlo, quando e perchè usarlo.

Il Redirect 301 è un redirect permanente (HTTP 301 Moved Permanently), che indica agli spider dei motori di ricerca ed i client HTTP, che un determinato URL è stato trasferito in maniera permanente verso in un nuovo indirizzo. Creare un redirect è una procedura molto semplice ed utilizzata, per risolvere i fastidiosi errori 404 ed evitare che gli spider, continuino a visitare una risorsa vecchia o non più presente su un sito.

Redirect 301

Perchè impostare un Redirect 301?

Voglio anticiparti inoltre, che esistono più forme di forme di redirect, ognuno dei quali con un determinato codice e che segnalerà ai motori, uno specifico codice di intestazione. In ambiente SEO, i redirect sono molto usati in quanto a differenza di altri reindirizzamenti, consentono di spostare un dominio o una pagina ad un altro indirizzo senza perdere il posizionamento ottenuto dalla vecchia pagina. I motivi per cui impostarlo possono essere diversi: quando si cambia la struttura dei permalink di un blog WordPress ad esempio, quando si cambia dominio, e si vuole reindirizzare automaticamente il traffico dal vecchio al nuovo dominio.

I benefici

Quando si crea un sistema di redirect permanenti, ci sono vari benefici, come ad esempio:

  • gli utenti che accedono alle URL vecchie (o il vecchio dominio), sono reindirizzati automaticamente verso le nuove URL;
  • gli spider dei motori di ricerca, capiscono il cambio delle URL del sito e procedono all’aggiornamento delle informazioni in possesso dei motori di ricerca;
  • il motore di ricerca cancella più rapidamente le vecchie URL, sostituendole con quelle nuove;
  • valori come il page rank, la page authority, vengono trasferiti dalle vecchie alle nuove pagine;
[clickToTweet tweet=”Non sai come impostare un redirect 301? Clicca qui!” quote=”Hai cambiato dominio? Hai modificato l’URL di una pagina web? Imposta subito un redirect 301 per non perdere il posizionamento!”]

Vediamo ora invece, cosa succederebbe nel caso in cui non venisse applicato alcun sistema di redirect:

  • gli utenti accederebbero ancora alle vecchie URL del sito, ricevendo una pagina di errore (404 – pagina non trovata);
  • le nuove URL verrebbero lentamente indicizzate dai motori di ricerca come nuovi contenuti; col tempo però, potrebbero essere viste come contenuti duplicati delle vecchie URL;
  • i backlink e la page authority delle vecchie pagine verrebbero perse, ciò significa che il posizionamento delle nuove pagine partirà da zero
  • gli error 404 aumenterebbero notevolmente (relativi alle vecchie URL) e di conseguenza, il motore di ricerca potrebbe valutare negativamente il giudizio di qualità ed affidabilità del sito web; con probabile caduta generale nelle SERP, se non penalizzazioni;

Come hai visto, impostare un sistema di redirect permanenti è fondamentale, per partire col piede giusto, non perdere il posizionamento conquistato ed evitare spiacevoli incidenti con i motori di ricerca. Passiamo ora, all’implementazione di questo tipo di redirect nei vari linguaggi server.

Come si implementa?

Il 301 si può implementare in diversi modi. I più conosciuti, sono sicuramente con ASP, PHP o tramite il file htaccess. Vediamo dunque, come impostare un redirect 301 in queste varie modalità.

Esempi di Redirect utilizzando i vari linguaggi lato server

Vediamo come impostare i 301, a seconda dei linguaggio di programmazione utilizzato sul server. Partiamo!

ASP

Ecco il codice per per impostare un redirect ASP:

<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, ” http://www.miosito.it/nuova_pagina.asp”
%>

ASP .NET – C#

Codice:

private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(“Location”,”http://www.miosito.it/nuova_pagina.aspx”);
}

PHP

Ecco il codice per impostare un redirect PHP:

<?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.miosito.it/nuova_pagina.php” );
?>

Redirect 301 con Apache, tramite il file Htaccess

Vediamo ora, una serie di situazione nelle quali è possibile impostare un reindirizzamento 301 tramite il htaccess. In linea di massima, gli esempi più frequenti sono i seguenti:

  • Redirect da una pagina vecchia, ad una nuova, con un URL diverso;
  • Redirect da un vecchio dominio, ad un nuovo dominio;
  • Redirect da un vecchio sotto dominio, ad un nuovo sotto dominio;
  • Impostare un dominio con e senza “www” davanti;

Ecco i codici a seconda dei differenti casi.

Redirect da una pagina vecchia ad una nuova

Se hai spostato una pagina ad un nuovo indirizzo, devi impostare un 301 per segnalare ai motori di ricerca, lo spostamento della pagina. Il codice da utilizzare per situazioni del genere, è il seguente:

redirect 301 /articolo-vecchio/ http://www.miosito.it/articolo-nuovo/

Come anticipato in precedenza, il 301 va inserito nel file .htaccess. Subito dopo “301”, inserisci il vecchio url e subito dopo il nuovo indirizzo; assicurati che tra i due URL ci siano uno spazio. Ricordati inoltre, di non inserire nel primo indirizzo il “www” davanti, ma solo nel secondo.

Da vecchio dominio a nuovo dominio

Se hai acquistato un nuovo dominio internet, e devi impostare una redirect 301, per reindirizzare il tuo vecchio sito verso il nuovo, devi utilizzare il seguente codice nel file htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.vecchiodominio\.it$
RewriteRule (.*) http://www.nuovodominio.it/$1 [R=301,L] RewriteCond %{HTTP_HOST} !^vecchiodominio\.it$
RewriteRule (.*) http://www.nuovodominio.it/$1 [R=301,L]

Redirect da vecchio sotto dominio, a nuovo sotto dominio

Ecco il codice da utilizzare, per reindirizzare un vecchio sotto dominio, ad uno nuovo:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^sottodominio.vecchio.it$
RewriteRule ^(.*)$ http://sottodominio.nuovodominio.it/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.sottodominio.vecchiodominio.it$
RewriteRule ^(.*)$ http://sottodominio.nuovodominio.it/$1 [R=301,L]

Da WWW a senza WWW

Ecco il codice per cambiare la struttura di un dominio, con WWW a senza WWW. Il codice per il redirect è il seguente:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Redirect 301 HTML

Impostare nell’header della risposta HTTP il Meta Tag Refresh a 0.

<META HTTP-EQUIV=Refresh CONTENT=”0″; URL=”http://www.iltuonuovosito.com”>

Perl

Ecco il codice da utilizzare:

#!/usr/bin/perl -w
use strict;
print “Status: 301 Moved Permanentlyn”;
print “Location: http://www.mioSito.com/NuovaPaginann”;
exit;

Conclusioni:

E’ tutto, abbiamo visto in questo articolo quando e perchè impostare un Redirect 301, evitando di perdere il posizionamento ed il traffico ottenuto fino a quel momento. Per qualsiasi problema o domanda, lasciate un commento. Alla prossima!