Skip to content

In una guida precedente abbiamo presentato tutti gli status code, i diversi valori che possono assumere ed i relativi significati. In questa guida invece analizzeremo gli status code specifici delle redirezioni, per capire cosa cambia tra un redirect e l’altro.

301 – Reindirizzamento permanente

La risorsa che stai cercando non si trova più qui ed è stata spostata ad un altro indirizzo in modo definitivo.

Il redirect 301 è il redirect classico. Con lo status code 301 il web server comunica al client (un browser o un bot) che il documento richiesto è stato spostato verso un altro indirizzo definitivamente. Lo status code 301 comunica che i riferimenti al vecchio indirizzo dovrebbero essere cancellati e aggiornati al nuovo indirizzo.

Google trasferisce PageRank attraverso i redirect 301.

Quando è opportuno usare il redirect 301?

  • Caso 1: quando vuoi eliminare una pagina, usa il 301 per inviare il client verso una pagina alternativa in modo da evitare uno status code 404.
  • Caso 2: quando cambi l’URL di una pagina utilizza il redirect 301 per inviare utenti e bot verso il nuovo indirizzo.
  • Caso 3: quando vuoi trasferire un dominio.
  • Caso 4: quando i collegamenti a URL obsoleti devono essere inviati a una nuova pagina. Ad esempio: se stai unendo due siti web.
  • Caso 5: utilizzi diversi URL per accedere al tuo sito, oppure il sito web ha problemi tecnici e genera più di una homepage. In questi casi dovresti selezionare un singolo URL (canonical URL) come destinazione preferita e utilizzare i reindirizzamenti 301 per inviare traffico al tuo nuovo sito web.
  • Caso 6: hai cambiato in modo permanente il nome di dominio del tuo sito web e desideri passare dal tuo vecchio sito nel modo più semplice possibile e trasferendo PageRank.
  • Caso 7: hai cambiato CMS al tuo sito web e la struttura dell’URL è cambiata.
  • Caso 8: stai convertendo il tuo sito da HTTP a HTTPS.
  • Caso 9: hai cambiato l’URL canonical da www a not-www o viceversa.

302 – Reindirizzamento temporaneo

La risorsa che stai cercando non si trova più qui ed è stata spostata temporaneamente ad un altro indirizzo. La risorsa tornerà a questo indirizzo a breve.

Con lo status code 302 il web server comunica al client (un browser o un bot) che il documento richiesto è stato spostato verso un altro indirizzo temporaneamente. Lo status code 302 comunica che i riferimenti al vecchio indirizzo non dovrebbero essere cancellati e aggiornati al nuovo indirizzo perchè presto verranno ripristinati. Google non trasferisce PageRank attraverso redirect 302, a meno che il 302 non persista per molto tempo, in questo caso Google tratterà il 302 come un 301.

Nonostante il fatto che un reindirizzamento 302 non distribuisca link-juice, ci sono alcuni scenari in cui ha più senso utilizzarne uno. Questo è uno scenario meno comune, semplicemente perché spesso non sposteresti temporaneamente una pagina web, ma ci sono situazioni in cui è appropriato.

Quando è meglio usare il redirect temporaneo 302? Vediamo alcuni esempi:

  • Caso 1: quando hai un sito multi lingua e redirezioni l’utente sulla lingua principale, si consiglia di usare un redirect temporaneo.
  • Caso 2: quando vuoi spostare temporaneamente una pagina, usa il redirect 302 per inviare il client verso una pagina alternativa, consapevolmente che il vecchio URL verrà presto ripristinato.
  • Caso 3: hai un prodotto che non è più disponibile per la vendita, come un articolo stagionale o esaurito, puoi creare un reindirizzamento 302 e indirizzare gli utenti alla pagina delle categorie del tuo negozio web. Dal momento che non possono ordinare il prodotto in quel momento, ha senso mostrare loro prodotti simili che sono attualmente disponibili. Il 302 indica ai motori di ricerca che la pagina è solo temporaneamente non disponibile e che il valore della pagina dovrebbe rimanere intatto anziché essere passato a un altro URL.
  • Caso 4: quando si effettuano A/B test per una pagina web per testarne nuove funzionalità o il design. Questa è in realtà una buona pratica per vedere quale versione è più desiderabile e funzionale o fornisce una migliore esperienza utente. Utilizzando un reindirizzamento 302, puoi ottenere il feedback di clienti e utenti sulla tua nuova pagina senza influire sul posizionamento della pagina originale.

