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.

Prima pubblicazione: 2 lug 2026 · Ultimo aggiornamento: 9 ago 2026 · Advanced
Lingue
1 segnale di evidenza in questa pagina

Un redirect 302 (codice di stato HTTP 302, “Found”) è temporaneo: invia gli utenti a un nuovo URL segnalando che quello originale dovrebbe restare nei risultati di ricerca. La sfumatura che la maggior parte delle guide sbaglia è questa: l’infrastruttura di crawling di Google considera un 302 un segnale debole che la destinazione debba essere elaborata, rispetto al segnale forte di un 301; ma questo è separato dalla pipeline di indicizzazione di Search, che dice di non considerare un redirect temporaneo un segnale che renda la destinazione canonica (debole non significa zero ed elaborato non significa canonico). Google (Mueller, Illyes) ha detto che i 302 trasferiscono comunque segnali dei link e, se un 302 resta attivo abbastanza a lungo, Google può iniziare a trattarlo come un 301: un pattern osservato dai professionisti senza una tempistica pubblicata. È la scelta corretta per situazioni davvero temporanee: Google raccomanda esplicitamente il 302 invece del 301 per i test A/B, oltre che per l’instradamento geografico/per dispositivo e le pagine di manutenzione. L’unico vero errore è usare un 302 per uno spostamento permanente, lasciando il vecchio URL posizionato invece del nuovo per un periodo imprevedibile.

TL;DR — Un 302 (“Found”) è un redirect temporaneo. La formulazione precisa di Google ha due fasi, non una: l’infrastruttura di crawling considera il redirect un segnale debole che la destinazione debba essere elaborata, contrapposto al segnale forte di un 301; separatamente, la pipeline di indicizzazione di Search dice che non considera un redirect temporaneo un segnale che renda la destinazione canonica (la destinazione può comunque essere indicizzata tramite altri segnali). Due meccanismi vengono continuamente confusi: il trasferimento dei segnali dei link/PageRank (Mueller e Illyes hanno detto che con un 302 non è pari a zero, ma questa è una loro dichiarazione pubblica, non una regola universale formalmente pubblicata) e la preferenza di canonizzazione/indicizzazione (che è la vera differenza: un 302 dice a Google di mantenere indicizzato l’URL sorgente). Se resta attivo abbastanza a lungo, un 302 può cambiare comportamento: è un pattern osservato dai professionisti, non un meccanismo documentato, e non esiste una tempistica pubblicata. Google raccomanda il 302 invece del 301 per i test A/B. L’unico vero errore è usare un 302 per uno spostamento permanente; inoltre, non costruire mai la destinazione del redirect da input utente non verificato.

Da “Moved Temporarily” a “Found”: breve storia

Il 302 è nato in modo ambiguo. In HTTP/1.0 si chiamava “Moved Temporarily” e la specifica diceva che i client dovessero riutilizzare il metodo della richiesta originale quando lo seguivano. Nella pratica i browser non lo facevano: molti passavano silenziosamente da POST a GET durante il redirect, contrariamente alla specifica. HTTP/1.1 ha riconosciuto la realtà rinominando il 302 “Found” e aggiungendo due alternative non ambigue: 303 (See Other), che passa sempre a GET, e 307 (Temporary Redirect), che non cambia mai il metodo. La specifica attuale, RFC 9110 (2022), osserva ancora che i client possono cambiare POST in GET su un 302: è esattamente il motivo per cui esiste il 307 nei casi in cui non devono farlo. Per i redirect di pagine basati quotidianamente su GET (il caso d’uso SEO), 302 e 307 si comportano allo stesso modo per i motori di ricerca; la distinzione sulla conservazione del metodo conta solo per i form e le chiamate API. Evidence for this claim RFC 9110 defines 302 Found as a temporary move to another URI and notes that user agents may change POST to GET when following it. Scope: HTTP semantics for 302 responses. Confidence: high · Verified: IETF: RFC 9110 §15.4.3 — 302 Found

Per la ricerca, Google raggruppa 302 (found), 303 (see other) e 307 (temporary redirect) sotto “Temporary”, opposti a 301 e 308, classificati come “Permanent”.

