seojuice

Redirect 301 e 302: quando utilizzare ciascuno

Vadim Kravcenko
Vadim Kravcenko
· Updated · 10 min read

In sintesi: se lo spostamento è permanente usa un 301, se è davvero temporaneo usa un 302. Scegli il codice sbagliato e Google indicizzerà l’URL sbagliato. Consulta la tabella decisionale qui sotto; se vuoi capire il meccanismo leggi poi la sezione sulla canonicalizzazione.

La risposta in 30 secondi (tabella decisionale)

Prima di tutto: ecco la mappa scenario-codice. Se hai fretta, l’articolo è tutto qui.

Diagramma di flusso che mostra il processo decisionale per i redirect: lo spostamento è permanente? Sì porta al 301. Il metodo va preservato? Sì porta al 308. Temporaneo? Sì porta al 302 o al 307 se occorre preservare il metodo.
Albero decisionale dei redirect: quale codice di stato HTTP usare in base a permanenza e requisiti sul metodo.
Scenario Codice Motivo
Migrazione del sito / cambio dominio 301 Permanente. Vuoi che Google reindicizzi il nuovo dominio.
Consolidamento HTTP a HTTPS 301 Permanente. I vecchi URL non torneranno.
Test A/B (con ritorno all’originale) 302 Temporaneo. Mantieni l’URL originale come canonico.
Pagina di manutenzione 302 Temporaneo. La pagina reale tornerà.
Prodotto esaurito (tornerà disponibile) 302 Temporaneo. Conserva il posizionamento dell’URL del prodotto.
Prodotto fuori produzione (sparito per sempre) 301 Permanente. Trasferisci l’equity al sostituto più vicino.
Routing geografico / linguistico 302 Temporaneo. L’URL originale serve ancora la maggior parte degli utenti.
Landing page di una campagna marketing 302 Temporaneo. A fine campagna l’URL torna normale.
Flusso POST di login / checkout 307 Method-safe. Preserva il body POST; con 302 verrebbe convertito in GET.
Consolidamento di URL duplicati (permanente) 301 Permanente. D’ora in poi esisterà un solo canonico.

Se ti ritrovi a chiederti se qualcosa sia «abbastanza permanente» per un 301, probabilmente lo è. Il criterio è se intendi mantenere l’URL di destinazione nel lungo periodo — se la risposta è sì, usa il 301.

Che cos’è davvero un redirect

Quando un browser o uno spider richiede un URL, il server può rispondere con un codice 3xx invece del contenuto della pagina. Quel codice dice: «La risorsa che cerchi è altrove». L’header Location nella risposta indica al client dove andare.

La famiglia 3xx copre vari codici: 301 (Moved Permanently), 302 (Found / Moved Temporarily), 303 (See Other), 307 (Temporary Redirect), 308 (Permanent Redirect) e qualche altro. Per la SEO interessano 301, 302, 307 e 308; gli altri sono casi di nicchia.

301: cosa significa «permanente» per Google

Un 301 segnala a browser e pipeline di indicizzazione che il vecchio URL è sparito per sempre. La documentazione ufficiale di Google è chiara: «Se devi cambiare l’URL di una pagina nei risultati di ricerca, usa quando possibile un redirect permanente lato server».

La pipeline di indicizzazione tratta il 301 come un segnale canonico. Google segue il redirect e poi considera canonica la destinazione. Col tempo il vecchio URL scompare dai risultati e il nuovo lo sostituisce. Ranking, cache e segnali si consolidano sulla destinazione.

Un consiglio dall’esperienza: permanente significa permanente. Google raccomanda i redirect permanenti «quando sei sicuro che non verranno rimossi». Se pubblichi un 301 e lo togli sei mesi dopo, il segnale non si annulla in modo pulito: Googlebot deve ricrawlare tutto. Ho visto clienti fare marcia indietro e passare settimane a chiedersi perché le posizioni fossero crollate. Tieni il 301 per almeno un anno, meglio di più.

302: lo spostamento temporaneo e la trappola della consolidazione

Un 302 dice a Google: mantieni in indice l’URL originale, lo spostamento è temporaneo. Le linee guida di Google sono nette: «Se vuoi solo mandare gli utenti altrove per un periodo, usa un redirect temporaneo».