303 – Vedi altro

Un reindirizzamento 303 è uguale a un 302 (cioè temporaneo) tranne per il fatto che la richiesta di follow-up è ora esplicitamente modificata in una richiesta GET e non è richiesta alcuna conferma.

Lo status code HTTP 303 “see other” indica che i reindirizzamenti non si collegano alle risorse appena caricate, ma a un’altra pagina (come una pagina di conferma o una pagina di avanzamento del caricamento). Questo codice di risposta viene solitamente restituito come risultato di PUT o POST. Il metodo utilizzato per visualizzare questa pagina reindirizzata è sempre GET.

Il reindirizzamento 303 indica che una risorsa precedente è stata “sostituita” all’interno di un dominio. Queste situazioni possono coinvolgere script Common Gateway Interface (CGI). La CGI, che è stata ampiamente sostituita da altri tipi di linguaggi e metodi di programmazione, prevede l’invio di dati avanti e indietro tra un server e un’applicazione. Poiché Internet è diventata una rete più funzionale, questa tecnologia ha consentito molte funzionalità web dinamiche.

Parte della base di utilizzo per il reindirizzamento 303 deriva da un concetto chiamato web semantico, supportato dal World Wide Web Consortium. Il web semantico aiuta a sviluppare uno standard comune per la condivisione dei dati sul web.

Un reindirizzamento 303 è da utilizzare quando si ricevono dati con metodo POST da un client (ad esempio, l’invio di un modulo) e si desidera reindirizzare a una nuova pagina web da recuperare utilizzando GET anziché POST (ad esempio, una richiesta di pagina standard). La maggior parte dei client farà la stessa cosa per un 302 o un 303.

307 – Reindirizzamento temporaneo

Il codice di risposta 307 indica che la risorsa richiesta è stata temporaneamente spostata all’URL fornito dall’intestazione HTTP location.

Un reindirizzamento 307 è uguale a un 302 (cioè temporaneo) tranne per il fatto che la richiesta di follow-up è ora esplicitamente uguale alla richiesta originale e la conferma deve essere acquisita dall’utente per metodi di richiesta diversi da GET e HEAD.

Il metodo e il corpo della richiesta originale vengono riutilizzati per eseguire la richiesta reindirizzata. Nei casi in cui si desidera che il metodo utilizzato venga modificato in GET, utilizzare invece lo status code 303. Questo è utile quando vuoi dare una risposta a un metodo PUT che non sia le risorse caricate, ma un messaggio di conferma.

L’unica differenza tra lo status code 307 e 302 è che 307 garantisce che il metodo e il corpo non verranno modificati quando viene effettuata la richiesta reindirizzata. Con 302, alcuni vecchi client modificavano erroneamente il metodo in GET: il comportamento con metodi non GET e 302 è quindi imprevedibile sul web, mentre il comportamento con 307 è prevedibile. Per le richieste GET, il loro comportamento è identico.

308 – Reindirizzamento permanente (sperimentale)

Il codice di risposta 308 indica che la risorsa richiesta è stata spostata definitivamente all’URL fornito dalle intestazioni HTTP location. Un browser reindirizza a questa pagina e i motori di ricerca spostano il link-juice al nuovo URL.

Un reindirizzamento 308 è uguale a un 301 (cioè permanente) eccetto il metodo di richiesta e il corpo non verrà modificato. Infatti, a differenza dal redirect 301, il metodo di richiesta (GET/POST) e il corpo non verranno modificati dal redirect 308, mentre a volte con il redirect 301 potrebbe essere modificato in modo errato in un metodo GET.