La decisione compatta, se devi scegliere tra questi codici:

  • 302 — il client che segue il redirect può cambiare POST in GET (RFC 9110). Va bene per un redirect di pagina basato su semplice GET; evitalo se non puoi tollerare il cambio di metodo.
  • 307 — non cambia mai il metodo e non reinvia una richiesta diversa. Usalo quando una sottomissione di form o una chiamata API deve essere riprodotta esattamente come è stata inviata.
  • 303 — punta deliberatamente a una risorsa diversa e non equivalente, normalmente recuperata con GET/HEAD: il classico pattern “redirect dopo un POST verso una pagina di conferma”, non un sostituto equivalente della richiesta originale.
  • Caching — un 302 non è memorizzabile heuristically solo per il suo codice di stato (RFC 9111); viene conservato e riutilizzato solo se imposti direttive esplicite di freschezza o cache. Non dare per scontato che una CDN o un browser tratti un 302 nudo come memorizzabile per impostazione predefinita.

Segnale debole e segnale forte: le parole precise di Google

Salta la tradizione SEO e leggi il linguaggio effettivo di Google. Nei documenti sull’infrastruttura di crawling, Google dice che un 302 è un segnale debole:

In sintesi, i crawler di Google seguono il redirect e i sistemi di Google lo considerano un segnale debole per elaborarne la destinazione.

Evidence for this claim Google's crawling-infrastructure documentation says crawlers follow a 302/303 and Google systems use it as a weak signal that the target should be processed; it also warns that product behavior can differ. Scope: product-specific crawl and processing handoff Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers

La riga del 301 nella stessa tabella è identica, tranne che per una parola: strong:

Per il 301, invece, Google descrive lo stesso passaggio come un segnale forte per elaborare la destinazione.

Evidence for this claim Google's crawling-infrastructure documentation says crawlers follow a 302/303 and Google systems use it as a weak signal that the target should be processed; it also warns that product behavior can differ. Scope: product-specific crawl and processing handoff Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers

“Weak” non significa “zero”, ma vale la pena essere precisi anche su che cosa sia debole. Qui parlano due sistemi Google diversi di due fasi diverse, non di un unico continuum:

  • Infrastruttura di crawling (la citazione sul “segnale debole” qui sopra): riguarda se la destinazione del redirect viene elaborata, cioè se il crawler di Google si prende la briga di recuperarla e analizzarla.
  • Pipeline di indicizzazione di Search: è una fase distinta e successiva, che enuncia direttamente la propria regola: “Googlebot follows the redirect, but the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical. The target page might still be indexed if other canonicalization signals are present.” (traduzione) «Googlebot segue il redirect, ma la pipeline di indicizzazione non usa il redirect come segnale che la destinazione debba essere canonica. La pagina di destinazione può comunque essere indicizzata se sono presenti altri segnali di canonizzazione.» Evidence for this claim Google follows a 302 temporary redirect but does not use it as a signal that the destination should become canonical; Google recommends 302 rather than 301 for temporary site tests. Scope: Google Search handling of temporary redirects and A/B tests. Confidence: high · Verified: Google: Redirects and Google Search Google: Website testing

Letti insieme: un 302 dà a Google una piccola spinta debole per andare a osservare la destinazione (crawling), ma la pipeline di indicizzazione di Search non tratta quello stesso redirect come un voto per rendere canonica la destinazione (indicizzazione). La destinazione può comunque finire indicizzata e canonica, ma grazie ad altri segnali, non al 302 in sé. Non riassumere questi concetti dicendo che “un 302 è un voto debole a favore della canonizzazione della destinazione”: non è ciò che dice nessuno dei due documenti; descrivono ambiti diversi.

Due meccanismi, non uno

