Redirect HTTP

Che cos’è davvero un redirect HTTP — un codice di stato 3xx più un header Location — il panorama 301/302/303/307/308, come implementarli e la differenza tra redirect e canonical: l’hub del sottocluster sui redirect.

1 segnale di evidenza in questa pagina

Un redirect è una risposta HTTP con un codice di stato 3xx e un header Location che invia browser e crawler da un vecchio URL a uno nuovo. Google li divide in due categorie: i permanenti (301/308) trasmettono un forte segnale di canonicalizzazione e spostano in avanti i segnali di ranking; i temporanei (302/303/307) trasmettono soltanto un segnale debole. All’interno di ciascuna categoria, i codici differiscono per la conservazione del metodo HTTP: 307/308 lo mantengono, 301/302 potrebbero non farlo. Implementali lato server (.htaccess/nginx), sul CDN o all’edge, oppure tramite un plugin del CMS; i redirect JavaScript e meta refresh sono più deboli perché dipendono dal rendering. Un redirect non è un tag canonical: usa il redirect quando in futuro deve esistere un solo URL, il canonical quando più URL devono restare attivi. Questo hub traccia l’intero panorama e rimanda agli approfondimenti.

In breve — Un redirect è una risposta HTTP con un codice di stato 3xx e un header Location: prima viene il protocollo, poi la SEO. Google raggruppa i codici in due categorie di canonicalizzazione: permanenti (301/308) = segnale forte, con consolidamento in avanti dei segnali; temporanei (302/303/307) = segnale debole, con segnali che di solito restano sull’origine, anche se un redirect temporaneo mantenuto a lungo può cambiare trattamento. All’interno di ciascuna categoria, 307 e 308 preservano metodo e corpo HTTP, mentre 301 e 302 potrebbero non farlo. Implementali sul server, sul CDN o all’edge — la mia preferenza — oppure tramite un plugin del CMS; i redirect JavaScript e i meta refresh ritardati sono più deboli perché dipendono dal rendering. Un singolo redirect corretto non disperde PageRank: i veri rischi sono le catene, da evitare, e i loop, che i motori di ricerca ignorano. Mantieni i redirect per almeno un anno. E ricorda che un redirect non è un tag canonical.

Che cos’è davvero un redirect a livello di protocollo

I codici di stato dei redirect hanno una semantica standardizzata per la gestione del metodo. Prova a sostegno di questa affermazione Primary standard or official documentation supporting the adjacent article claim. Ambito: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Attendibilità: alta · Verificato: RFC 9110: Redirection Le linee guida per la ricerca distinguono segnali permanenti e temporanei e consigliano redirect diretti lato server per gli spostamenti. Prova a sostegno di questa affermazione Primary standard or official documentation supporting the adjacent article claim. Ambito: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Attendibilità: alta · Verificato: Google: Redirects and Search

Molti contenuti SEO saltano subito a “301 significa permanente” senza spiegare che cosa sia un redirect. Vale la pena partire dalle fondamenta, perché il meccanismo chiarisce tutto ciò che viene dopo. Secondo MDN, “redirection is triggered by a server sending a special redirect response to a request. Redirect responses have status codes that start with 3, and a Location header holding the URL to redirect to.” (traduzione): «il reindirizzamento viene attivato quando un server invia una speciale risposta di redirect a una richiesta. Le risposte di redirect hanno codici di stato che iniziano con 3 e un header Location contenente l’URL verso cui reindirizzare».

Un redirect è quindi formato da due elementi che viaggiano insieme: un codice di stato 3xx — 301, 302, 303, 307, 308… — e un header Location che indica la destinazione. Il browser o il crawler legge la risposta e richiede di nuovo l’URL contenuto in Location. Il codice di stato esprime la semantica — permanente o temporaneo, con conservazione o meno del metodo — mentre l’header Location fornisce l’indirizzo. Tutto ciò che interessa a chi fa SEO dipende dal codice 3xx inviato.