Perché esistono così tanti reindirizzamenti?

Perché oltre al cambio URL un redirect comporta altre modifiche, in particolare al metodo e al corpo.

Sintetizzando, poiché si è notato che i browser non si comportavano in modo uniforme di fronte ad un redirect 302. Alcuni client mantenevano lo stesso metodo e corpo dopo il redirect, altri li modificavano, quindi sono state create delle varianti di redirect più specifiche.

Quali reindirizzamenti sono importanti e devo conoscere?

  • Il 302 perché se usato nel modo sbagliato potrebbe disperdere PageRank e quindi far perdere posizioni in SERP. Se lo trovi sul tuo sito, ti consiglio di scoprire perché viene usato e cosa fare al riguardo.
  • Il 301 perché questo è il redirect standard più diffuso, quello da usare nella maggior parte dei casi.

Come vedere gli status code sul browser?

Estensioni Google Chrome per visualizzare le redirezioni
Estensioni Google Chrome per visualizzare le redirezioni

Con la giusta estensione puoi visualizzare lo status code direttamente nel browser, a fianco della barra di navigazione. Per Google Chrome uso un paio di estensioni utili:

Articoli correlati

Autore

Commenti |2

Lascia un commento Lascia un commento
  1. marco 19 commenti

    Ciao Giovanni, grazie per l’articolo e auguri di Buon Anno :)
    Giusto una riflessione e una domanda:
    Non so se ricordi, circa 13/15 anni fà c’era stato un sito web che aveva eseguito un redirect verso il sito del Vaticano; dopo qualche mese appariva questo sito, per un periodo nelle serps di google, ogni volta che l’utente ricercava il sito ufficiale del Vaticano ( non ricordo se era il .com o altro..) tra l’altro rubandone il link Juice..
    Secondo te: che tipologia di redirect avevano effettuato?

    1. Giovanni Sacheli 756 risposte

      Ciao Marco, piacere di rivederti nei commenti e scusa il ritardo nella mia risposta. Purtroppo non riesco a seguire il blog come vorrei :(
      Non ricordo l’evento che racconti, ma posso fare un’ipotesi.

      Sito A: vaticano
      Sito B: nuovo sito in SERP

      15 anni fa i redirect in javascript non sarebbero funzionati con Google, quindi probabilmente era un redirect classico nell’intestazione HTTP da sito A a sito B.
      Poi, visto che il sito B era finito per posizionarsi in SERP, probabilmente ha preso PageRank dal sito A. Questo mi fa pensare che il redirect fosse un 301, dato che a quel periodo gli altri status code 3xx non passavano PageRank.
      Sono solo supposizioni, non conoscendo i fatti ;)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ultimi articoli aggiornati

Richiedi un preventivo SEO e Google Ads

Porta il tuo sito web al livello successivo con l’expertise di EVE Milano. La nostra agenzia di Search Marketing ha ricevuto oltre 1128 richieste di preventivo, un segnale chiaro della fiducia che imprenditori e manager, come te, ripongono nella nostra specializzazione tecnica e verticale nella SEO e PPC. Se la tua organizzazione cerca competenze specifiche per emergere nei risultati di Google, noi siamo pronti a fornire quel valore aggiunto. Affidati alla nostra esperienza per fare la differenza.
Richiedi un preventivo

Non perderti altre guide, iscriviti per ricevere un avviso mensile con gli aggiornamenti del blog!

Iscriviti alla newsletter!

Informativa sui cookies

Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per le finalità di esperienza e misurazione come specificato nella cookie policy. Puoi liberamente prestare, rifiutare o revocare il tuo consenso, in qualsiasi momento, accedendo al pannello delle preferenze. Il rifiuto del consenso può rendere non disponibili le relative funzioni. Usa il pulsante “Accetta” per acconsentire. Usa il pulsante “Rifiuta” per continuare senza accettare.