Cos’è un Redirect HTTP?
Un redirect HTTP è uno strumento fondamentale per gestire correttamente il traffico web, evitare errori 404, e soprattutto mantenere il valore SEO costruito nel tempo. Usare il codice giusto nel momento giusto è cruciale per la salute tecnica di un sito web.
Un redirect (reindirizzamento) HTTP è un meccanismo usato per indicare al browser o a un motore di ricerca che una risorsa è stata spostata a un altro URL. In altre parole, quando un utente o un bot visita una determinata URL, il server risponde dicendo:
“Questa pagina si trova ora altrove, vai lì.”
✅ Perché si usa un redirect?
- Cambiare la struttura degli URL di un sito
- Passare da http://ahttps://
- Unificare wwwenon-www
- Migrare a un nuovo dominio
- Evitare contenuti duplicati
- Ottimizzazione SEO
Come funziona tecnicamente
- L’utente o il bot richiede una pagina (GET /vecchia-pagina)
- Il server risponde con:
- Un codice di stato HTTP (301,302, etc.)
- Un header Location con la nuova URL
 
- Un codice di stato HTTP (
HTTP/1.1 301 Moved Permanently
Location: https://www.nuovosito.com/nuova-pagina
- Il browser (o bot) segue automaticamente la nuova URL
Tipi di redirect principali
301 — Moved Permanently
- ✅ Significato: La risorsa è stata spostata in modo permanente
- SEO: Trasferisce quasi tutta la link equity (PageRank) al nuovo URL
- Uso consigliato: Quando l’URL cambia per sempre
- Esempi:
- Da httpahttps
- Migrazione di dominio
- URL obsoleti
 
- Da 
302 — Found (Temporary Redirect)
- ✅ Significato: Spostamento temporaneo
- SEO: I motori di ricerca non trasferiscono il PageRank (o lo fanno in modo parziale)
- Uso consigliato: Quando tornerai a usare l’URL originale
- Esempi:
- Test A/B
- Promozioni temporanee
- Pagina in manutenzione
 
303 — See Other
- ✅ Significato: Usa il metodo GETper recuperare una nuova risorsa
- Uso consigliato: Dopo una form submission con metodo POST, per evitare il reinvio
- Esempi:
- Dopo l’invio di un modulo, reindirizzare a una pagina di conferma
 
307 — Temporary Redirect
- ✅ Significato: Simile al 302, ma mantiene il metodo HTTP originale (POST, PUT, etc.)
- Uso consigliato: Come il 302, ma più preciso per API REST o richieste POST
308 — Permanent Redirect
- ✅ Significato: Come il 301, ma mantiene il metodo HTTP originale
- Uso consigliato: Come il 301, in contesti dove il metodo POST non deve diventare GET
️ Implementazione di un redirect
1. In Apache (.htaccess)
Redirect 301 /vecchia-pagina https://www.miosito.com/nuova-pagina
2. In Nginx
rewrite ^/vecchia-pagina$ https://www.miosito.com/nuova-pagina permanent;
3. In PHP
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.miosito.com/nuova-pagina");
exit();
Errori comuni da evitare
- Usare un 302 invece di un 301 per un cambio permanente
- Creare loop di redirect (A → B → A)
- Non aggiornare i link interni
- Non aggiornare la sitemap
- Non usare HTTPS nei nuovi URL
✅ Best Practice SEO
- Preferire il 301 per migrazioni permanenti
- Mantenere i redirect attivi almeno per 1 anno (orientativamente)
- Evitare catene di redirect (A → B → C → D)
- Monitorare con strumenti come Google Search Console
Verifica dei redirect
- curl da terminale:
curl -I https://www.tuosito.com/vecchia-pagina
- Risultato atteso:
HTTP/1.1 301 Moved Permanently
Location: https://www.tuosito.com/nuova-pagina
- Strumenti online:
- https://httpstatus.io/
- https://redirect-checker.org/
- Verifica Header HTTP(S)
 
