301 redirect: guida ai redirect permanenti

Che cos’è un redirect 301 permanente, perché Google dice che non causa una perdita di PageRank, quanto mantenerlo, come implementarlo su Apache, nginx, WordPress e Cloudflare e quali errori di "301 falso" fanno perdere segnali in silenzio.

Prima pubblicazione: 2 lug 2026 · Ultimo aggiornamento: 22 ago 2026 · Advanced
Lingue
1 segnale di evidenza in questa pagina

Un redirect 301 è il codice di stato HTTP per uno spostamento permanente (301 Moved Permanently). È il modo più forte e semplice per inviare utenti e bot da un vecchio URL a uno nuovo e consolidare i segnali di ranking sulla destinazione. Google è esplicito: i redirect permanenti non causano una perdita di PageRank; ignora quindi il vecchio mito della perdita del 10–15 % a ogni hop e non citare una percentuale precisa dell’equità trasferita, perché Google non ne pubblica una. Usa un vero 301 lato server (non una soluzione JavaScript o un meta refresh ritardato), reindirizza i vecchi URL uno a uno verso l’equivalente pertinente (non tutto alla home, che rischia un soft 404), mantieni corte le catene (meno di circa 5 hop) e lascia il redirect attivo in genere almeno un anno perché tutti i segnali si trasferiscano. Sul server è istantaneo; il consolidamento dell’indice richiede da settimane a circa un anno.

TL;DR — Un 301 (HTTP “301 Moved Permanently”) è una risposta lato server che sposta permanentemente un URL ed è il segnale più forte per consolidare il ranking sulla destinazione. Google dice esplicitamente che i redirect permanenti non causano una perdita in PageRank: la regola della “perdita di circa il 15% a ogni hop” è superata e non esiste una percentuale pubblicata dell’equità trasferita, quindi non inventarne una. Implementalo sul server (Apache, nginx, codice dell’applicazione) o sull’edge (Cloudflare), non con JavaScript né con un meta refresh ritardato. Reindirizza i vecchi URL al loro equivalente pertinente uno a uno, non tutti alla home, che Google potrebbe riclassificare come soft 404. Mantieni corte le catene (Google segue fino a 10 hop ma raccomanda di restare sotto circa 5; Mueller ha parlato di circa 5 per crawl). Sul server è istantaneo; il consolidamento completo di indice e segnali richiede da settimane a in genere almeno un anno.

Che cos’è davvero un 301

A 301 doesn't just forward visitors — it consolidates a page's signals onto its new home. Fonte: /technical-seo/http-status-codes/redirects/301-redirect/

© Patrick Stox LLC · CC BY 4.0 ·

Un 301 è un codice di stato HTTP, “301 Moved Permanently”, restituito dal server (o dall’edge della CDN) negli header della risposta, prima di qualsiasi corpo della pagina. È questo il punto importante: un 301 reale avviene a livello di protocollo, nella risposta alla richiesta. Non è una funzione di plugin, un tag <meta> o uno snippet JavaScript: sono soluzioni alternative per i casi in cui non puoi agire sul server e si comportano in modo diverso (ne parleremo sotto).

Google dà una definizione semplice: i codici di stato 301 e 308 significano che una pagina è stata spostata permanentemente in una nuova posizione. (308 è il codice più recente per un redirect permanente e preserva anche il metodo della richiesta; ai fini SEO Google tratta 301 e 308 allo stesso modo e consiglia di usare, se possibile, redirect permanenti HTTP come 301 e 308.)

Evidence for this claim RFC 9110 defines 301 Moved Permanently as meaning the target resource has a new permanent URI and future references ought to use one of the enclosed URIs. Scope: HTTP semantics for 301 responses; user agents may change POST to GET for historical reasons. Confidence: high · Verified: IETF: RFC 9110 §15.4.2 — 301 Moved Permanently

Prima di implementarne uno conviene conoscere alcuni dettagli di protocollo: una risposta 301 è memorizzabile in cache per euristica per impostazione predefinita, quindi un browser o una cache intermedia può conservarla; è proprio per questo che un redirect “corretto” può continuare a mandare i tester alla vecchia destinazione finché la cache non viene svuotata. Inoltre, poiché il 301 esiste dai tempi di HTTP/1.0, uno user agent può trasformare una richiesta POST in GET quando lo segue: non dare per scontato che un 301 preservi il metodo originale in un invio di modulo; usa invece un 308 se è importante. L’header Location deve essere soltanto un riferimento URI (tecnicamente può essere relativo), anche se in pratica puntare a un URL assoluto evita ambiguità.

Come Google elabora un 301 (canonicalizzazione e indicizzazione)