La lettura SEO di questo meccanismo, come l’ho formulata nel mio articolo 11 Types Of Redirects & Their SEO Impact per Ahrefs, è la seguente: “A redirect is a way to send people and bots to a new URL when they request the old URL, but the page has changed locations.” (traduzione): «un redirect è un modo per inviare persone e bot a un nuovo URL quando richiedono quello vecchio, ma la pagina ha cambiato indirizzo».

Perché i redirect contano per la SEO

La documentazione di Google sui redirect ne descrive lo scopo con chiarezza: “Redirecting URLs is the practice of resolving an existing URL to a different one, effectively telling your visitors and Google Search that a page has a new location.” (traduzione): «reindirizzare gli URL significa risolvere un URL esistente verso uno diverso, comunicando di fatto ai visitatori e alla Ricerca Google che una pagina ha un nuovo indirizzo». Le conseguenze SEO si dividono nettamente in base alla durata dello spostamento:

  • I redirect permanenti mostrano nei risultati di ricerca la nuova destinazione.
  • I redirect temporanei mantengono nei risultati di ricerca la pagina di origine.

Esiste anche la dimensione dell’equità dei link. Google tiene traccia di entrambe le estremità di un redirect: “When you redirect a URL, Google keeps track of both the redirect source (the old URL) and the redirect target (the new URL). One of the URLs will be the canonical; which one, depends on signals such as whether the redirect was temporary or permanent.” (traduzione): «quando reindirizzi un URL, Google tiene traccia sia dell’origine del redirect, cioè il vecchio URL, sia della destinazione, cioè il nuovo URL. Uno dei due sarà canonico; quale dipende da segnali come la natura temporanea o permanente del redirect». I redirect permanenti consolidano i segnali in avanti, sul nuovo URL; quelli temporanei di solito li lasciano sul vecchio.

Il panorama dei redirect: 301, 302, 303, 307 e 308

Ecco l’intera famiglia in sintesi. Ogni codice ha un proprio approfondimento in questo sottocluster; consulta “Dove proseguire”:

  • 301 (Moved Permanently) — il redirect permanente più comune. È un segnale di canonicalizzazione forte e consolida in avanti i segnali di ranking. Nella documentazione per i crawler, Google afferma: “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (traduzione): «Google segue il redirect e i suoi sistemi lo usano come segnale forte affinché venga elaborata la destinazione».
  • 302 (Found) — il redirect temporaneo standard. Google lo segue: “and Google systems use the redirect as a weak signal.” (traduzione): «e i sistemi di Google usano il redirect come segnale debole». Debole non significa nullo: mantenendo un 302 abbastanza a lungo, potrebbe finire per essere trattato come un 301.
  • 303 (See Other) — l’eccezione. Rientra nella categoria temporanea ed è il codice alla base del modello Post/Redirect/Get: invii un modulo e vieni inoltrato a una pagina dei risultati tramite GET. È raro nella SEO e il suo trattamento è davvero poco chiaro; come ho già osservato, per Google i 303 hanno un trattamento non definito e possono comportarsi come un 301 o un 302 a seconda della loro funzione.
  • 307 (Temporary Redirect) — ha lo stesso significato SEO di un 302, ma preserva metodo e corpo HTTP. La documentazione di Google è esplicita: 307 è “equivalent to 302.” (traduzione): «equivalente a 302». I 307 possono inoltre comparire automaticamente sui siti HTTPS che usano HSTS.
  • 308 (Permanent Redirect) — ha lo stesso significato SEO di un 301, ma preserva metodo e corpo. Google lo definisce “equivalent to 301.” (traduzione): «equivalente a 301».