È qui che la maggior parte dei contenuti dei concorrenti fa confusione, quindi tienili separati:

  1. Il trasferimento dei segnali dei link/PageRank non è pari a zero su un 302. Gary Illyes disse nel 2016 che Google non applica più una diluizione del PageRank attraverso redirect 301, 302 o altri 30x, abbandonando il vecchio mito della “perdita di circa il 15% a ogni hop”; Mueller ha espresso lo stesso concetto proprio sui 302: “do work the same as normal redirects… It’s not that they don’t pass any PageRank or anything like that.” (traduzione) «funzionano come i redirect normali… non è che non trasferiscano alcun PageRank o qualcosa del genere.» Trattalo come una dichiarazione pubblica di Google sulla questione, non come una garanzia universale formalmente pubblicata: la documentazione primaria attuale non definisce una regola precisa sul trasferimento dei segnali dei link per ogni tipo di redirect in ogni situazione.
  2. La preferenza di canonizzazione/indicizzazione è il meccanismo che differisce davvero. Un 301 è un segnale forte per indicizzare la destinazione; un 302 è debole, quindi per impostazione predefinita Google continua a indicizzare la sorgente.

“Un 302 trasferisce PageRank?” e “un 302 cambia quale URL si posiziona?” sono due domande diverse. La risposta alla prima è sì; alla seconda è “non per impostazione predefinita”. Confonderle è il modo in cui è nato il mito “302 = zero equity”.

A questo proposito: quando reindirizzi un URL, Google tiene traccia di entrambe le estremità. “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. The other URL becomes an alternate name of the canonical URL.” (traduzione) «Google tiene traccia sia della sorgente del redirect, il vecchio URL, sia della destinazione, il nuovo URL. Uno dei due URL sarà quello canonico; quale dipende da segnali come il fatto che il redirect sia temporaneo o permanente. L’altro URL diventa un nome alternativo dell’URL canonico.» Per un 302, per ora la sorgente resta canonica.

Evidence for this claim A 302 expresses temporary intent, but it does not guarantee that the source URL will always remain Google's selected canonical or that the target cannot index through other signals. Scope: redirect crawling, indexing, and canonicalization Confidence: high · Verified: Redirects and Google Search

Che cosa succede se un 302 resta attivo troppo a lungo: il “flip”

Ecco la parte che sorprende: un redirect temporaneo che non viene mai rimosso può smettere di essere trattato come temporaneo. Mueller: “if you have 302 redirects for the long run, we treat them exactly the same as 301 redirects anyway.” (traduzione) «se mantieni redirect 302 a lungo termine, li trattiamo comunque esattamente come redirect 301».

Perché succede? Questa è la mia spiegazione di lavoro tratta dalla mia guida Ahrefs sulla canonizzazione: un modello mentale di professionista costruito sul comportamento osservato, non un meccanismo formalmente pubblicato da Google. Immaginalo come una bilancia che si inclina. I redirect permanenti inviano i segnali in avanti verso il nuovo URL; quelli temporanei li inviano all’indietro verso l’URL originale. Ma:

“If a temporary redirect is left in place long enough or the URL it’s redirected to already exists, it may be treated as a permanent redirect and send signals forward instead. It requires enough signals to flip the scale we saw earlier for canonicalization signals. As links build up, internal links are changed, sitemap URLs are updated, etc., more signals point to the new URL than the old URL, and the flip occurs.” (traduzione) «Se un redirect temporaneo resta attivo abbastanza a lungo, o l’URL verso cui reindirizza esiste già, può essere trattato come permanente e inviare invece i segnali in avanti. Servono abbastanza segnali per far pendere la bilancia della canonizzazione vista prima. Man mano che aumentano i link, cambiano i link interni, vengono aggiornati gli URL della sitemap e così via, più segnali puntano al nuovo URL invece che al vecchio e si verifica il cambio.»

Il punto critico è che nessuno sa quanto ci voglia. Come ho scritto nella mia guida sui redirect, “Nobody knows how long a 302 redirect has to exist before Google starts treating it as a 301 redirect. Usually, it’s a few weeks to a few months, but it can be days, weeks, or months.” (traduzione) «Nessuno sa per quanto tempo debba esistere un redirect 302 prima che Google inizi a trattarlo come un redirect 301; di solito sono da alcune settimane ad alcuni mesi, ma possono essere giorni, settimane o mesi.» Google può agire prima se ritiene che tu abbia commesso un errore: “Only if Google thinks you used a 302 redirect by mistake for a permanent move does this not happen. In that case, it treats the redirect as a 301… In some circumstances, Google even appears to treat 302s as 301s from the get-go.” (traduzione) «Solo se Google pensa che tu abbia usato per errore un redirect 302 per uno spostamento permanente questo non accade. In quel caso tratta il redirect come un 301… In alcune circostanze Google sembra perfino trattare i 302 come 301 fin dall’inizio.» Non citare un numero preciso di giorni: non ne esiste uno pubblicato e qualsiasi cifra che trovi, compreso il numero “2 giorni” che circola nella tradizione su Bing, non è stata confermata da Google.