Un redirect permanente è uno dei segnali di canonicalizzazione più forti che Google possiede. Quando Googlebot segue un 301, la pipeline di indicizzazione usa il redirect come segnale che la destinazione dovrebbe essere l’URL canonico. Google conserva una registrazione di entrambe le estremità: quando reindirizzi un URL, Google tiene traccia sia della fonte del redirect, il vecchio URL, sia della destinazione, il nuovo URL. Uno degli URL sarà quello canonico; l’altro diventerà un nome alternativo dell’URL canonico.

Evidence for this claim Google treats 301 and 308 as permanent redirects and uses a permanent redirect as a strong signal that the target should be canonical. Scope: Google Search redirect and canonicalization behavior; a redirect remains one signal among others. Confidence: high · Verified: Google: Redirects and Google Search

Ecco perché a volte continui a vedere un vecchio URL nei risultati per un po’ dopo uno spostamento: Google lo conserva come “alternate name” (nome alternativo). Google dice di non farsi prendere dal panico: per uno spostamento di dominio, “it’s very likely that Google will continue to occasionally show the old URLs in the results, even though the new URLs are already indexed. This is normal… the alternate names will fade away without you doing anything.” (traduzione) «è molto probabile che Google continui a mostrare occasionalmente i vecchi URL nei risultati, anche se i nuovi URL sono già indicizzati. È normale… i nomi alternativi scompariranno senza che tu debba fare nulla.»

Un redirect prevale su segnali di canonicalizzazione più deboli. Gary Illyes ha espresso così la gerarchia: un redirect dovrebbe avere un peso molto maggiore del fatto che la pagina sia su un URL http o https. Quindi un 301 imprevisto può sostituire in silenzio un canonical tag o una preferenza HTTPS che puntano dall’altra parte. (Approfondimento completo in canonicalization.)

Vale la pena essere precisi su ciò che questo segnale promette e non promette: un 301 è un forte segnale per la destinazione canonica, non una garanzia. Dice a Google quale URL dovrebbe essere canonico; non garantisce che quell’URL venga indicizzato, che si posizioni, che il traffico lo segua o che ogni altro segnale (link, qualità dei contenuti, autorevolezza del sito) venga trasferito automaticamente. Tratta “scelta canonica” e “risultati di indicizzazione, ranking e traffico” come domande separate: un 301 risponde direttamente solo alla prima.

Il mito del PageRank: capirlo esattamente

Questo è il fatto sui 301 che viene deformato più di tutti, quindi ecco la versione precisa.

La formulazione esatta di Google è: i redirect permanenti 301 e gli altri non causano una perdita in PageRank. Tutto qui. Non “conservi l’85%”, non “perdi il 10–15% a ogni hop”. Nessuna perdita.

La regola della “perdita di circa il 15% a ogni hop” risale a vecchie dichiarazioni, precedenti al 2016, sul damping del PageRank attraverso i redirect (attribuite comunemente a Matt Cutts). Google l’ha smentita pubblicamente intorno al 2016: secondo quanto riportato allora, Google ha smesso di applicare la diluizione del PageRank attraverso i redirect 30x e la destinazione riceve l’autorevolezza.

Il corollario che manda in confusione nella direzione opposta è questo: non affermare che un 301 trasferisca dal 90 al 99% dell’equità dei link. Google non pubblica alcun numero del genere. «Non causa una perdita in PageRank» è un’affermazione direzionale, non una percentuale: ogni percentuale precisa che trovi è folklore, non qualcosa che Google abbia mai confermato. Cita la formulazione «nessuna perdita»; non inventare mai una cifra.

Aggiungo una mia nota di cautela. Ho testato davvero l’affermazione secondo cui i “signals stick after a year” (i segnali restano dopo un anno), rimuovendo i 301 da quattro post Ahrefs con molti link e osservando il risultato (È corretto rimuovere i redirect 301 dopo un anno? Lo abbiamo testato). I domini referenti sono diminuiti sensibilmente dopo la rimozione dei redirect e il traffico organico è stato misto: un post è salito, uno è sceso, due sono rimasti più o meno stabili e un apparente “calo” in realtà precedeva la rimozione. La mia conclusione onesta è: non sono disposto ad affermare in modo conclusivo che i redirect permanenti trasferiscano valore anche dopo un anno, ma ciò che ha detto Gary sembra essere per lo più vero. Il campione è piccolo, quindi resto prudente; la conseguenza pratica è quella noiosa: non rimuovere i redirect.

Le tempistiche: tre orologi diversi

A 301 has three different clocks: server, index, and full signal consolidation. Fonte: /technical-seo/http-status-codes/redirects/301-redirect/

© Patrick Stox LLC · CC BY 4.0 ·