Il dettaglio sulla conservazione del metodo — 307 e 308 mantengono metodo e corpo originali, mentre 301 e 302 consentono al client di trasformare un POST in GET durante il passaggio — non cambia il ranking di Google, ma conta molto quando reindirizzi l’invio di moduli o chiamate API. Google stesso invita a non scegliere superficialmente: “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.” (traduzione): «anche se Google tratta questi codici di stato allo stesso modo, ricorda che sono semanticamente diversi. Usa il codice adatto al redirect affinché altri client, come lettori elettronici o altri motori di ricerca, possano trarne vantaggio». Trovi il confronto completo nella scheda Schede riassuntive.

Due categorie, una distinzione. La documentazione di Google descrive i redirect permanenti — 301, 308, meta refresh immediato e location JavaScript — come casi in cui “the indexing pipeline uses the redirect as a signal that the redirect target should be canonical,” (traduzione): «la pipeline di indicizzazione usa il redirect come segnale che la destinazione debba essere canonica»; per quelli temporanei — 302, 303, 307 e meta refresh ritardato — afferma invece che “the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical.” (traduzione): «la pipeline di indicizzazione non usa il redirect come segnale che la destinazione debba essere canonica».

Prova a sostegno di questa affermazione Google Search uses a permanent redirect as a signal that the redirect target should be canonical; this is not a guarantee that the target will be indexed or rank in a particular way. Ambito: redirect interpretation and canonical signals Attendibilità: alta · Verificato: Redirects and Google Search

Il mito del PageRank è morto. La vecchia convinzione secondo cui i redirect “perdono il 10-15% dell’equità dei link” non è vera da anni. Nel 2016 Gary Illyes di Google ha dichiarato che “30x redirects don’t lose PageRank anymore,” (traduzione): «i redirect 30x non perdono più PageRank»; John Mueller osservò che non era nemmeno un’informazione nuova. Un singolo redirect implementato correttamente trasferisce sostanzialmente tutto il valore dei segnali della pagina. I costi derivano da catene e loop, non dall’esistenza del redirect.

Per quanto tempo mantenere un redirect. Le linee guida di Google sulle migrazioni consigliano di “keep the redirects for as long as possible, generally at least 1 year” (traduzione): «mantenere i redirect il più a lungo possibile, in genere almeno un anno», così da trasferire tutti i segnali ai nuovi URL. Gary Illyes avanzò l’idea che “after 1 y all signals had time to pass on from A to B.” (traduzione): «dopo un anno tutti i segnali avevano avuto il tempo di passare da A a B». Ho messo alla prova questa ipotesi: ho rimosso i redirect 301 da quattro articoli di Ahrefs verso i quali erano stati reindirizzati contenuti più vecchi e ho osservato che cosa accadeva. Si è verificato “a clear drop in referring domains after I did this,” (traduzione): «un netto calo dei domini di riferimento dopo la rimozione», ma “not much drop in traffic to these posts.” (traduzione): «un calo minimo del traffico verso questi articoli». La mia conclusione onesta è: “I’m not willing to conclusively say that permanent redirects pass value even after one year, but what Gary said seems to mostly hold true.” (traduzione): «non sono disposto ad affermare in modo definitivo che i redirect permanenti continuino a trasferire valore dopo un anno, ma quanto detto da Gary sembra valere nella maggior parte dei casi». La scelta prudente resta questa: non rimuovere con leggerezza i vecchi redirect.

Catene e loop di redirect

  • Una catena di redirect contiene più di un passaggio tra l’URL richiesto e la destinazione finale, per esempio Pagina 1 → Pagina 2 → Pagina 3. Google segue fino a 10 passaggi di redirect: “By default, Google’s crawlers follow up to 10 redirect hops” (traduzione): «per impostazione predefinita, i crawler di Google seguono fino a 10 passaggi di redirect». Tuttavia, le attuali linee guida sulle migrazioni consigliano di evitare le catene e, se inevitabili, di limitarle idealmente a non più di 3 e comunque a meno di 5 passaggi. Dieci è il limite massimo del crawler; da 3 a 5 è una raccomandazione pratica, non un limite in conflitto. Le catene aumentano la latenza, sprecano crawl budget e rendono meno chiari i dati analitici.
  • Un loop di redirect è una catena che si morde la coda: un URL reindirizza verso se stesso o verso un punto precedente della catena, quindi non si risolve mai. I browser mostrano un errore per troppi redirect e i motori di ricerca rinunciano. Come ha spiegato John Mueller: “a redirect loop is a URL that doesn’t work, so it’s essentially a broken link. We ignore these for search.” (traduzione): «un loop di redirect è un URL che non funziona, quindi in sostanza è un link interrotto. Lo ignoriamo per la ricerca». I loop intrappolano anche i crawler e consumano risorse del server.

