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.
Lingue
1 segnale di evidenza in questa pagina
- Strumento live correlatoHTTP Status & Redirect Checker
Un 301 e un 308 sono entrambi redirect permanenti, e Google e Bing trattano 308 allo stesso modo di 301 per scansione, indicizzazione e segnali: la documentazione di Google definisce 308 «equivalente a 301», Gary Illyes dice «lo fondiamo semplicemente con 301» e Fabrice Canel di Bing conferma che Bing li tratta allo stesso modo. A livello di protocollo, la differenza principale è meccanica: 308 garantisce che il client ripeta lo stesso metodo della richiesta (un POST resta un POST e il corpo viaggia con essa) verso il nuovo URL, mentre 301, codice dell'epoca HTTP/1.0, è ambiguo soprattutto sul passaggio da POST a GET (la RFC non tratta PUT/DELETE in un senso o nell'altro). Per una normale migrazione da pagina a pagina o di sito, quindi, 301 resta il default pragmatico (più vecchio, riconosciuto più ampiamente e meglio supportato da strumenti, CDN e plugin). Scegli 308 solo quando devi preservare un metodo diverso da GET: endpoint API, URL webhook, destinazioni di invio dei moduli, flussi POST di autenticazione; anche in quel caso, il codice di stato da solo non garantisce credenziali, cookie o idempotenza, quindi prova il client reale. Nessuno dei due offre un vantaggio SEO: chi suggerisce di migrare in massa i 301 a 308 per migliorare il ranking vende un mito già smentito esplicitamente dai motori di ricerca.
TL;DR — Un 301 e un 308 sono entrambi redirect permanenti, e Google e Bing trattano un 308 allo stesso modo di un 301. La differenza tecnica principale è la garanzia sul metodo: un 308 promette che il browser invierà di nuovo la richiesta nello stesso modo in cui è arrivata (quindi l’invio di un modulo resta un invio di modulo), mentre un 301 non lo promette in modo rigoroso per un POST. Per un normale redirect «questa pagina si è spostata», usa un 301. Usa 308 quando reindirizzi qualcosa che non è una semplice pagina, come un’API o un modulo, e hai bisogno che il metodo originale della richiesta arrivi intatto (anche se il codice di stato da solo non garantisce che cookie o credenziali sopravvivano: prova il client reale).
Cosa significano questi due codici
Quando un server ti porta da un URL a un altro, contrassegna la risposta con un codice di stato. Due di questi significano «spostato in modo permanente»:
- 301 — «Moved Permanently». Il codice di redirect permanente originale e più antico. Esiste dai primi tempi del web.
- 308 — «Permanent Redirect». Un codice più recente (aggiunto nel 2015) che svolge lo stesso compito con una garanzia in più.
Quella garanzia aggiuntiva è tutta la storia. Pensa a cosa succede quando invii un modulo: il browser manda una richiesta POST che contiene i tuoi dati. Con un 301 di tipo tradizionale, il browser può trasformare silenziosamente quel POST in un semplice GET quando segue il redirect, perdendo i dati lungo il percorso. Un 308 lo vieta. Dice: ripeti esattamente la stessa richiesta, con metodo, dati e tutto il resto, al nuovo indirizzo.
Conta per la SEO? No.
Questa è la parte su cui molti sbagliano, quindi la dico chiaramente: per la ricerca, 301 e 308
sono uguali. La documentazione di Google descrive letteralmente 308 come “equivalent to
301.” (traduzione) «equivalente a 301.» Gary Illyes di Google è stato ancora più
diretto: “we just merge that with 301 so we really don’t care.” (traduzione) «lo fondiamo
semplicemente con 301, quindi non ci importa davvero.» Anche Fabrice Canel di Bing ha confermato
lo stesso dal suo lato: “Bing treats 308 redirects the same as 301 redirects.” (traduzione)
«Bing tratta i redirect 308 allo stesso modo dei redirect 301.»
Ignora quindi chi dice che 308 sia «migliore per la SEO» o che dovresti sostituire tutti i tuoi 301 con 308 per ottenere un aumento del ranking. Non c’è alcun aumento. Lo hanno detto i motori di ricerca. Evidence for this claim Google treats 308 as equivalent to 301 for Search while advising sites to use the semantically appropriate status code. Scope: Google Search processing; client behavior still differs when method preservation matters. Confidence: high · Verified: Google: HTTP status codes and Search
Quale devo usare?
- Stai reindirizzando una pagina normale (hai spostato un URL, attivato HTTPS o cambiato dominio)? → Usa 301. È il default che la maggior parte di strumenti, CDN e plugin comprende senza configurazioni aggiuntive.
- Stai reindirizzando qualcosa che trasporta dati (un endpoint API, l’URL di invio di un modulo o un POST di accesso)? → Usa 308 così il metodo originale della richiesta sopravvive al passaggio; vale comunque la pena verificare che credenziali e cookie arrivino come previsto, perché il codice di stato da solo non lo garantisce.
Se non stai reindirizzando un’API o un modulo, quasi certamente ti serve 301. Questa è la versione breve.
Vuoi il quadro completo — perché è stato inventato 308, cosa hanno detto esattamente Google e Bing e come implementare ciascun codice? Passa alla scheda Advanced.
TL;DR — 301 e 308 sono entrambi redirect permanenti, e Google e Bing elaborano 308 nello stesso modo di 301: la documentazione di Google dice che 308 è “equivalent to
301,” (traduzione) «equivalente a301,» Illyes dice “we just merge that with 301,” (traduzione) «lo fondiamo semplicemente con 301,» e Canel conferma che Bing li tratta allo stesso modo. A livello di protocollo, la differenza principale è la preservazione del metodo: 308 (RFC 7538, 2015) garantisce meccanicamente che il client ripeta lo stesso metodo sul nuovo URL (il corpo viaggia con la richiesta); 301 risale all’epoca HTTP/1.0 ed è ambiguo soprattutto sul POST che diventa GET — la RFC non tratta PUT o DELETE in un senso o nell’altro, quindi non generalizzare la cautela sul POST. 308 esiste come fratello permanente di 307: RFC 7231 definiva un codice temporaneo che preservava il metodo (307), ma non uno permanente, e 308 ha colmato il vuoto. Usa 301 come default per le normali migrazioni di pagina, sito o HTTPS (è più vecchio, riconosciuto più ampiamente e meglio supportato da CDN, CMS e plugin). Scegli 308 solo quando devi preservare una richiesta diversa da GET — endpoint API, URL webhook, destinazioni di invio dei moduli, flussi POST di autenticazione — e anche in quel caso verifica credenziali, cookie e idempotenza sul client reale invece di presumere che il codice di stato li copra. Nessuno dei due è «migliore per la SEO»: è un mito già smentito esplicitamente dai motori.
Prima viene la differenza semantica
Sia 301 sia 308 comunicano ai motori di ricerca la stessa cosa sulla permanenza: la risorsa è stata spostata definitivamente e la destinazione dovrebbe diventare canonica. La differenza sta in una sola garanzia meccanica, circoscritta al modo in cui il client ripete la richiesta.
- 301 (Moved Permanently) è il codice di redirect permanente originale, risalente all’epoca HTTP/1.0. Soprattutto, è sempre stato ambiguo sull’obbligo di preservare il metodo della richiesta. Nella pratica, browser e altri client hanno storicamente convertito un POST in un GET quando seguivano un 301: va bene per una pagina semplice, ma rompe silenziosamente qualsiasi cosa dipenda dal metodo o dal corpo della richiesta.
- 308 (Permanent Redirect) è la versione rigorosa. Garantisce che il client ripeta lo stesso metodo e lo stesso corpo sul nuovo URL. Un POST resta un POST; il payload viaggia con la richiesta.
La formula in una frase che userei: un 308 è un 301 che garantisce anche che il browser non trasformi silenziosamente il POST in GET. Evidence for this claim RFC 9110 defines both 301 and 308 as permanent redirects; 308 forbids changing the request method, while 301 permits POST-to-GET rewriting for historical reasons. Scope: HTTP semantics for 301 and 308 responses. Confidence: high · Verified: IETF: RFC 9110 §§15.4.2, 15.4.9 IETF: RFC 7538 §3 — 308 Permanent Redirect
Perché esiste 308: il «307 permanente» che mancava
È la parte che quasi nessuno spiega, ma è il modo più chiaro per capire il confronto. Si tratta di una lacuna nella specifica.
I moderni codici di redirect formano una griglia temporaneo/permanente e permissivo/rigoroso:
| Temporary | Permanent | |
|---|---|---|
| Method may change (loose) | 302 | 301 |
| Method preserved (strict) | 307 | 308 |
RFC 7231 ha definito 307, un redirect temporaneo che preserva il metodo, come controparte rigorosa del 302 permissivo e ambiguo. Non ha però definito un equivalente permanente che preservasse il metodo. Esisteva un codice temporaneo rigoroso, ma nessun codice permanente rigoroso. RFC 7538 (aprile 2015) ha aggiunto 308 proprio per colmare quella lacuna: sta a 301 come 307 sta a 302. Se hai letto il confronto 302-vs-307 di questo cluster, 301-vs-308 è la stessa relazione, una riga più in alto: permanente-permissivo contro permanente-rigoroso.
301 precede tutta questa griglia. Proviene da HTTP/1.0, prima che il concetto di «preservare il metodo» fosse formalizzato: è esattamente per questo che è ambiguo e che 308 ha dovuto essere inventato invece di limitarsi a chiarire 301.
Cosa significa in pratica «preservare metodo e corpo»
Per la stragrande maggioranza dei redirect — qualcuno fa clic su un link, il browser invia un GET e il server lo manda altrove — non c’è una differenza concreta. I browser moderni preservano senza problemi GET con 301. La distinzione conta solo quando la richiesta non è un GET semplice:
| Tipo di richiesta | Con 301 | Con 308 |
|---|---|---|
GET (una pagina normale) | Seguito come GET (in pratica, senza problemi) | Seguito come GET |
POST (invio modulo, API) | Può essere convertito silenziosamente in GET, corpo perso | Ripetuto come POST, corpo intatto |
PUT / DELETE (API) | Non documentato dalla RFC — l’eccezione storica riguarda solo POST→GET, quindi consideralo dipendente dal client e non verificato | Metodo preservato (la regola di follow automatico di 308 non è specifica per POST) |
Il rischio di 301 riguarda quindi soprattutto POST e i corpi delle richieste: moduli, API, webhook e flussi di autenticazione. «Un 301 romperà sempre il mio modulo» è un’esagerazione; un GET semplice è sicuro. La deroga storica della specifica per 301 riguarda precisamente POST→GET; non documenta il comportamento di PUT o DELETE, quindi non dare per scontato come i due codici gestiscano questi metodi senza provare il client reale. La specifica è chiara su un punto: 308 vieta al client di cambiare il metodo che ripete; la regola non è limitata a POST. Qui è garantita la preservazione del metodo, non che header, cookie, credenziali o l’intera transazione sopravvivano senza modifiche: questo dipende da client e integrazione, e va testato per tutto ciò che conta (vedi la checklist sotto).
Google tratta 301 e 308 in modo diverso per la SEO? No.
È la rara domanda sui redirect su cui documentazione, Googler e Bing concordano, e lo fanno coerentemente da anni.
La documentazione di Google sui codici di stato HTTP
mette 301 e 308 nella stessa categoria. La riga di 301 dice: “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 sistemi di Google lo usano come un
segnale forte che indica che la destinazione del redirect dovrebbe essere elaborata.» La riga di
308 è una sola: “Equivalent to 301.” (traduzione) «Equivalente a 301.» È l’affermazione
più forte e citabile: la documentazione di Google equipara letteralmente i due codici. Evidence for this claim Google treats 308 as equivalent to 301 for Search while advising sites to use the semantically appropriate status code. Scope: Google Search processing; client behavior still differs when method preservation matters. Confidence: high · Verified: Google: HTTP status codes and Search
La guida sui redirect
lo ribadisce, aprendosi con “The 301 and 308 status codes mean that a page has permanently
moved to a new location” (traduzione) «I codici di stato 301 e 308 indicano che una
pagina è stata spostata permanentemente in una nuova posizione» e non tracciando poi alcuna
distinzione tra loro.
I Googler lo avevano già detto informalmente per anni, molto prima che venisse scritto nella documentazione:
- Gary Illyes (2021): in una discussione su come Google tratta 308 rispetto a 301, disse che Google “just merge[s] that with 301 so we really don’t care.” (traduzione) «lo fonde semplicemente con 301, quindi non ci importa davvero.» Il resoconto di Barry Schwartz lo presentò come il momento in cui la posizione divenne ufficiale: “Three years later it was added to the official Google documents that Google treats 308 redirects like 301 redirects — so now it is official.” (traduzione) «Tre anni dopo è stato aggiunto ai documenti ufficiali di Google che Google tratta i redirect 308 come i redirect 301: ora è ufficiale.»
- John Mueller (2018): tre anni prima — “If you use it [a 308 redirect] like a 301 we’ll treat it as such.” (traduzione) «Se lo usi [un redirect 308] come un 301, lo tratteremo come tale.» Questa è quindi la posizione informale di Google da molto prima che la documentazione la registrasse.
C’è però una sfumatura importante nella documentazione di Google, ed è la tesi dell’intero articolo. Subito dopo aver equiparato i codici, Google aggiunge: “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) «Google tratta questi codici allo stesso modo, ma ricorda che sono semanticamente diversi. Usa il codice appropriato per il redirect, così anche gli altri client (per esempio lettori elettronici e altri motori di ricerca) possono trarne vantaggio.» In altre parole: scegli il codice per correttezza e interoperabilità, non per la SEO, perché alla SEO non importa.
Bing tratta 301 e 308 in modo diverso? Neanche.
La maggior parte degli articoli su questo argomento parla solo di Google, lasciando una lacuna. Fabrice Canel di Bing ha risposto direttamente nel settembre 2024 a chi chiedeva se Bing trattasse un 308 permanente come un 301: “Bing treats 308 redirects the same as 301 redirects.” (traduzione) «Bing tratta i redirect 308 allo stesso modo dei redirect 301.» Schwartz ha notato che coincideva con quanto Google aveva detto nel 2021.
Quindi entrambi i principali motori lo hanno dichiarato: 308 è funzionalmente identico a 301 per scansione, indicizzazione e consolidamento dei segnali. Nessun motore considera 308 superiore per la SEO.
Il mito da sfatare: «308 è migliore per la SEO / migra tutti i 301»
Voglio essere diretto, perché pagine di qualità inferiore continuano a insinuarlo. Non c’è alcun vantaggio SEO nello scegliere 308 invece di 301 per un redirect tipico, né c’è motivo di migrare in massa i 301 esistenti a 308. Non è una mia opinione: è la posizione dichiarata dei motori di ricerca:
- La documentazione di Google dice che 308 è “equivalent to
301.” (traduzione) «equivalente a301.» - Illyes: “we just merge that with 301.” (traduzione) «lo fondiamo semplicemente con 301.»
- Canel: Bing “treats 308 redirects the same as 301 redirects.” (traduzione) «tratta i redirect 308 allo stesso modo dei redirect 301.»
Sostituire in massa 301 con 308 non offre alcun vantaggio di ranking e introduce rischi con strumenti legacy o edge che riconoscono correttamente solo 301/302 (ne parliamo più avanti). È puro cambiamento senza beneficio.
Vale la pena distinguere questo mito da uno davvero contestato: la vecchia affermazione secondo cui «i 301 perdono o diluiscono il PageRank». Riappare ancora e Google l’ha smentita più volte. Ma la differenza è importante: sul mito della diluizione del PageRank Google sta correggendo un’idea sbagliata; sull’equivalenza 301-vs-308 Google, Bing e la documentazione affermano tutti la stessa cosa con coerenza dal 2018. È una questione risolta, non controversa. (La storia completa del PageRank si trova nel confronto 301-vs-302 di questo cluster.)
Quando 308 è la scelta tecnicamente corretta
Scegli 308 quando perdere il metodo o il corpo della richiesta romperebbe la funzionalità, non il ranking:
- Endpoint API che stai spostando e sui quali i client inviano
POST/PUT/DELETE. - URL webhook: il mittente invia un payload POST che non puoi permetterti di perdere.
- Destinazioni action dei moduli: i dati inviati dal
<form>devono arrivare intatti al nuovo URL. - Flussi POST di autenticazione o accesso in cui credenziali o token viaggiano nel corpo.
Per POST in particolare, 301 rischia di convertire la richiesta in un GET e lasciare il corpo senza destinazione; 308 vieta la conversione. Per PUT/DELETE la RFC non descrive il comportamento di 301 in un senso o nell’altro, quindi non fare supposizioni: la regola di 308 che preserva il metodo vale qualunque sia il metodo.
Prima di trasferire un’API, un webhook o un flusso di autenticazione, ricorda che il codice di stato da solo non garantisce che tutto sopravviva al passaggio: conviene controllare questi punti come parte dello stesso cambiamento:
- Credenziali, cookie e header di autenticazione. Nessuno dei due codici offre garanzie qui; prova il client effettivo (browser, SDK o mittente del webhook) invece di presumere che tutto venga trasmesso.
- Comportamento cross-origin. Un redirect che attraversa origini può cambiare ciò che un
browser o un client fetch invia: verifica con il chiamante reale, non solo con un
curlmanuale. - Idempotenza ed effetti collaterali duplicati. Se la richiesta ripetuta non è idempotente (un webhook che crea un record o un POST di pagamento), un client che riprova dopo un redirect può eseguire l’operazione due volte. Prima di affidarti a 308, verifica che la destinazione gestisca in sicurezza una ripetizione.
- Fai prove progressive e prevedi il rollback tenendo conto della cache. Le risposte 301 e 308 sono memorizzabili euristicamente, quindi un client o intermediario che ha già memorizzato la vecchia risposta può continuare a usarla dopo il cambio del codice: prova con un client nuovo e con uno che aveva visitato l’URL prima della modifica, e prepara un rollback che consideri lo stato in cache invece di presumere che il cambio sia istantaneo.
Quando 301 resta il default pragmatico
Per tutto ciò che è un GET semplice — cioè la maggior parte dei redirect effettuati dai professionisti SEO — 301 resta il default sensato:
- Normali cambi di pagina/URL e spostamenti di contenuti.
- Cambi di dominio e fusioni di siti.
- Migrazioni da HTTP a HTTPS.
- Consolidamento delle varianti
www/non-wwwo con/senza slash finale.
Perché usare il codice più vecchio se 308 è «più rigoroso»? Per tre ragioni pratiche:
- Riconoscimento più ampio. 301 precede 308 di due decenni ed è riconosciuto dalla grande maggioranza di browser, proxy, CDN, crawler e strumenti di analisi, sia nell’uso attuale sia in quello legacy. Oggi 308 ha più di dieci anni ed è ampiamente supportato, ma la coda lunga di client legacy e strumenti edge è meno certa: non presumere che ogni strumento del tuo stack lo riconosca senza verifica.
- Realtà degli strumenti. Molti strumenti comuni usano 301/302 come default o li espongono in modo affidabile soltanto. I plugin di redirect per WordPress, i builder di regole di Cloudflare e alcune piattaforme serverless/CDN si basano su 301/302; alcuni emetteranno 302/307 indipendentemente da ciò che pensi di aver configurato. Per chi gestisce un sito senza competenze tecniche, «che cosa supporta davvero la mia piattaforma» è spesso il fattore decisivo.
- Non c’è nulla da guadagnare. Poiché Google e Bing elaborano i due codici allo stesso modo per scansione e indicizzazione, non c’è alcun vantaggio nello scegliere il codice meno supportato per un normale spostamento di pagina.
La regola pratica: GET semplice → 301; richiesta non-GET da preservare → 308.
Come implementare ciascun codice
La sintassi è quasi identica: cambia solo il numero.
Apache (.htaccess)
# 301 — permanent, for a normal page move
Redirect 301 /old-page /new-page
# 308 — permanent + method-preserving, for an API/form endpoint
RewriteEngine On
RewriteRule ^old-api/(.*)$ /new-api/$1 [R=308,L]nginx
# 301
location = /old-page {
return 301 /new-page;
}
# 308 — preserves POST body to the API
location = /old-api {
return 308 /new-api;
}Una cautela vale per entrambi: alcuni CDN, piattaforme edge e plugin CMS non rispettano un 308 configurato da te e ne emettono invece uno 301/302/307. Se la preservazione del metodo è davvero importante, verifica la risposta che stai inviando realmente (esegui curl sull’URL e leggi la riga di stato) invece di fidarti della configurazione. Anche la sintassi delle direttive cambia tra versioni dei server e framework: consulta la documentazione della versione Apache/nginx in uso (o del framework, se genera il redirect) invece di presumere che gli snippet siano aggiornati in modo identico per il tuo ambiente.
Una leva più importante della scelta 301-vs-308: la lunghezza della catena
Qualunque codice tu scelga, il vero fattore di performance è mantenere brevi i redirect. Google segue fino a circa 10 passaggi di redirect prima di arrendersi, e ogni passaggio aggiuntivo significa latenza e una possibilità che i segnali si disperdano. Un singolo passaggio pulito con il codice giusto è migliore di una catena di codici «tecnicamente corretti». Reindirizza direttamente alla destinazione finale.
Dove si colloca questo confronto
301 e 308 sono i due codici di redirect permanenti e ciascuno ha il proprio approfondimento in questo cluster, accanto alle controparti temporanee (302 e il suo fratello rigoroso 307) e all’altro membro della famiglia 3xx, 303. I confronti formano una griglia: 301-vs-302 riguarda permanente contro temporaneo, 302-vs-307 è la coppia temporanea permissiva contro rigorosa, e questo confronto, 301-vs-308, è la coppia permanente permissiva contro rigorosa. Fai attenzione anche ai rischi operativi: catene e loop di redirect. Per l’intera famiglia delle risposte del server, consulta l’hub dei codici di stato HTTP; il tipo di redirect è anche uno dei segnali di canonicalizzazione trattati nella canonicalizzazione.
Riepilogo AI
Una sintesi della versione Advanced:
- Entrambi sono redirect permanenti e Google e Bing elaborano 308 nello stesso modo di 301.
La documentazione di Google definisce 308 “equivalent to
301,” (traduzione) «equivalente a301,» Illyes dice “we just merge that with 301,” (traduzione) «lo fondiamo semplicemente con 301,» e Canel di Bing conferma: “Bing treats 308 redirects the same as 301 redirects.” (traduzione) «Bing tratta i redirect 308 allo stesso modo dei redirect 301.» - A livello di protocollo, la differenza principale è la preservazione del metodo. Un 308 (RFC 7538, 2015) garantisce che il client ripeta lo stesso metodo sul nuovo URL (il corpo viaggia con la richiesta). Un 301 risale all’epoca HTTP/1.0 ed è ambiguo soprattutto sul POST→GET: la RFC non tratta PUT o DELETE in un senso o nell’altro, quindi non generalizzare questa cautela a quei metodi.
- Perché esiste 308: RFC 7231 definiva un codice temporaneo che preservava il metodo (307), ma non uno permanente. 308 colma la lacuna: sta a 301 come 307 sta a 302.
- Nella pratica conta solo per le richieste non-GET. I GET semplici sono sicuri con 301. Il rischio riguarda precisamente POST/PUT/DELETE e i corpi delle richieste: moduli, API, webhook e flussi di autenticazione.
- Usa 308 quando devi preservare un metodo diverso da GET: endpoint API, URL webhook, destinazioni action dei moduli e flussi POST di accesso.
- Usa 301 per tutto il resto: spostamenti di pagina, cambi di dominio, migrazioni HTTPS, www/non-www: è più vecchio, riconosciuto universalmente e meglio supportato da CDN, CMS e plugin.
- Mito da eliminare: 308 non è «migliore per la SEO» e non c’è motivo di migrare in massa i 301 a 308. I motori lo dicono coerentemente dal 2018. Scegli il codice per correttezza e interoperabilità, non per il ranking (la stessa Google ricorda che i codici sono «semantically different»).
- Una leva più importante della scelta del codice: mantieni brevi le catene di redirect (Google segue circa 10 passaggi); reindirizza direttamente all’URL finale.
Documentazione ufficiale
Documentazione primaria dei motori di ricerca e della specifica.
- Codici di stato HTTP, errori di rete e DNS e Ricerca Google — il riferimento che indica 308 come “Equivalent to
301” (traduzione) «equivalente a301» e include la cautela «semanticamente diversi, trattati allo stesso modo». - Redirect e Ricerca Google — “The
301and308status codes mean that a page has permanently moved to a new location” (traduzione) «I codici301e308indicano che una pagina è stata spostata permanentemente in una nuova posizione», oltre all’implementazione lato server e alla cautela sui redirect JavaScript. - Spostamenti di sito con modifica degli URL — il ruolo dei redirect permanenti in una migrazione (mantenerli per almeno un anno).
- Podcast «Parliamo di redirect» (John Mueller + Martin Splitt) — l’episodio che tratta esplicitamente “what type of redirects 308 and 307 are.” (traduzione) «quali tipi di redirect sono 308 e 307.»
Bing / Microsoft
- Migrazione di siti con Bing — le indicazioni di Bing sugli spostamenti di sito, che presentano 301 come sufficiente per segnalare uno spostamento permanente.
Specifica / riferimento
- RFC 7538 — HTTP Status Code 308 (Permanent Redirect) — la specifica del 2015 che ha creato 308 come redirect permanente che preserva il metodo.
- MDN — 308 Permanent Redirect — il riferimento sulla preservazione del metodo e del corpo e sul confronto con 301.
Citazioni dalla fonte
Dichiarazioni pubbliche di Google e Bing. Quando la pagina fonte lo consente, ogni link è un deep link che porta direttamente al passaggio citato.
Documentazione Google — 308 è equivalente a 301
- “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 sistemi di Google lo usano come un segnale forte che indica che la destinazione del redirect dovrebbe essere elaborata.» (la riga di 301) — Google Search Central. Vai alla citazione
- “Equivalent to
301.” (traduzione) «Equivalente a301.» (l’intera riga di 308) Vai alla citazione - “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) «Google tratta questi codici di stato allo stesso modo, ma ricorda che sono semanticamente diversi. Usa il codice appropriato per il redirect, così anche altri client, come lettori elettronici e altri motori di ricerca, possono trarne vantaggio.» Vai alla citazione
Documentazione Google — entrambi i codici significano «spostato permanentemente»
- “The
301and308status codes mean that a page has permanently moved to a new location.” (traduzione) «I codici di stato301e308indicano che una pagina è stata spostata permanentemente in una nuova posizione.» Vai alla citazione
Gary Illyes, Google (2021) (tramite Search Engine Roundtable) — 308 viene unito a 301
- “we just merge that with 301 so we really don’t care iirc.” (traduzione) «lo fondiamo semplicemente con 301, quindi non ci importa davvero, se ricordo bene.» Articolo di riferimento
John Mueller, Google (2018) (tramite Search Engine Roundtable) — la posizione informale precedente
- “If you use it [a 308 redirect] like a 301 we’ll treat it as such.” (traduzione) «Se lo usi [un redirect 308] come un 301, lo tratteremo come tale.» Articolo di riferimento
Fabrice Canel, Microsoft Bing (2024) (tramite Search Engine Roundtable) — parità di Bing
- “Bing treats 308 redirects the same as 301 redirects.” (traduzione) «Bing tratta i redirect 308 allo stesso modo dei redirect 301.» Articolo di riferimento
#:~:text= contro la documentazione online. Le dichiarazioni di
Illyes del 2021, Mueller del 2018 e Canel del 2024 furono pubblicate in origine su X/Twitter e
sono riprodotte qui tramite la copertura contemporanea di Search Engine Roundtable: verifica gli
originali prima di trattarle come definitive. L’episodio del podcast «Parliamo di redirect»
discute 307/308, ma per questo articolo non è stata recuperata la trascrizione ufficiale,
quindi non ne viene citata direttamente. Quale redirect permanente devo usare: 301 o 308?
Poiché Google e Bing trattano 301 e 308 allo stesso modo per scansione e indicizzazione, questo albero non riguarda affatto il ranking: riguarda una sola domanda, la richiesta contiene un metodo o un corpo che devi preservare? Rispondi e hai finito.
301 or 308 — which permanent redirect should I use?
La versione breve: GET semplice → 301; richiesta non-GET da preservare → 308. Per la SEO i due sono intercambiabili, quindi la domanda sul metodo è l’unica che decide.
La griglia permanenza × metodo
Scegli tra i quattro codici di redirect più comuni su due assi. Il trattamento SEO segue il primo; il comportamento dell’applicazione segue il secondo.
| Method may change | Method must be preserved | |
|---|---|---|
| Temporary | 302 | 307 |
| Permanent | 301 | 308 |
Esegui la scelta in questo ordine:
- Lo spostamento è permanente? Se no, resta sulla riga temporanea. Se sì, usa la riga permanente perché la destinazione è quella che deve diventare canonica.
- La richiesta può contenere un metodo o un corpo che deve sopravvivere? Un
GETnormale di una pagina non ha bisogno della garanzia rigorosa. Una chiamataPOST,PUT,DELETE, un webhook, un modulo o un’API potrebbe averne bisogno. - Scegli la cella. Spostamento permanente di una pagina normale →
301. Spostamento permanente di un endpoint non-GET →308. - Verifica la risposta emessa. I default della piattaforma possono differire dal codice scelto nell’interfaccia o nel framework. Prova la risposta e la richiesta reindirizzata, non soltanto la configurazione.
La griglia rende volutamente noiosa la domanda SEO: Google e Bing trattano 301 e 308 allo
stesso modo. Scegli tra loro per la correttezza HTTP.
301 vs. 308 a colpo d’occhio
| Domanda | 301 Moved Permanently | 308 Permanent Redirect |
|---|---|---|
| Permanenza | Permanente | Permanente |
| Trattamento SEO Google/Bing | Stesso segnale permanente | Stesso segnale permanente |
| Metodo/corpo della richiesta | Può cambiare, soprattutto POST → GET | Deve essere preservato |
| Uso ideale | Pagine normali, domini, HTTPS, normalizzazione degli URL | API, webhook, endpoint di moduli/autenticazione con richieste non-GET |
| Vantaggio principale | Strumenti universali e supporto consolidato | Garanzia rigorosa su metodo e corpo |
| Cattivo motivo per sceglierlo | ”301 trasferisce più valore SEO" | "308 migliora il ranking” |
Regola pratica: GET permanente semplice → 301; spostamento permanente di un endpoint in
cui una richiesta non-GET deve arrivare intatta → 308.
Strumenti per verificare il redirect permanente
Gli strumenti gratuiti di Patrick
- Redirect Checker — controlla il primo stato effettivo, ogni
passaggio e la destinazione finale. Usalo per scoprire se una piattaforma ha emesso
301,302o307quando avevi configurato308. - Bulk HTTP Status Code Checker — controlla fino a 500 URL di pagine ed esporta codici o catene miste durante una migrazione.
Verificare la preservazione del metodo quando conta
curlcon il metodo reale della richiesta e un payload di test sicuro — conferma che la richiesta reindirizzata restiPOST/PUT/DELETEe che la destinazione riceva il corpo. Usa un endpoint di staging o non distruttivo.- Log dell’applicazione e del gateway — confronta la gestione del metodo e del corpo alla
sorgente e alla destinazione. Un controllo dello stato può verificare
308; solo il sistema che riceve la richiesta può dimostrare che sia arrivata intatta. - Pannello Network dei DevTools del browser — utile per i flussi dei moduli, ma prova separatamente i client API e webhook non basati sul browser, perché il comportamento del client è il motivo per cui esiste questa distinzione.
Mettiti alla prova: 301 vs. 308
Cinque domande sulla differenza tra questi due redirect permanenti e sul modo in cui li trattano i motori di ricerca. Scegli una risposta per ciascuna domanda e poi controlla.
Risorse che vale la pena consultare
I miei contenuti correlati
- 11 tipi di redirect e il loro impatto sulla SEO (Ahrefs, con Joshua Hardwick) — la panoramica completa sui tipi di redirect. La frase su 308 dice che è “the same as a 301 redirect, except it retains the HTTP method of the original request, GET or POST.” (traduzione) «uguale a un redirect 301, ma conserva il metodo HTTP della richiesta originale, GET o POST.» La mia conclusione su questo confronto è: “For SEO purposes, they’re the same, but if you have data being sent through forms, you don’t want to be switching between GET and POST.” (traduzione) «Ai fini SEO sono uguali, ma se invii dati attraverso i moduli non vuoi passare da GET a POST o viceversa.» Include anche l’ordine di implementazione che preferisco per i redirect permanenti: prima 308/301, poi refresh meta/HTTP e infine JavaScript.
- Codici di stato HTTP e loro impatto sulla SEO (Ahrefs) — dove segnalo che 308 “has the same functionality as a 301 redirect, except you can’t switch between POST and GET,” (traduzione) «ha la stessa funzione di un redirect 301, ma non puoi passare da POST a GET,» e che “308s are treated the same as 301s and consolidate forward.” (traduzione) «i 308 vengono trattati come i 301 e consolidano i segnali in avanti.»
- Guida al technical SEO per principianti — dove i redirect si inseriscono nel quadro più ampio.
I miei interventi
- Patrick Stox su SlideShare e Speaker Deck — i miei interventi sul SEO tecnico, alcuni dei quali trattano redirect e canonicalizzazione. (Vale il mio disclaimer abituale: “This is my understanding of systems… not going to be 100% complete or accurate.” (traduzione) «Questa è la mia comprensione dei sistemi… non sarà completa o accurata al 100%.»)
Fonti ufficiali
- Google — codici di stato HTTP e Google Search (308 = “Equivalent to 301” (traduzione) «equivalente a 301») e la guida sui redirect.
- RFC 7538 — HTTP Status Code 308 (Permanent Redirect) — perché esiste 308.
- MDN — 308 Permanent Redirect — il riferimento sulla preservazione del metodo e del corpo.
Dal resto del settore
- Google tratta ufficialmente i redirect 308 come i redirect 301 (Search Engine Roundtable, 2021) — la citazione di Gary Illyes “we just merge that with 301” (traduzione) «lo fondiamo semplicemente con 301».
- Google può trattare i redirect 308 come i redirect 301 (Search Engine Roundtable, 2018) — la precedente dichiarazione di John Mueller “we’ll treat it as such” (traduzione) «lo tratteremo come tale».
- Bing tratta i redirect 308 allo stesso modo dei redirect 301 (Search Engine Roundtable, 2024) — la conferma di Fabrice Canel.
- Google sfata i miti sui tipi di redirect (Search Engine Journal) — “Use the technically correct redirect type.” (traduzione) «Usa il tipo di redirect tecnicamente corretto.»
- 308 Permanent Redirect: What It Means & When to Use It (Semrush) — una panoramica utile per un confronto.
- r/TechSEO — la community per il debugging di redirect e canonicalizzazione.
Cronologia modifiche
Aggiornato il 8 ago 2026.
Riepilogo editoriale e dettagli registrati delle modifiche.Dettagli delle modifiche
-
Le note dettagliate sulle modifiche sono attualmente disponibili in inglese.
Confronto completo non disponibile — non è stata archiviata alcuna istantanea precedente per questa revisione.
Aggiornato il 17 lug 2026.
Riepilogo editoriale e dettagli registrati delle modifiche.Dettagli delle modifiche
-
Le note dettagliate sulle modifiche sono attualmente disponibili in inglese.
Confronto completo non disponibile — non è stata archiviata alcuna istantanea precedente per questa revisione.
Try it live
These are real endpoints on this site — not a simulation.
Hit them from the button, open them in a new tab, or
curl -i them from your terminal, and the server answers with the actual status code this article is about.