I tipi di reindirizzamento URL sono più numerosi di quanto suggerisca il dibattito 301 contro 302, e scegliere quello sbagliato può costare silenziosamente velocità o posizionamento. Si dividono in due famiglie. I reindirizzamenti HTTP lato server sono codici di stato restituiti dal server prima che la pagina venga caricata - 301, 302, 303, 307, 308. I reindirizzamenti lato client avvengono nel browser dopo il caricamento della pagina - un tag meta refresh o un salto tramite JavaScript. Lato server è più veloce e pulito sia per gli utenti sia per i crawler; lato client è più lento e debole, e vi si ricorre solo quando il server è fuori dal proprio controllo.
Mi occupo del percorso di reindirizzamento, quindi sarò concreto: cosa fa ciascun tipo sulla rete, come lo leggono i motori di ricerca e quale usare effettivamente. Se vuoi un approfondimento sui due che userai di più, reindirizzamenti 301 vs 302 copre quella coppia in dettaglio; questo articolo è la mappa completa.
La versione breve in anticipo: per uno spostamento permanente usa un 301, per uno temporaneo un 302, aggiungi 308/307 che preservano il metodo quando un POST deve sopravvivere, ed evita le opzioni lato client a meno che non ci sia un server da configurare.
Le due famiglie di reindirizzamenti
Un reindirizzamento è semplicemente un'istruzione ad andare altrove, ma dove si trova quell'istruzione cambia tutto il suo comportamento.
Un reindirizzamento lato server è il server che risponde "non qui, vai là" prima che venga inviato qualsiasi contenuto della pagina. Il browser riceve un codice di stato e un'intestazione Location e si sposta immediatamente - nessun contenuto viene caricato all'URL originale, quindi è rapido e non ambiguo. Un reindirizzamento lato client è l'opposto: la pagina originale si carica completamente, e solo allora un meta tag o uno script invia il visitatore avanti. Ciò significa un caricamento di pagina sprecato, un lampeggio visibile e un segnale più debole per i motori di ricerca, che devono caricare e a volte eseguire la pagina per notare il reindirizzamento. Le definizioni formali dei codici lato server si trovano in RFC 9110, e il comportamento pratico del browser è documentato nella guida MDN ai reindirizzamenti HTTP.
Questa singola distinzione - prima della pagina o dopo - è il motivo per cui il resto di questo articolo torna continuamente su "usa un reindirizzamento lato server quando puoi".
I reindirizzamenti con codice di stato HTTP
Questi sono i veri reindirizzamenti, restituiti dal server nell'intervallo 3xx. Cinque sono rilevanti.
| Codice | Significato | Permanente? | Metodo preservato? | Uso tipico |
|---|---|---|---|---|
| 301 | Spostato permanentemente | Sì | Non garantito | Spostamento definitivo, migrazione sito, passaggio a HTTPS |
| 302 | Trovato | No | Non garantito | Spostamento temporaneo, link modificabili, test A/B |
| 303 | Vedi altro | No | Forza un GET | Reindirizzamento dopo un modulo verso una pagina di risultato |
| 307 | Reindirizzamento temporaneo | No | Sì | Spostamento temporaneo su un endpoint POST o API |
| 308 | Reindirizzamento permanente | Sì | Sì | Spostamento permanente dove il metodo deve sopravvivere |
I due assi che organizzano la tabella sono la permanenza e la gestione del metodo. La permanenza è l'asse SEO: 301 e 308 sono permanenti, quindi i motori di ricerca trasmettono i segnali di ranking e trattano la destinazione come canonica, mentre 302, 303 e 307 sono temporanei e mantengono indicizzato l'URL originale. La gestione del metodo è l'asse tecnico: 307 e 308 preservano rigorosamente il metodo HTTP, quindi un POST rimane un POST, mentre 301 e 302 storicamente permettevano che derivasse verso un GET. Il 303 è quello anomalo, creato specificamente per forzare un GET dopo l'invio di un modulo in modo che un aggiornamento della pagina non reinvii i dati. La documentazione sui reindirizzamenti di Google conferma che tratta i codici permanenti come segnali di canonicalizzazione.
Per i normali link web, che sono richieste GET, l'asse del metodo scompare e la scelta è davvero tra permanente e temporaneo - che è esattamente la decisione 301 vs 302.
Reindirizzamenti lato client: meta refresh e JavaScript
Quando non puoi configurare il server, rimangono due opzioni a livello di browser, ed entrambe sono compromessi.
Un meta refresh è un tag HTML nell'intestazione della pagina che indica al browser di caricare un nuovo URL dopo un ritardo - il classico "sarai reindirizzato tra 5 secondi". Funziona, ma la pagina è già stata caricata prima che si attivi, quindi è lento, e i motori di ricerca lo leggono in modo incoerente: un meta refresh istantaneo è solitamente trattato come un reindirizzamento permanente, mentre uno ritardato è ambiguo e può essere interpretato come un soft 404. Un reindirizzamento JavaScript è ancora più debole, perché si attiva solo se il crawler esegue lo script. Google esegue il rendering di JavaScript, ma con un ritardo, e molti altri crawler non lo eseguono affatto, quindi il reindirizzamento può essere completamente mancato.
La classificazione onesta delle opzioni è semplice: un 3xx lato server prima di tutto, un meta refresh solo se controlli l'HTML ma non il server, e un reindirizzamento JavaScript come ultima risorsa quando non controlli nient'altro. Niente di tutto ciò si applica a un link breve gestito, che usa sempre un reindirizzamento lato server - le tecniche lato client sono per situazioni come un host statico senza configurazione dei reindirizzamenti.
Quale reindirizzamento dovresti usare
Riducilo a una decisione che puoi prendere in un solo passaggio.
- Spostamento permanente, link ordinario:
301. Trasferimento completo del ranking, trattato come canonico. - Spostamento temporaneo, link ordinario:
302. Mantiene indicizzato l'originale e il link modificabile. - Lo spostamento riguarda un POST o una chiamata API: usa
308per permanente o307per temporaneo, in modo che il metodo sopravviva. - Dopo l'invio di un modulo:
303, in modo che un aggiornamento della pagina non reinvii il modulo.
La meta-regola dietro tutti e quattro: fai corrispondere il codice di stato alla verità sullo spostamento - è permanente? Il metodo è importante? Sbagliare questa corrispondenza è il modo in cui i reindirizzamenti perdono silenziosamente ranking o rompono un modulo.
Cosa usano i link brevi
Un link breve gestito è un reindirizzamento lato server, e per una buona ragione - appartiene alla famiglia veloce e compatibile con i crawler. La scelta interessante è quale codice, e la risposta per la maggior parte dei link brevi è un 302.
Questo sembra sbagliato per la SEO finché non si ricorda a cosa serve un link breve. Un 302 mantiene il link modificabile, così puoi reindirizzarlo dopo che è stato stampato o condiviso, e mantiene ogni clic che raggiunge il server, così le tue analisi rimangono precise - entrambe le cose che un 301 memorizzato nella cache ti costerebbe. Il ragionamento completo, inclusa la trappola della cache del browser, è in reindirizzamenti 301 vs 302, e i meccanismi di come il reindirizzamento si risolve al edge sono in come funzionano gli accorciatori di URL. L'unica regola che si applica indipendentemente dal codice: mantienilo a un singolo salto. Un reindirizzamento che punta a un altro reindirizzamento spreca budget di scansione e latenza, ed è il modo più rapido per annullare la SEO che i link brevi altrimenti preservano.
L'intera mappa si riassume in una frase: codici lato server per i veri reindirizzamenti, permanente versus temporaneo per la SEO, varianti che preservano il metodo per le richieste non-GET, e trucchi lato client solo quando il server è inaccessibile. Scegli in base alla verità dello spostamento, mantieni la catena a un solo salto, e i tuoi reindirizzamenti faranno ciò che intendevi.
Correlati sul blog
- Reindirizzamenti 301 vs 302: quale dovrebbero usare i link brevi
- Gli accorciatori di URL danneggiano la SEO? La risposta onesta
- Come funzionano gli accorciatori di URL sotto il cofano
- Raggiungere p95 sotto 15ms per i reindirizzamenti da FRA, ASH e SGP
- Strategia di cache per i reindirizzamenti URL: L1 LRU + L2 Redis
- Le vulnerabilità di open redirect e come prevenirle
- Loop di redirect: come trovare e risolvere ERR_TOO_MANY_REDIRECTS
- Come reindirizzare un URL: sei metodi, e quando usare ciascuno
Domande frequenti
Quali sono i principali tipi di reindirizzamenti URL?
Esistono due famiglie. I reindirizzamenti HTTP lato server sono codici di stato restituiti dal server: 301 (permanente), 302 (temporaneo), 303 (vedi altro, forza un GET), 307 (temporaneo, conserva il metodo) e 308 (permanente, conserva il metodo). I reindirizzamenti lato client avvengono nel browser dopo il caricamento della pagina: un tag HTML meta refresh o una modifica di location tramite JavaScript. I reindirizzamenti lato server sono più veloci e puliti sia per gli utenti sia per i motori di ricerca; quelli lato client sono più lenti e deboli, e si ricorre a loro solo quando non si controlla il server.
Qual è la differenza tra un reindirizzamento 301 e un 308?
Entrambi sono permanenti, quindi entrambi comunicano ai motori di ricerca che la destinazione è il nuovo URL canonico e trasmettono i segnali di ranking. La differenza riguarda la gestione del metodo HTTP: un 301 storicamente permetteva al metodo di cambiare (un POST poteva diventare un GET sul reindirizzamento), mentre un 308 preserva rigorosamente il metodo e il corpo. Per i link ordinari, che sono richieste GET, si comportano allo stesso modo. Il 308 è rilevante per API e invii di moduli dove un POST deve rimanere tale.
A cosa serve un reindirizzamento 307?
Il 307 è il reindirizzamento temporaneo rigoroso. Svolge lo stesso compito del 302 - inviare il visitatore altrove per il momento, mantenere indicizzato l'URL originale - ma garantisce che il metodo della richiesta venga preservato, quindi un POST rimane un POST. Usalo per spostamenti temporanei su endpoint che ricevono richieste non-GET, come un'API o un gestore di moduli. Per un normale reindirizzamento temporaneo di un link, un 302 e un 307 sono intercambiabili.
Un reindirizzamento meta refresh è dannoso per la SEO?
È più debole di un reindirizzamento lato server e vale la pena evitarlo quando si ha una scelta. Un meta refresh si attiva nel browser dopo il caricamento dell'HTML, il che è più lento per l'utente e un segnale meno affidabile per i motori di ricerca. Google afferma di interpretare un meta refresh istantaneo come un reindirizzamento permanente, ma uno ritardato è ambiguo e può essere trattato come un soft 404 o peggio. Se puoi restituire un 301 o 302 dal server, fallo.
I reindirizzamenti JavaScript funzionano per la SEO?
Possono funzionare, ma sono l'opzione meno affidabile. Un reindirizzamento JavaScript si attiva solo se il crawler esegue lo script; e sebbene Google esegua il rendering di JavaScript, lo fa con un ritardo, mentre altri crawler spesso non lo eseguono affatto. Quindi il reindirizzamento può essere mancato o conteggiato in ritardo. Usa un reindirizzamento JavaScript solo quando non controlli nulla sul server e non puoi usare nemmeno un meta refresh - è l'ultima risorsa, non un default.
Quale tipo di reindirizzamento dovrei usare?
Fai corrispondere il codice alla realtà. Per uno spostamento permanente, usa un 301 (o 308 se un POST deve sopravvivere). Per uno spostamento temporaneo, usa un 302 (o 307 per metodi non-GET). Per la maggior parte dei link brevi, che sono reindirizzamenti GET modificabili, il 302 è il default giusto perché mantiene il link modificabile e le analisi precise. Riserva meta refresh e reindirizzamenti JavaScript lato client ai casi in cui non puoi controllare affatto il server.
Prova Elido
Incolla un URL, ottieni un link breve
Senza registrazione. Il link vive 30 giorni. Iscriviti per conservarlo.
Gratis, nessuna registrazione richiesta · 2 al giorno