Googlebot segue un 302 come un 301; la differenza è cosa fa poi la pipeline di indicizzazione. Con un redirect temporaneo Google non tratta la destinazione come canonica: rimane l’URL sorgente. Per una pagina di manutenzione o un test A/B è esattamente ciò che vuoi.

La trappola è usare un 302 per uno spostamento permanente perché «lo cambiamo dopo». A volte Google reinterpreta un 302 longevo come 301, ma non farci affidamento. Ho visto domini migrati che per mesi reindirizzavano in 302 e Google non ha mai reindicizzato a dovere i nuovi URL. Sii esplicito.

Il mito della perdita di link equity (e cosa cambia davvero)

Quasi tutti gli articoli sbagliano su questo punto: i 302 non disperdono link equity.

Nel 2016 Gary Illyes, Google Webmaster Trends Analyst, lo ha detto chiaramente: «I redirect 30x non perdono più PageRank». Vale per 301, 302 e tutti i 3xx. Tutti passano PageRank.

John Mueller lo ha spiegato in un Webmaster Hangout: «Possiamo trasferire PageRank tramite 301 e 302. In pratica usiamo questi redirect per scegliere un canonico. Così concentriamo tutti i segnali su quell’URL».

Il meccanismo quindi è la consolidazione canonica, non un «tubo» che passa juice da un URL all’altro. I segnali si accumulano sull’URL che Google considera canonico. Il tipo di redirect decide quale URL sia quello.

Quindi la vera domanda è: quale URL vuoi che Google tratti come canonico? Un 301 rende canonica la destinazione. Un 302 mantiene canonica la sorgente. Tutto qui.

(Nota: la riconciliazione dei segnali non è istantanea neppure con un 301. Google deve prima ricrawlare l’URL vecchio e la consolidazione avviene su più cicli di crawl. Inoltre la pertinenza della destinazione conta: un 301 da un blog di cucina a una landing software non si consolida a meraviglia.)

301 vs 302 a colpo d’occhio

Proprietà 301 Moved Permanently 302 Found
Significato HTTP Risorsa spostata in modo permanente Risorsa spostata in modo temporaneo
Segnale canonico per Google L’URL di destinazione diventa canonico L’URL sorgente resta canonico
Passa PageRank?
URL che Google indicizza Destinazione (nuovo) Sorgente (originale)
Metodo preservato su POST? No (storicamente passa a GET) No (storicamente passa a GET)
Quando usarlo Spostamenti permanenti, migrazioni, HTTPS, consolidamento Test A/B, manutenzione, routing geo, campagne
Costo di un’inversione Alto: Google deve riprocessare Basso: l’URL originale è già indicizzato

307 e 308: i codici di cui nessuno parla

307 e 308 esistono perché 301 e 302 hanno un problema di cambio metodo. Quando un browser segue un 301 o 302 in arrivo da una richiesta POST, la Fetch spec permette di cambiare il metodo in GET. Può rompere di nascosto login, checkout e API.

307 risolve il problema per i redirect temporanei. MDN è chiaro: «307 garantisce che il client non cambi metodo e body. Con 302 alcuni client vecchi lo cambiano in GET». Se devi reindirizzare temporaneamente un form basato su POST, 307 è il codice giusto.

308 fa lo stesso per i redirect permanenti. Proibisce il cambio di metodo, a differenza del 301, dove storicamente i client forzano il GET. Se stai reindirizzando in modo permanente un endpoint API che riceve POST, 308 è più rigoroso e sicuro.

Per le pagine basate solo su GET (la maggior parte del web) 307 e 302 si comportano allo stesso modo, così come 308 e 301. La differenza conta solo con corpi POST o PUT.

Tabella che mostra come Google interpreta i vari tipi di redirect: 301 e 308 come permanenti con segnale canonico verso la destinazione; 302, 303 e 307 come temporanei mantenendo canonica la sorgente; meta-refresh a 0 secondi come permanente; meta-refresh con ritardo maggiore come temporaneo; redirect JavaScript più lenti e meno affidabili dei redirect server-side.
Come la pipeline di indicizzazione di Google interpreta i diversi redirect. Fonte: Google Search Central.