“Quanto tempo impiega un 301 a funzionare?” dipende da quale orologio intendi:

  • Il server: istantaneo. Appena la regola è attiva, ogni richiesta riceve un 301 e gli utenti arrivano al nuovo URL. Nessuna attesa.
  • L’indice: da giorni a settimane. Google deve rieseguire il crawl del vecchio URL, vedere il redirect ed elaborare la destinazione. La formulazione di Google è che un sito piccolo o medio può richiedere alcune settimane per spostare la maggior parte delle pagine, mentre i siti grandi richiedono più tempo; la visibilità dei contenuti nella Ricerca può oscillare temporaneamente durante lo spostamento. È normale.
  • Il consolidamento completo dei segnali: in genere almeno un anno. Google consiglia di mantenere i redirect il più a lungo possibile, in genere almeno 1 anno: questo periodo permette di trasferire tutti i segnali ai nuovi URL e, dal punto di vista degli utenti, vale la pena valutarne il mantenimento indefinito. È la stessa cifra di un anno indicata da Illyes quando ha detto che ai segnali serve circa un anno per passare completamente dalla fonte alla destinazione.

Regola pratica: mantieni i 301 per almeno un anno e, se gli URL non ti costano nulla, in realtà conservali per sempre.

Implementare un 301

Fallo il più vicino possibile al server. Ecco i quattro percorsi che coprono quasi tutti i casi. (Sono illustrativi: adatta percorsi e hostname alla tua configurazione; la scheda Scripts contiene versioni da copiare e incollare e spiega anche come testarle.)

Esegui un backup del tuo .htaccess o della configurazione nginx prima di modificarla: una regola malformata può mandare offline l’intero sito, non solo l’URL che stai reindirizzando.

Apache (.htaccess)

Per un singolo URL con mod_alias:

Redirect permanent "/old-page" "https://example.com/new-page"

Per regole basate su pattern con mod_rewrite:

RewriteEngine on
RewriteRule "^/service$" "/about/service" [R=301,L]

nginx

location = /service {
  return 301 https://example.com/about/service;
}

WordPress

WordPress non ha un redirect manager integrato, quindi devi aggiungerne uno:

  • Il plugin Redirection (gratuito): la scelta più comune; aggiungi fonte → destinazione in un’interfaccia, senza codice.
  • Yoast SEO Premium: il suo Redirect Manager può creare automaticamente un redirect quando elimini o cambi lo slug di un URL. Nota che la versione gratuita di Yoast non ha un redirect manager (molti tutorial saltano questo dettaglio).
  • A livello server: se puoi modificare direttamente .htaccess/nginx, una regola server è più veloce di un plugin basato su PHP, che viene eseguito a ogni richiesta.

Cloudflare

Se usi Cloudflare, puoi reindirizzare sull’edge, prima che la richiesta raggiunga l’origine:

  • Single Redirects: regole singole nella dashboard.
  • Bulk Redirects: un elenco di redirect (migliaia di coppie fonte → destinazione) applicato a livello di account. È davvero utile per una migrazione completa, perché non devi toccare affatto la configurazione dell’origine, una comodità quando il vecchio server viene dismesso.

Codice dell’applicazione (esempio PHP)

header('HTTP/1.1 301 Moved Permanently');
header('Location: https://www.example.com/new-url');
exit();

I 301 “falsi”: il modo di fallire che nessuno controlla

Ecco un caso controintuitivo da comprendere bene: un URL può restituire 200 OK e continuare a reindirizzare. Come ho scritto in 11 tipi di redirect e il loro impatto SEO, un redirect può essere in corso usando qualsiasi codice di stato: una pagina può mostrare un codice di stato 200 OK ma in realtà stare ancora reindirizzando tramite JavaScript dopo il caricamento. Questo “redirect” è invisibile a un controllo rapido del codice di stato e non offre nessuna delle garanzie di un 301.

Le indicazioni di Google ordinano i metodi in questo modo:

  • Lato server (301/308): la scelta migliore. Usalo ogni volta che è tecnicamente possibile.
  • Meta refresh: dipende dalla tempistica. Google: un meta refresh istantaneo viene interpretato come redirect permanente; un meta refresh ritardato (che scatta dopo N secondi) viene interpretato come temporaneo. Quindi un refresh content="5;url=…" non è un sostituto del 301.
  • JavaScript: ultima risorsa. Google consiglia di usare i redirect JavaScript solo se non puoi fare un redirect lato server o meta refresh; se il rendering del contenuto fallisce, Google potrebbe non vederli. Se il rendering non termina, per Google il redirect di fatto non esiste.
  • Pseudo-redirect “Crypto”/solo link: da evitare. Una pagina che si limita a collegare al nuovo URL senza codice di stato né refresh potrebbe non essere riconosciuta dai motori di ricerca come redirect ufficiale. Non farci affidamento.