Dietro il noto valore di cinque passaggi esistono anche dichiarazioni datate di un rappresentante Google. In un webmaster hangout del 2014, al minuto 46:03, John Mueller descrisse Googlebot come capace di seguire fino a cinque redirect in una singola scansione e, se ne restavano altri, di proseguire alla scansione successiva. Nel 2020 disse separatamente che Google seguiva fino a cinque passaggi per tentativo di scansione. Queste dichiarazioni storiche aiutano a spiegare quel numero, ma non sostituiscono la documentazione attuale né garantiscono che ogni lunga catena venga ripresa secondo una pianificazione precisa.

La mia osservazione indipendente da professionista è che Google spesso riprende le catene più lunghe e io uso circa cinque passaggi come soglia di priorità per la correzione. È un giudizio operativo basato su ciò che ho visto, non un limite della piattaforma Google. Quando controlli i redirect, l’obiettivo resta un unico passaggio diretto.

Entrambi i problemi hanno un articolo dedicato più avanti.

Come implementare i redirect

Non esiste un unico posto “giusto” in cui configurare un redirect: scegli quello che riesci a mantenere nel tempo.

  • Configurazione lato server. File .htaccess di Apache, regole nginx o script lato server. È l’impostazione predefinita per la maggior parte dei siti e la più affidabile. Su WordPress, “most WordPress installs will be running Apache and the plugins used for redirecting will actually be editing a website’s .htaccess file” (traduzione): «la maggior parte delle installazioni WordPress usa Apache e i plugin per i redirect modificano in realtà il file .htaccess del sito»: il plugin è soltanto un’interfaccia più accessibile.
  • CDN o edge. Le regole Cloudflare, gli edge worker e soluzioni analoghe intervengono prima che la richiesta raggiunga l’origine. È la soluzione che preferisco: “I typically prefer to have redirects on the edge (CDN-level) over having them on the server.” (traduzione): «in genere preferisco applicare i redirect all’edge, a livello CDN, anziché sul server». Detto questo, per la maggior parte delle persone “always recommend going with what is easiest for you to implement. For many people that is server-level redirects.” (traduzione): «consiglio sempre ciò che è più facile da implementare; per molti sono i redirect a livello server».
  • Lato client: meta refresh. Un tag <meta http-equiv="refresh">. Google interpreta un meta refresh immediato, dopo 0 secondi, come permanente e uno ritardato come temporaneo. È più lento e macchinoso di un redirect del server, ma a volte è l’unica leva disponibile.
  • Lato client: JavaScript. Uno script imposta window.location. Google può rispettarlo, ma soltanto se il rendering riesce, una fase separata della pipeline che talvolta fallisce. Il consiglio di Google è: “Only use JavaScript redirects if you can’t do server-side or meta refresh redirects.” (traduzione): «usa i redirect JavaScript soltanto se non puoi usare redirect lato server o meta refresh». Per i redirect permanenti, il mio ordine consigliato rispecchia questa scala di affidabilità: 308 / 301 → meta refresh 0 → JavaScript → crypto.

Redirect o tag canonical

