I Redirect 301 sono un modo per redirezionare l'utente da un contenuto ad un altro.

Perchè ho detto un modo e non il modo?

Perchè avendo specificato 301, parleremo solamente di uno dei tre modi per ridirezionare l'utente.

Il redirect 301, infatti, è il codice numerico (status code) che sta per Moved Permanently, ed indica che il contenuto è stato spostato in eterno.

Gli altri status code sono 302 e 307, che indicano un redirect temporaneo e sono utilizzati rispettivamente in HTTP 1.0 e HTTP 1.1.

In questo articolo vedremo come funzionano i redirect 301, come vengono interpretati dai motori di ricerca, i loro vantaggi ed infine l'implementazione.

Come Funziona un Redirect?

Sostanzialmente il funzionamento di un redirect è molto semplice.

L'utente atterra sulla pagina A.

Il webserver (o la pagina stessa) è configurato per ridirezionare da A a B.

Perfetto: l'header HTTP viene modificato, includendo lo status code che abbiamo visto poco fa, e la pagina di destinazione B.

Tutto qui.

Ora l'utente si ritrova sulla pagina B, e se non ha fatto caso all'URL neanche sa di essere stato redirezionato.

Bene.

La parola Technical SEO ti dice qualcosa? Sapere gestire i redirect 301 è essenziale in questo ambito. Scarica la Technical SEO Checklist e mantieni il tuo sito al top.

Perché Utilizzare i Redirect 301?

C'è un grande vantaggio nell'utilizzare i redirect 301, che vedremo proprio ora.

Abbiamo detto che 301 sta per spostato permanentemente?

Esatto. E questa è anche l'indicazione che ricevono i motori di ricerca.

Il crawler di un motore di ricerca, infatti, subisce la stessa ridirezione che abbiamo visto poco fa.

Leggendo lo status code 301, il crawler viene a conoscenza del* nuovo percorso* in cui l'oggetto indicizzato è stato spostato.

Di conseguenza il motore di ricerca aggiornerà quell'oggetto nel proprio indice, semplicemente sostituendo al vecchio indirizzo, il nuovo.

Carino eh?

E dal punto di vista SEO?

Sicuramente appena hai letto la parola motore di ricerca hai pensato ai vantaggi che ti accennavo.

I redirect 301, infatti, sono una buona pratica per la SEO, proprio perchè permettono di mantenere il posizionamento e l'autorità.

Quindi, quando devo utilizzare un 301?

  • Vuoi spostare una pagina senza perdere il posizionamento e l'autorità dai motori di ricerca;
  • Vuoi spostare una pagina senza perdere il traffico dai referral;

Ovviamente non devi usarli se il redirect è temporaneo.

Come si Implementano?

I redirect 301 (come tutti gli altri) possono essere implementati in due modi:

  • Impostando il redirect dal file di configurazione del webserver;
  • Impostando il cambio di Location lato server (es. con PHP) nella pagina da ridirezionare;
  • Impostando il meta-tag refresh nella pagina da ridirezionare.

Vediamoli uno ad uno.

Redirect 301 su Apache

Se utilizzi il webserver Apache, puoi impostare i redirect 301 nel file di configurazione .htaccess.

Vediamo alcuni esempi pronti per situazione.

Pagine Singole

Redirect 301 /pagina-a /pagina-b

Come vedi questa direttiva è molto semplice ed intuitiva.

Intera Sottodirectory in una Nuova

Redirect 301 /subdir/(.*) /newdir/$1

Ecco, questa già è un po' più intricata. Abbiamo appena introdotto le RegEx (Regular Expressions).

Allora, esistono diversi dialetti di RegEx, ma in questo contesto:

  • .* indica tutti i caratteri;
  • () indica di salvare il pattern indicato tra parentesi, come riferimento;
  • $1 è quel riferimento.

In sostanza, qualsiasi carattere dopo /subdir/, viene riportato dopo /newdir/.

Quindi, ad esempio /subdir/qualsiasi/altra/cosa rimanda a /newdir/qualsiasi/altra/cosa.

Intero Sito su Nuovo Dominio

RewriteEngine On<br></br>
RewriteRule ^(.*) http://newdom.it/$1 [R=301,L]

Tre cose nuove:

  • ^ indica che si prende in considerazione tutta la stringa. Tutto l'URL quindi.
  • R=301 imposta il redirect 301;
  • L indica che questa è l'ultima direttiva di Rewrite.

Puoi ottenere lo stesso risultato utilizzando RedirectMatch invece di Rewrite.

RedirectMatch 301 ^(.*) http://newdom.it/$1

Directory su Sottodominio

RedirectMatch 301 /subdir/(.*) http://subdom.mydom.it/$1

Se hai letto gli esempi precedenti non hai bisogno di nessuna spiegazione :).

Ricapitoliamo

Per il redirect su Apache, abbiamo utilizzato delle direttive nel file .htaccess.
Abbiamo incontrato le direttive Rewrite, appartenenti al modulo mod_rewrite.c.
Redirect e RedirectMatch, invece, appartengono a mod_alias.c.

Redirect 301 su IIS

Se usi Microsoft Internet Information Services, non ti consiglio di andare a modificare il file di configurazione, ma di installare l'estensione URL Rewrite, ed utilizzare il pannello di gestione di IIS.

Se, invece, devi impostare dei semplici redirect senza RegEx, modifica il web.config con questo modo.

<?xml version="1.0"?>
    <configuration>
        <location path="document.asp">
            <system.webServer>
                <httpRedirect enabled="true" destination="document" httpResponseStatus="Permanent" />
            </system.webServer>
        </location>
    </configuration>
</xml>

Implementare i Redirect 301 nella Pagina

Se hai necessità di creare un redirect dalla pagina statica che stai modificando, puoi modificare l'header HTTP con funzioni server-side, oppure utilizzare l'HTML refresh.

Ora vedremo come impostare un redirect 301 con qualche tecnologia web.

In PHP

header("HTTP/1.1 301 Moved Permanently");
header("Location: /newpage.php");

Basta utilizzare la funzione header() all'inizio della pagina da redirezionare.

In ASP / .NET

VBScript
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", " /newpage.asp"
%>
VB.NET
Private Sub Page_Load(object sender, System.EventArgs e)
    Response.Status = "301 Moved Permanently"
    Response.AddHeader("Location","/newpage.aspx")
End Sub

In HTML

A differenza degli altri visti fino ad ora, questo tipo di redirect è client-side, ovvero viene eseguito dal client una volta scaricato il documento HTML.

<meta http-equiv=refresh content="0; URL=/newpage.html">

Tecnicamente indica il numero di secondi che devono passare prima che la pagina si aggiorni, puntando ad un nuovo URL.

Non è un vero e proprio redirect, ma sembra che i motori di ricerca lo trattino come un 301.

In Conclusione

Abbiamo visto che i redirect 301 sono uno strumento indispensabile, che prima o poi ci troviamo a dover usare.

Si utilizzano quando una risorsa viene permanentemente spostata ad un altro indirizzo.

L'utente viene ridirezionato, i motori di ricerca aggiornano i loro indici e noi sorridiamo.

I redirect 301, quindi, rappresentano anche il metodo per non perdere i risultati del duro lavoro di SEO.

Se questo post ti è piaciuto, valuta l'idea di condividerlo ;)