Un’ultima nota: esistono anche i redirect via meta-refresh e quelli in JavaScript (window.location). Google considera un meta-refresh con ritardo 0 s come permanente (equivalente a 301) e con qualsiasi ritardo come temporaneo. I redirect via JavaScript sono un’altra storia: Google può seguirli durante il rendering, ma sono più lenti da processare, possono essere saltati nei crawl senza rendering completo e non portano un segnale esplicito di permanenza/temporaneità. I redirect lato server restano la scelta migliore.

La trappola delle catene di redirect

Le catene si formano quando reindirizzi A → B, poi B → C, ma non aggiorni A. Utente e Googlebot seguono A → B → C invece di andare dritti a C.

Confronto: BAD mostra una catena di redirect da old-page a /v2 a /v3 a /final con annotazioni su latenza e spreco di crawl a ogni hop. GOOD mostra un singolo redirect diretto da old-page a /final.
Catene di redirect vs redirect diretti. Ogni hop inutile aggiunge latenza e rischio di crawl.

Ogni hop aggiunge latenza misurabile in millisecondi, che influisce sui Core Web Vitals su mobile. Ogni hop è anche un punto di rottura: se un URL nella catena restituisce 404, tutto ciò che lo precede smette di funzionare.

La documentazione Google sul site-move dice che Googlebot può seguire fino a 10 hop, ma consiglia di puntare direttamente alla destinazione finale. John Mueller è più specifico: «Cercherei di restare sotto i 5 hop per gli URL frequentemente crawlati». Tolleranza teorica 10, soglia pratica 5, obiettivo reale 1.

Le catene si accumulano silenziosamente dopo anni di migrazioni. Un sito passato da .com a .io e di nuovo a .com, con due cambi di struttura URL e test A/B sulle categorie, può avere catene senza che nessuno se ne accorga. (Nei nostri audit con SEOJuice, la scoperta più comune è una noiosa catena da quattro hop su un URL ad alto traffico lasciata da una vecchia migrazione. Al secondo posto le catene da campagne e test A/B, di solito perché il 302 temporaneo non è mai stato ripulito.) Poi qualcuno esegue un crawl e trova la homepage a tre hop.

La soluzione è sempre la stessa: identifica la destinazione finale e aggiorna il primo redirect perché punti lì direttamente. Collassalo. Non aspettare che Google navighi la catena.

I loop sono il caso patologico: A → B e B → A, il browser restituisce ERR_TOO_MANY_REDIRECTS. Di solito è una regola HTTPS mal configurata o un redirect del CMS che crea un ciclo. Gli strumenti di audit li individuano subito.

Come fare audit dei redirect sul tuo sito

Cosa cercare:

  • Codice sbagliato per lo scenario: una migrazione permanente servita come 302 o un test temporaneo diventato permanente senza passare a 301
  • Catene: qualunque sequenza A → B → C dove potresti fare A → C diretto
  • Loop: qualunque ciclo che genera ERR_TOO_MANY_REDIRECTS
  • Redirect verso 404: l’URL di destinazione non esiste più; stai mandando utenti e bot in un vicolo cieco
  • 302 stantii: contenuti spostati mesi o anni fa mai promossi a permanenti

Per un controllo veloce a mano, curl -I https://yourdomain.com/old-url mostra codice di stato e header Location senza caricare la pagina. Gli strumenti di sviluppo del browser (Network tab, «Preserve log» selezionato) mostrano l’intera sequenza di redirect per ogni URL. Bene per spot-check; per copertura sistematica serve un crawler.

Screenshot dello strumento di audit SEOJuice che mostra problemi di redirect segnalati: una catena di redirect, un 302 che dovrebbe essere 301 e un redirect che punta a una pagina 404.
Lo strumento di audit di SEOJuice che evidenzia problemi di redirect: catene, codici errati e redirect verso dead-end.

L’audit SEOJuice scansiona il sito e segnala catene, loop, codici errati e hop verso destinazioni 4xx. È il modo più rapido per un quadro completo senza fare centinaia di curl. Controlla anche gli URL ad alto traffico individuati nel tuo audit di igiene SEO: sono quelli dove una catena nascosta costa davvero.