Risolvono problemi diversi, ma vengono continuamente confusi.

  • Redirect — usalo quando il vecchio URL deve smettere completamente di restituire i propri contenuti. In futuro deve esistere un solo URL. Il vecchio indirizzo inoltra la richiesta e non pubblica più una pagina propria.
  • Tag canonical — usalo quando più URL devono restare attivi e accessibili in modo indipendente, ma vuoi che Google ne consideri uno la versione preferita. Pensa alle varianti della navigazione a faccette, agli URL con parametri di tracciamento o alle versioni di stampa: sono tutti raggiungibili e puntano con rel=canonical alla versione principale.

Bing descrive la stessa distinzione con chiarezza nel suo articolo sui contenuti duplicati di dicembre 2025: “Use 301 redirects to consolidate variants into a single preferred URL. Apply canonical tags when multiple versions must remain accessible.” (traduzione): «usa i redirect 301 per consolidare le varianti in un unico URL preferito. Applica i tag canonical quando più versioni devono restare accessibili». Se un’indicazione canonical viene ignorata e vuoi davvero consolidare, puoi passare a un redirect, ma soltanto quando l’URL duplicato non deve continuare a pubblicare contenuti propri.

Una nota su Bing

In linea generale, Bing concorda con Google: per gli spostamenti permanenti si usano i 301, per quelli temporanei i 302. Fabrice Canel di Bing ha dichiarato che è “preferable to use a 302 redirect if your destination URL may change within 2 days, else 301 is recommended,” (traduzione): «preferibile usare un redirect 302 se l’URL di destinazione potrebbe cambiare entro due giorni; altrimenti è consigliato un 301». Il collega Frédéric Dubut ha chiarito che i “due giorni” non erano una soglia rigida: “anytime a redirect is temporary… you should use 302s.” (traduzione): «ogni volta che un redirect è temporaneo, dovresti usare un 302». Lo stesso modello mentale, formulato in base alla rapidità con cui potrebbe cambiare la destinazione.

Dove proseguire: il sottocluster sui redirect

Questo hub è la mappa. Ciascun argomento seguente ha un approfondimento dedicato, annidato sotto questo hub e presente nella barra laterale:

I singoli codici di redirect

  • Redirect 301 — il principale redirect permanente: come consolida i segnali in avanti e quando utilizzarlo.
  • Redirect 302 — il redirect temporaneo standard, perché è un segnale debole ma non nullo e come può finire per essere trattato come un 301.
  • Redirect 303 (See Other) — il codice Post/Redirect/Get, perché è raro nella SEO e perché il suo trattamento da parte di Google è davvero indefinito.
  • Redirect temporaneo 307 — ha lo stesso significato SEO di un 302, ma preserva rigorosamente il metodo HTTP; scopri dove compare, tra HSTS e redirect di moduli o API.
  • Redirect permanente 308 — ha lo stesso significato SEO di un 301, ma preserva rigorosamente metodo e corpo HTTP.

I confronti diretti

  • Redirect 301 e 302 a confronto — permanente contro temporaneo, consolidamento dei segnali in avanti o all’indietro e quale codice scegliere.
  • Redirect 301 e 308 a confronto — stesso significato SEO, ma il 308 preserva metodo e corpo HTTP.
  • Redirect 302 e 307 a confronto — la stessa distinzione sul lato temporaneo: equivalenti per la SEO, ma il 307 mantiene metodo e corpo per moduli e API.

Le implementazioni lato client

  • Redirect JavaScript — perché sono l’opzione più debole, come la pipeline di rendering di Google li tratta rispetto a un 301 lato server e quando sono un’ultima risorsa accettabile.
  • Redirect meta refresh — aggiornamenti immediati o ritardati, perché nella scala di preferenza di Google si collocano tra server e JavaScript e perché sono sconsigliati.

Le insidie

  • Catene di redirect — perché conviene reindirizzare direttamente all’URL finale, il limite di 10 passaggi e il modo in cui le catene sprecano crawl budget.
  • Loop di redirect — il redirect che non si risolve mai, perché i motori di ricerca lo ignorano e come interrompere il ciclo.