Come tratta Bing un 302: osserva il comportamento, non solo l’header

Bing arriva allo stesso risultato seguendo una strada leggermente diversa, e lo dichiara esplicitamente. Nel suo storico approfondimento sui redirect, Bing descrive il monitoraggio del pattern osservato di un redirect attraverso crawl ripetuti, invece di fidarsi del solo codice di stato: i redirect che continuano a cambiare destinazione vengono trattati più come 302 anche se sono etichettati 301, mentre quelli che puntano sempre allo stesso luogo vengono trattati più come 301 anche se sono etichettati 302; il sistema di Bing comincia a “think about them more like 301s as we continue to crawl them again and again” (traduzione) «considerarli più simili a 301 mentre continuiamo a esplorarli più e più volte». È la stessa convergenza descritta da Google, raggiunta in modo indipendente: dato un comportamento abbastanza coerente nel tempo, entrambi i motori si fidano di ciò che un redirect fa più che di ciò che il suo header dichiara.

Le indicazioni più datate di Bing insistevano anche più di quelle attuali di Google sull’uso parsimonioso dei 302, avvertendo che un 302 usato male può lasciare il valore bloccato sui vecchi URL. La conclusione pratica è identica a quella di Google: fai corrispondere il tipo di redirect al tuo intento reale.

Quando un 302 è la scelta giusta

Google non si limita a tollerare i 302: per un caso d’uso li raccomanda. Dalle sue indicazioni sui test A/B:

“If you’re running a test that redirects users from the original URL to a variation URL, use a 302 (temporary) redirect, not a 301 (permanent) redirect. This tells search engines that this redirect is temporary—it will only be in place as long as you’re running the experiment—and that they should keep the original URL in their index rather than replacing it with the target of the redirect (the test page). JavaScript-based redirects are also fine.” (traduzione) «Se stai eseguendo un test che reindirizza gli utenti dall’URL originale a un URL variante, usa un redirect 302 temporaneo, non un redirect 301 permanente. Questo comunica ai motori di ricerca che il redirect è temporaneo, resterà attivo solo per la durata dell’esperimento e che devono mantenere l’URL originale nell’indice invece di sostituirlo con la destinazione del redirect, cioè la pagina di test. Anche i redirect basati su JavaScript vanno bene.»

I casi d’uso legittimi (tutti davvero temporanei):

  • Test A/B — è la raccomandazione esplicita di Google riportata sopra. Ma non prolungarlo troppo: Google avverte che “if we discover a site running an experiment for an unnecessarily long time, we may interpret this as an attempt to deceive search engines and take action accordingly.” (traduzione) «Se scopriamo un sito che esegue un esperimento per un tempo inutilmente lungo, potremmo interpretarlo come un tentativo di ingannare i motori di ricerca e agire di conseguenza.» Eseguilo per il tempo necessario a raggiungere la significatività, poi rimuovilo.
  • Instradamento geografico, per dispositivo e per lingua — quando la destinazione “giusta” dipende dal visitatore e nessun URL dovrebbe sostituire permanentemente la sorgente. Qui non basta scegliere un codice di stato: verifica verso cosa viene instradato Googlebot (in genere non porta con sé i segnali di località/dispositivo di un visitatore reale, quindi controlla ciò che la regola serve a lui), se l’instradamento usa cookie o header che un crawler non invierà, se le chiavi di cache e l’header Vary separano correttamente le varianti (così una cache non serve la pagina di un paese a un altro), se un visitatore con screen reader o senza JavaScript può comunque raggiungere il contenuto e se può ignorare l’instradamento automatico invece di restare bloccato in un loop. Abbinalo a un hreflang corretto sulle versioni localizzate: redirect e hreflang devono concordare, non combattersi.
  • Pagine temporanee di manutenzione/servizio non disponibile — l’esempio di Google: “if a service your site offers is temporarily unavailable, you can set up a temporary redirect to send users to a page that explains what’s happening, without compromising the original URL in search results.” (traduzione) «Se un servizio offerto dal sito è temporaneamente non disponibile, puoi impostare un redirect temporaneo verso una pagina che spieghi che cosa sta succedendo, senza compromettere l’URL originale nei risultati di ricerca.» Chiarisci quale delle due situazioni hai davvero. Se l’URL non può semplicemente essere servito in questo momento, per esempio il backend è inattivo o sei nel mezzo di un deploy, una risposta 503 Service Unavailable con header Retry-After sullo stesso URL è spesso più precisa: dice “temporaneamente non posso soddisfare questa richiesta, riprova più tardi” senza reindirizzare altrove. Usa un 302 quando vuoi instradare deliberatamente i visitatori verso un URL diverso e davvero utile, come una pagina di stato o una pagina “torneremo presto” più dettagliata, invece di limitarti a dichiarare indisponibile l’originale.
  • Promozioni a tempo — invia i visitatori a una pagina della campagna per tutta la sua durata, poi torna indietro.
  • Bilanciamento del carico/failover — instrada il traffico altrove quando un’origine o un data center è temporaneamente non disponibile.