Le single-page application meritano attenzione extra. Il routing JS può creare comportamenti simili a redirect che i crawler lato server non vedono. Se usi React o Next.js, leggi le note su gestione dei redirect nelle SPA. Gli edge case con window.location e il routing client-side interagiscono con l’esecuzione JavaScript di Google in modi tutt’altro che ovvi.

Domande frequenti

I redirect 302 passano link equity (valore SEO)?

Sì. Google ha confermato che il PageRank fluisce tramite 301, 302 e tutti i redirect 3xx. Gary Illyes dichiarò nel 2016 che «i redirect 30x non perdono più PageRank» e John Mueller spiegò che 301 e 302 inoltrano i segnali via consolidamento canonico. Il tipo di redirect controlla quale URL resta in indice, non se l’equity passa.

È meglio 301 o 302 per la SEO?

Nessuno dei due è «migliore» in assoluto. Conta la permanenza dello spostamento. Usa 301 quando l’URL di destinazione è quello che vuoi indicizzare d’ora in poi. Usa 302 quando l’URL originale deve restare indicizzato e intendi davvero ripristinarlo. Sbagliare non fa perdere link equity; mette l’URL sbagliato nell’indice di Google.

Quanto tempo impiega Google a recepire un 301?

Non c’è una tempistica fissa. Google deve ricrawlare l’URL vecchio prima di processare il segnale; può servire da pochi giorni a diverse settimane a seconda della frequenza di crawl. Mantieni il 301 attivo per almeno un anno. Rimuoverlo prima annulla il segnale canonico e dovrai aspettare che Googlebot ricrawl e riprocessi tutto da capo.

Troppe catene di redirect possono danneggiare il ranking?

Sì, ma indirettamente. Le catene aggiungono latenza, sprecano crawl budget e introducono punti di errore. Google raccomanda di reindirizzare direttamente alla destinazione finale; Mueller consiglia meno di 5 hop per gli URL più crawlati. L’effetto deriva da caricamenti più lenti, minore efficienza di crawl e rischio che un hop intermedio rotto mandi tutto in errore — non da una penalizzazione diretta.

Approfondimenti correlati:

Esegui un audit SEO gratuito per trovare catene, loop, codici sbagliati e hop verso pagine morte sul tuo sito.

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "I redirect 302 passano link equity (valore SEO)?", "acceptedAnswer": { "@type": "Answer", "text": "Sì. Google ha confermato che il PageRank fluisce tramite 301, 302 e tutti i redirect 3xx. Gary Illyes dichiarò nel 2016 che \"i redirect 30x non perdono più PageRank\" e John Mueller spiegò che 301 e 302 inoltrano i segnali via consolidamento canonico. Il tipo di redirect controlla quale URL Google mantiene in indice, non se l'equity passa." } }, { "@type": "Question", "name": "È meglio 301 o 302 per la SEO?", "acceptedAnswer": { "@type": "Answer", "text": "Nessuno dei due è intrinsecamente migliore. Dipende se lo spostamento è permanente. Usa 301 quando l'URL di destinazione è quello che vuoi indicizzare in futuro. Usa 302 quando l'URL originale deve restare indicizzato e intendi ripristinarlo. Sbagliare non fa perdere link equity; mette l'URL sbagliato nell'indice di Google." } }, { "@type": "Question", "name": "Quanto tempo impiega Google a recepire un 301?", "acceptedAnswer": { "@type": "Answer", "text": "Non esiste una tempistica fissa. Google deve ricrawlare l'URL vecchio prima di processare il segnale, operazione che può richiedere da pochi giorni a diverse settimane a seconda della frequenza di crawl. Tieni il 301 attivo per almeno un anno. Rimuoverlo in anticipo annulla il segnale canonico e costringe Googlebot a ricrawlare e riprocessare tutto da capo." } }, { "@type": "Question", "name": "Troppe catene di redirect possono danneggiare il ranking?", "acceptedAnswer": { "@type": "Answer", "text": "Sì, ma in modo indiretto. Le catene di redirect aumentano la latenza, sprecano crawl budget e introducono punti di errore. Google consiglia di reindirizzare direttamente alla destinazione finale; John Mueller suggerisce meno di 5 hop per gli URL più crawlati. Il problema deriva da caricamenti più lenti, minore efficienza di crawl e dal rischio che un hop intermedio rotto interrompa la catena, non da una penalizzazione diretta." } } ] } </script>