La lezione è questa: se ti importa della SEO, verifica che il redirect sia un vero 301 lato server, non un 200 che reindirizza nel browser. La scheda Scripts mostra come controllarlo con curl.

Errori comuni con i 301

  • Reindirizzare tutto alla home page. Il classico errore. Google avverte di non reindirizzare molti vecchi URL verso un’unica destinazione irrilevante, come la home page: questo può confondere gli utenti e potrebbe essere trattato come un errore soft 404. Un soft 404 non consoliderà il segnale in modo affidabile. Reindirizza alla sostituzione pertinente; se hai davvero consolidato diverse pagine in una, va bene reindirizzarle tutte alla nuova pagina combinata.
  • Catene di redirect lunghe. Google seguirà “up to 10 hops” (fino a 10 hop), ma consiglia di andare direttamente alla destinazione finale, “ideally no more than 3 and fewer than 5.” (idealmente non più di 3 e meno di 5.) Mueller ha detto che Google segue circa 5 hop per tentativo di crawl sugli URL esplorati di frequente. Anche la mia soglia pratica coincide: non mi preoccupano le catene sotto circa 5 hop, ma oltre 5 ho visto problemi. Le catene aggiungono anche latenza per gli utenti reali. Quando aggiungi un nuovo redirect, aggiorna le vecchie regole per puntare all’URL finale, non all’hop precedente.
  • Usare un 302 quando intendi un 301. Un 302 dice a Google che l’URL originale dovrebbe restare quello canonico, quindi uno spostamento permanente eseguito con un 302 può lasciare indicizzato l’URL sbagliato. Google può reinterpretare alla fine un 302 di lunga durata come permanente, ma la tempistica è indefinita: come ho scritto, nessuno sa davvero quanto ci voglia, “usually a few weeks to a few months” (di solito da alcune settimane ad alcuni mesi). Usa semplicemente il codice di stato che corrisponde al tuo intento.
  • Rimuovere i redirect troppo presto. Meno di un anno rischia di lasciare il valore sul vecchio URL morto. Mantienili almeno un anno, idealmente per sempre.
  • Regole wildcard troppo ampie. Un catch-all per un’intera cartella spesso manda gli URL nel posto sbagliato. Mappa vecchio → nuovo uno a uno per quanto possibile.
  • Dimenticare gli asset non HTML. In una migrazione reindirizza anche immagini e PDF; non è necessario reindirizzare file JS/CSS/font.
  • Lasciare il vecchio host offline troppo presto. Una regola di redirect non può gestire una richiesta che non lo raggiunge: se dismetti il DNS del vecchio dominio, lasci scadere il certificato TLS o spegni il vecchio server prima che i redirect abbiano terminato il lavoro, visitatori e bot riceveranno un errore di connessione invece di un 301. Mantieni attivi DNS, certificato e regole di redirect del vecchio host per tutto il tempo in cui mantieni i redirect.

Bing

Bing tratta un 301 come un segnale forte per consolidare il ranking sul target e rimuovere il vecchio URL dal proprio indice, secondo lo stesso modello di base di Google. Le indicazioni di lunga data di Bing raccomandano di mantenere un redirect permanente per un minimo più breve (nell’ordine di alcuni mesi) rispetto all’anno circa indicato da Google e le sue indicazioni sulla migrazione dicono che normalmente i 301 sono sufficienti: il suo Site Move tool non li sostituisce. Se servi entrambi i motori (e lo fai), la scelta sicura è seguire l’indicazione più severa: veri 301 lato server, mantenuti per almeno un anno.

Evidence for this claim Google treats 301 and 308 as permanent redirects and uses a permanent redirect as a strong signal that the target should be canonical. Scope: Google Search redirect and canonicalization behavior; a redirect remains one signal among others. Confidence: high · Verified: Google: Redirects and Google Search

Dove si colloca

Un 301 è un codice di stato all’interno di una famiglia. Si abbina soprattutto al redirect 302 (la controparte temporanea): la decisione 301 vs. 302 in realtà è “lo spostamento è permanente oppure no?” È un parente stretto della canonicalizzazione (un 301 è un segnale canonico forte, ma per spostare una pagina, non per consolidare duplicati che restano entrambi attivi; per quelli serve rel="canonical"). Ed è la struttura portante di ogni migrazione del sito. Per l’insieme più ampio di codici, 302/307 temporanei, 308 permanente, 404/410 pagina rimossa, errori 5xx, consulta il cluster dei codici di stato HTTP in cui rientra questa pagina.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.