Reindirizzamento 301

Definizione reindirizzamento 301: 

Il reindirizzamento 301 è una risposta HTTP che segnala ai browser e ai motori di ricerca che una risorsa è stata spostata in modo permanente su un nuovo URL. Serve a indirizzare utenti e crawler verso la nuova posizione, evitando errori 404 e dispersione dei segnali SEO.

Con un 301 ben configurato trasferisci visitatori, link esistenti e riferimenti esterni al nuovo indirizzo. È la base per gestire cambi URL, migrazioni di dominio, consolidamento di contenuti e forzature come HTTPS o versione con/without www.

Perché il 301 è importante per la SEO

Un 301 correttamente impostato aiuta a preservare la visibilità organica quando cambia la struttura del sito. I crawler comprendono che la vecchia pagina non è più valida e che i segnali (citazioni, ancore, traffico) vanno interpretati sulla nuova URL. In questo modo riduci cali di ranking durante redesign o riorganizzazioni.

Il 301 contribuisce anche a evitare contenuti duplicati e a guidare la versione canonica (ad esempio uniformando maiuscole/minuscole, slash finali e parametri superflui). L’esperienza utente migliora perché chi arriva da link vecchi non vede errori, ma raggiunge il contenuto giusto.

301, 302, 307, 308: differenze in una riga

301 Moved Permanently: spostamento permanente. Indica ai motori di aggiornare i riferimenti.

302 Found: spostamento temporaneo. La sorgente può tornare valida.

307 Temporary Redirect: come 302, ma preserva il metodo (POST/GET) in modo più rigoroso.

308 Permanent Redirect: come 301, ma vincola il metodo. In pratica 301/308 = permanenti, 302/307 = temporanei.

Quando usare il reindirizzamento 301

Questi sono gli scenari tipici in cui il 301 è la scelta giusta:

  • Cambio definitivo dell’URL di una pagina (slug, percorso, estensione).
  • Migrazione di dominio o protocollo (da http → https, da example.it → example.com).
  • Consolidamento di contenuti simili (fusione articoli/categorie, unione di varianti duplicate).
  • Uniformare versioni: con/without www, con/senza slash finale, maiuscole/minuscole.
  • Gestione pagine rimosse con alternativa più pertinente (evitando 404 quando esiste un sostituto reale).
  • Normalizzazione di parametri di tracking o filtri verso un’unica URL canonica.
  • Rebranding o ristrutturazione profonda dell’architettura informativa.

Best practice SEO: cosa considerare prima di attivare i 301

Pianifica una redirect map con corrispondenza 1→1 tra vecchie e nuove pagine. Evita redirect generici verso home o categorie lontane: riducono la pertinenza e confondono utenti e crawler.

Riduci al minimo le catene (A→B→C): crea A→C diretto. Limita anche i loop (A→B e B→A). Ogni salto aggiunge latenza e può disperdere segnali.

Aggiorna i link interni per puntare subito alle nuove URL: il 301 è una rete di sicurezza, non deve sostituire un interlinking pulito. Allinea anche le sitemap XML e, quando serve, il robots.txt con i nuovi percorsi.

Annota la modifica in Google Search Console e controlla i report “Pagine” e “Sitemap”: ti aiuta a leggere correttamente oscillazioni fisiologiche post rilascio.

Esempi di configurazione: Apache (.htaccess)

Su Apache, puoi usare il modulo mod_rewrite o le direttive Redirect. Alcuni casi comuni:

# Forzare HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# Forzare www → senza www (o viceversa invertendo gli host)
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

# Spostare una singola pagina
Redirect 301 /vecchio-percorso https://www.esempio.it/nuovo-percorso

# Uniformare lo slash finale: rimuovi slash su richieste di file/directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ https://www.esempio.it/$1 [R=301,L]

Esempi di configurazione: Nginx

Con Nginx i redirect si gestiscono nel server block. Alcuni snippet utili:

# Forzare HTTPS
server {
  listen 80;
  server_name esempio.it www.esempio.it;
  return 301 https://esempio.it$request_uri;
}

# www → senza www
server {
  listen 443 ssl;
  server_name www.esempio.it;
  return 301 https://esempio.it$request_uri;
}

# Singolo percorso
location = /vecchio-percorso {
  return 301 https://esempio.it/nuovo-percorso;
}

