Il codice HTTP 302 indica un reindirizzamento temporaneo: la risorsa che hai chiesto si trova momentaneamente a un altro indirizzo, e il browser viene mandato lì in automatico. Non è un errore, ma è uno dei codici più fraintesi da chi gestisce un sito, perché viene spesso usato al posto del 301 in situazioni in cui lo spostamento è definitivo. In questa guida vediamo che cosa significa davvero un 302, quando usarlo, quando evitarlo e come verificare quale reindirizzamento sta usando il tuo sito.
Cosa significa il codice 302
Il 302 fa parte dei codici 3xx, quelli di reindirizzamento, descritti nella guida ai codici di stato HTTP. Quando un server risponde con un 302, include un’intestazione Location con il nuovo indirizzo:
HTTP/1.1 302 Found
Location: https://www.esempio.it/offerta-natale/
Il browser legge l’intestazione e carica automaticamente il nuovo indirizzo, senza che l’utente debba fare nulla. Il nome ufficiale del codice è Found, ma nell’uso comune tutti lo chiamano “redirect temporaneo”. La parola chiave è proprio temporaneo: il 302 comunica che l’indirizzo originale resta quello di riferimento e che, prima o poi, tornerà a mostrare il contenuto.
302, 301, 307 e 308 a confronto
I reindirizzamenti più usati sono quattro, e si distinguono per due caratteristiche: se lo spostamento è permanente o temporaneo, e se il metodo della richiesta viene mantenuto.
| Codice | Tipo | Metodo della richiesta | Uso tipico |
|---|---|---|---|
| 301 | Permanente | Può diventare GET | Cambio definitivo di indirizzo, passaggio a HTTPS, nuovo dominio |
| 302 | Temporaneo | Può diventare GET | Promozioni, manutenzioni di singole pagine, test |
| 307 | Temporaneo | Mantenuto | Come il 302, quando si devono preservare dati inviati con POST |
| 308 | Permanente | Mantenuto | Come il 301, quando si devono preservare dati inviati con POST |
La questione del metodo conta soprattutto per i moduli: con un 301 o un 302 molti browser trasformano un invio di dati in una semplice lettura, perdendo i dati inviati. È un caso che abbiamo descritto anche nella guida all’errore 405.
Esiste anche il 303 See Other, usato soprattutto dopo l’invio di un modulo per mandare l’utente a una pagina di conferma, evitando che ricaricando la pagina i dati vengano inviati di nuovo.
Quando usare un 302
Il 302 è la scelta giusta quando lo spostamento è davvero temporaneo e vuoi che l’indirizzo originale conservi il suo ruolo. Alcuni esempi concreti.
Promozioni e campagne. Durante una campagna di Natale vuoi che chi visita la pagina dei regali venga mandato alla pagina dell’offerta speciale. Finita la campagna, il reindirizzamento viene rimosso e la pagina originale torna visibile.
Manutenzione di una singola pagina. Stai rifacendo una pagina e, per qualche giorno, vuoi mandare i visitatori a una versione provvisoria o a una pagina correlata.
Personalizzazione. Molti siti reindirizzano gli utenti in base alla lingua o alla posizione, o li mandano alla pagina di login quando provano ad accedere a un’area riservata. In questi casi il reindirizzamento dipende dal visitatore, non da uno spostamento definitivo.
Prodotti temporaneamente non disponibili. In un negozio online, un prodotto che tornerà disponibile tra qualche settimana può essere reindirizzato temporaneamente a un’alternativa simile o alla sua categoria. Quando torna in catalogo, si rimuove il reindirizzamento e la pagina originale riprende il suo posto, con lo storico di posizionamento intatto. Se invece il prodotto esce definitivamente dal catalogo, il reindirizzamento va trasformato in un 301.
Test. Durante un test A/B, una parte dei visitatori può essere reindirizzata temporaneamente a una versione alternativa della pagina.
Quando non usare un 302
L’errore più comune è usare il 302 per spostamenti definitivi. Succede più spesso di quanto si pensi, perché alcuni strumenti lo usano come impostazione predefinita. Ecco i casi in cui serve invece un 301.
Il passaggio da HTTP a HTTPS e l’unificazione tra versione con e senza www sono spostamenti definitivi e vanno gestiti con un 301. Lo stesso vale per il cambio dello slug di un articolo, la riorganizzazione delle categorie, l’accorpamento di due contenuti e il trasferimento del sito a un nuovo dominio.
Usare un 302 in questi casi manda a Google un segnale ambiguo: il motore di ricerca potrebbe continuare a considerare il vecchio indirizzo come quello principale, mostrandolo nei risultati al posto del nuovo e ritardando il trasferimento dei segnali di posizionamento.
Come Google tratta il 302
Google tratta il 302 come un’indicazione che l’indirizzo originale va mantenuto nell’indice. Se però un 302 resta attivo a lungo, Google può decidere di trattarlo come un reindirizzamento permanente, perché nei fatti lo è. Contare su questo comportamento è comunque una cattiva idea: il passaggio avviene con tempi incerti e nel frattempo il segnale resta ambiguo. Se uno spostamento è definitivo, dichiaralo subito con un 301.
Come creare un reindirizzamento 302
Su un server Apache, con una riga nel file .htaccess:
Redirect 302 /regali/ https://www.esempio.it/offerta-natale/
Su Nginx, all’interno della configurazione del sito:
location = /regali/ {
return 302 https://www.esempio.it/offerta-natale/;
}
Su WordPress il modo più comodo è un plugin di gestione dei reindirizzamenti, che permette di scegliere il tipo di codice per ogni regola. Controlla sempre quale codice è impostato come predefinito: alcuni plugin propongono il 301, altri il 302.
Come verificare quale reindirizzamento usa il tuo sito
Il modo più rapido è il comando curl -I seguito dall’indirizzo, che mostra il codice di stato e l’intestazione Location senza seguire il reindirizzamento. Aggiungendo l’opzione -L, curl segue tutti i passaggi e mostra l’intera catena:
curl -sIL http://esempio.it/ | grep -iE "^HTTP|^location"
In alternativa puoi usare la scheda Rete degli strumenti per sviluppatori del browser, attivando l’opzione per conservare il registro tra una pagina e l’altra, oppure uno strumento di crawling che analizza tutti i reindirizzamenti del sito.
Se nei log del server vedi righe con GET e codice 302, sono richieste di lettura che il server ha reindirizzato temporaneamente. Sono normali, per esempio, per la pagina di login dell’area amministrativa. Diventano un campanello d’allarme quando riguardano pagine pubbliche che dovrebbero rispondere direttamente con un 200.
Dove si nascondono i 302 indesiderati
Spesso i 302 sbagliati non li ha creati nessuno consapevolmente: arrivano da impostazioni predefinite o da componenti che lavorano in silenzio. Conviene sapere dove cercarli.
Regole del server scritte di fretta. In Apache, una regola di riscrittura con il flag [R] senza indicazione del codice produce un 302. Molte guide online suggeriscono righe come RewriteRule ^(.*)$ https://www.esempio.it/$1 [R,L] per il passaggio a HTTPS: funzionano, ma generano reindirizzamenti temporanei. La versione corretta usa [R=301,L].
Plugin e temi. Plugin di manutenzione, di lingua, di geolocalizzazione o di gestione dei reindirizzamenti possono usare il 302 come impostazione predefinita. Dopo averli installati, controlla quale codice restituiscono le pagine coinvolte.
Piattaforme e servizi esterni. Alcuni servizi di hosting, costruttori di siti e strumenti di accorciamento dei link usano il 302 per i propri reindirizzamenti. Se puoi scegliere, imposta il 301 per tutto ciò che è definitivo.
Pagine accessibili solo agli utenti registrati. Un sito che reindirizza alla pagina di login chi visita un’area riservata usa correttamente un 302. Il problema nasce se, per una regola sbagliata, anche pagine pubbliche finiscono dietro questo reindirizzamento: per Google diventano irraggiungibili.
Come trasformare un 302 in un 301
Se scopri che uno spostamento definitivo è gestito con un 302, la correzione è semplice: individua dove nasce il reindirizzamento, cioè nel file .htaccess, nella configurazione del server, in un plugin o nel CDN, e cambia il codice in 301. Poi verifica con il comando curl -I che la risposta sia quella attesa, e svuota le cache del sito e del CDN perché il nuovo codice sia servito a tutti. Non serve fare altro: alla scansione successiva Google leggerà il 301 e consoliderà i segnali sul nuovo indirizzo.
Catene e cicli di reindirizzamento
Due problemi da evitare con qualsiasi tipo di reindirizzamento. Le catene, in cui un indirizzo rimanda a un secondo che rimanda a un terzo, rallentano il caricamento e disperdono i segnali: ogni reindirizzamento dovrebbe puntare direttamente alla destinazione finale. I cicli, in cui due indirizzi rimandano l’uno all’altro, rendono la pagina irraggiungibile e fanno comparire nel browser l’errore ERR_TOO_MANY_REDIRECTS, descritto nella guida agli errori del browser.
Domande frequenti
Il 302 fa perdere posizionamento?
Se usato per uno spostamento temporaneo, no: l’indirizzo originale mantiene il suo posizionamento. Diventa un problema se usato per uno spostamento definitivo, perché ritarda il trasferimento dei segnali al nuovo indirizzo.
Per il passaggio a HTTPS posso usare un 302?
No. Il passaggio a HTTPS è definitivo e va gestito con un 301 su tutte le pagine.
Il 302 trasferisce i link ricevuti al nuovo indirizzo?
Con un 302 Google tende a mantenere i segnali sull’indirizzo originale, coerentemente con il significato di spostamento temporaneo. Se vuoi che il valore dei link ricevuti passi alla nuova pagina, usa un 301.
Perché vedo un 302 quando accedo all’area amministrativa?
Perché il sito ti manda temporaneamente alla pagina di login e, dopo l’accesso, ti riporta alla pagina richiesta. È un uso corretto del 302 e non ha alcun effetto sulla SEO.
Quanto può durare un 302?
Non c’è un limite tecnico, ma se un reindirizzamento “temporaneo” resta attivo per mesi, probabilmente non è più temporaneo. A quel punto conviene trasformarlo in un 301, così che sia gli utenti sia i motori di ricerca ricevano un’indicazione chiara.