In Google Search Console

  • Pagina con reindirizzamento — che cosa significa questo stato di Indicizzazione delle pagine, perché è normale e non è un errore e i rari casi che richiedono un intervento.
  • Errore di reindirizzamento — le quattro cause indicate da Google, cioè catena troppo lunga, loop, URL oltre la lunghezza massima e URL non valido o vuoto, e la differenza rispetto al normale stato “Pagina con reindirizzamento”.

Per il quadro completo dei codici di stato HTTP in cui rientra questo sottocluster — le famiglie 2xx, 3xx, 4xx e 5xx e i codici diversi dai redirect — consulta l’indice del cluster /technical-seo/http-status-codes/.

Aggiungi una nota dell’esperto

Fissa una citazione dell’esperto

Persona nuova? Crea il suo profilo non rivendicato in /admin/experts/ → Fissa una citazione dell’esperto prima.

Italiano › Contenuti

301 redirect: guida ai redirect permanenti

Che cos’è un redirect 301 permanente, perché Google dice che non causa una perdita di PageRank, quanto mantenerlo, come implementarlo su Apache, nginx, WordPress e Cloudflare e quali errori di "301 falso" fanno perdere segnali in silenzio.

Leggi l’articolo →
Italiano › Contenuti

Redirect 301 vs. 302

Redirect 301 (permanenti) e 302 (temporanei): perché la vecchia regola «301 trasferisce il 95%, 302 lo 0%» è sbagliata, che cosa dice oggi Google e una regola pratica per scegliere.

Leggi l’articolo →
Italiano › Contenuti

301 vs. 308: redirect permanenti

301 e 308 sono entrambi redirect permanenti: la differenza principale è che 308 garantisce che il metodo HTTP (e il corpo che lo accompagna) sopravviva al passaggio. Perché esiste 308, perché Google e Bing lo elaborano come 301 e quando conviene usarlo.

Leggi l’articolo →
Italiano › Contenuti

302 redirect: guida ai redirect temporanei

Che cos’è un redirect 302 temporaneo, perché Google lo chiama un segnale “debole” per elaborare la destinazione (non il vicolo cieco a equità zero del folklore SEO), i casi d’uso legittimi che Google raccomanda davvero e l’unico errore che può costare posizioni.

Leggi l’articolo →
Italiano › Contenuti

302 vs. 307: redirect temporanei

302 e 307 sono entrambi redirect temporanei: la differenza è che 307 garantisce che il metodo HTTP non cambi. Perché Google li tratta allo stesso modo, quando 307 è la scelta giusta e cos'è il «307 fantasma» di HSTS.

Leggi l’articolo →
Italiano › Contenuti

Redirect 303 See Other

Che cos’è un redirect 303 See Other, il pattern Post/Redirect/Get che abilita, perché cambia la richiesta in GET o HEAD (a differenza di 307), come differisce da 302 e perché Google e Bing pubblicano pochissime indicazioni SEO specifiche per 303.

Leggi l’articolo →
Italiano › Contenuti

Redirect permanente 308

Cos'è un redirect permanente 308, come preserva il metodo HTTP segnalando la permanenza a differenza di un 301 e come Google trasferisce i segnali di ranking attraverso di esso.

Leggi l’articolo →
Italiano › Contenuti

Redirect temporaneo 307

Cos'è un redirect temporaneo 307, come preserva rigorosamente il metodo HTTP a differenza di un 302, dove compare (HSTS e spostamenti temporanei) e come Google lo tratta per la SEO.

Leggi l’articolo →
Italiano › Contenuti

Reindirizzamento Meta Refresh

Cos'è un reindirizzamento meta refresh, perché si colloca tra i reindirizzamenti lato server e quelli JavaScript nell'ordine di preferenza di Google, i refresh istantanei rispetto a quelli ritardati, e perché è sconsigliato.

Leggi l’articolo →