CMS e redirect: WordPress, eCommerce e siti headless

In ambienti WordPress è comodo usare regole a livello di server per i casi globali (HTTPS, www) e gestire singoli spostamenti con strumenti applicativi (plugin o funzioni personalizzate) che scrivono 301 puliti e aggiornano i link interni.

Su eCommerce (Magento, Shopify, PrestaShop) gestisci con attenzione prodotti non più disponibili: se c’è un modello sostitutivo, 301 verso l’alternativa; se lo stop è temporaneo, mantieni la pagina con stato chiaro e opzioni di notifica.

In set-up headless o JAMstack, crea una redirect map deploy-time (es. file JSON/YAML o regole nel CDN) per garantire 301 stabili e veloci, con purging coerente della cache.

Migrazioni: dal piano alla messa online

Prima del go-live prepara una mappa CSV “sorgente,destinazione” con tutte le URL che cambiano. Esegui un crawl completo pre-migrazione e uno post-migrazione per verificare che ogni sorgente risponda 301→200 destinazione, senza catene.

Aggiorna la sitemap XML alle nuove URL e, se cambi dominio, usa anche lo strumento “Cambiamento di indirizzo” in Search Console. Monitora copertura, pagine non indicizzate e piatti di traffico per alcune settimane: fluttuazioni leggere sono normali.

Test e monitoraggio: come essere sicuri che tutto funzioni

Controlla gli header con strumenti come cURL o DevTools:

curl -I https://www.esempio.it/vecchio-percorso
HTTP/2 301
location: https://www.esempio.it/nuovo-percorso

curl -I https://www.esempio.it/nuovo-percorso
HTTP/2 200

Analizza log server e l’Exploration di un crawler per trovare catene o loop. In Search Console guarda le pagine che ricevono impression e l’eventuale presenza di URL vecchie ancora in SERP: tendenzialmente calano con il tempo se i 301 sono corretti.

Prestazioni: impatto dei 301 su velocità e crawling

Ogni hop aggiunge una richiesta in più. Per questo conviene ridurre le catene e posizionare i redirect più comuni (HTTP→HTTPS, www, slash) a livello edge/CDN quando possibile. Mantieni le regole semplici e specifiche: meno condizioni, meno latenza.

Errori comuni da evitare

  • Reindirizzare tutto verso la home (soft-404 di fatto). Meglio una destinazione coerente con l’intento originario.
  • Lasciare catene A→B→C o loop. Punta A→C diretto e verifica periodicamente.
  • Dimenticare di aggiornare link interni, canonical e sitemap alle nuove URL.
  • Usare 302 per spostamenti permanenti. Se il cambio è definitivo, usa 301 (o 308).
  • Creare regole troppo generiche che catturano percorsi non previsti.

Domande frequenti sul reindirizzamento 301

Quanto “PageRank” passa un 301?

Un 301 permanente trasferisce la maggior parte dei segnali al nuovo URL. Il valore effettivo dipende dal contesto (qualità dei link, pertinenza, catene). La priorità è mantenere corrispondenze 1→1 e ridurre i passaggi intermedi.

Meglio 301 o 308?

Entrambi indicano spostamento permanente. Il 308 è più rigoroso nel preservare il metodo della richiesta. In ottica SEO non cambia l’intento: molti progetti continuano a usare il 301 per compatibilità e abitudine.

Posso reindirizzare una pagina non più esistente?

Sì, se esiste un’alternativa plausibile. Se non c’è una sostituzione reale, meglio lasciare 404/410: un 301 “forzato” verso la home o una categoria lontana crea confusione e può ridurre la fiducia degli utenti.

Dopo quanto tempo i motori aggiornano l’indice?

Dipende dalla frequenza di crawling e dall’importanza delle pagine. In genere gli effetti si vedono in giorni/settimane. Mantieni le regole stabili nel tempo e monitora Search Console per valutare copertura e CTR.

Devo mantenere i 301 per sempre?

Mantienili almeno per diversi mesi (spesso 12+) dopo una migrazione o un grande refactor. Se li rimuovi troppo presto, link esterni o bookmark potrebbero tornare a generare errori 404 e perdita di segnali.

Approfondimenti utili

Consulta la documentazione tecnica di MDN su 301, i riferimenti di RFC 9110 per gli status code e le guide di Google su migrazioni e gestione URL in site move.