Per questi esempi annotati affiancati, guarda la scheda Examples; per un controllo preliminare, guarda la scheda Checklists.

L’unico vero errore

Usare un 302 quando intendi uno spostamento permanente. Stai dicendo a Google di mantenere indicizzato il vecchio URL, quindi la nuova pagina che vuoi far posizionare potrebbe non subentrare per un periodo indefinito e imprevedibile: un costo reale in visibilità persa, non teorico. Se una pagina è sparita per sempre, usa un 301 (o 308). Errori correlati: mescolare 301 e 302 in modo incoerente nella stessa catena e, il rischio di qualsiasi redirect, puntare accidentalmente due URL l’uno verso l’altro creando un loop di redirect.

Come implementare un 302

Conta l’header: la riga di stato 302 Found insieme a un Location. Ecco l’esempio PHP di Google:

header('HTTP/1.1 302 Found');
header('Location: https://www.example.com/newurl');
exit();

Apache (.htaccess): il flag R=302 è ciò che lo rende temporaneo (un R=301 o un semplice R sarebbe permanente per impostazione predefinita):

Redirect 302 /old-path https://www.example.com/newurl
# or with mod_rewrite:
RewriteRule ^old-path/?$ https://www.example.com/newurl [R=302,L]

nginx: redirect emette un 302 (permanent emetterebbe un 301):

location = /old-path {
    return 302 https://www.example.com/newurl;
}

Qualunque sia lo stack, dai plugin di redirect di WordPress a una regola CDN/edge o a un handler a livello applicazione, la regola è la stessa: sono preferibili i redirect lato server e devi scegliere deliberatamente il codice temporaneo. La maggior parte degli strumenti usa 301 per impostazione predefinita, quindi un 302 è di solito un’impostazione esplicita.

Una nota di sicurezza che vale per qualsiasi redirect, non solo per i 302: se la destinazione nel tuo header Location viene mai costruita da input controllato dall’utente, per esempio un parametro di query ?next= o ?returnUrl=, hai gli ingredienti di un open redirect: un attaccante crea un link sul tuo dominio che in realtà rimbalza i visitatori verso un sito dannoso. Non inviare i visitatori a qualunque URL compaia in un parametro della richiesta; inserisci in allowlist le destinazioni verso cui reindirizzerai davvero, cioè un insieme fisso di percorsi o origini noti e sicuri, e verifica come la logica gestisce input codificati e relativi allo schema (//evil.example, %2F%2Fevil.example e trucchi simili) prima di usarla in produzione. Verifica la sintassi esatta degli snippet di ogni piattaforma rispetto alla sua versione attuale prima del rilascio: gli esempi sopra sono illustrativi, non sostituiscono i test sul tuo server/CDN.

Per il corrispettivo dello spostamento permanente e per il confronto completo, consulta gli articoli fratelli sul redirect 301, 301 vs 302 e 302 vs 307 di questo cluster.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.