SEO

Mappa dei redirect 301, una riga per URL

Una mappa dei redirect 301 è una tabella vecchio→nuovo con una riga per URL e una sola destinazione finale. Le catene e i 404 di arrivo si trovano con uno script.

In sintesi

  • 301 e 308 sono entrambi permanenti: il 308 conserva il metodo HTTP, il 301 no, e Google li tratta allo stesso modo.
  • Una mappa sana ha una sola riga per vecchio URL e porta sempre a una destinazione che risponde 200.
  • Il browser memorizza un 301: un redirect sbagliato è difficile da annullare per chi ha già visitato la pagina.

Una mappa dei redirect 301 è una tabella con una riga per vecchio URL e una sola destinazione finale. Se una riga porta a un'altra riga, la catena perde segnali e tempo: la mappa si controlla con uno script, non a occhio.

Da dove vengono le righe

Le righe non si inventano: arrivano da tre fonti verificabili. Il report delle 404 in Search Console dice quali URL Google ha provato a leggere; l'access log del server dice quali URL le persone hanno chiesto; la sitemap vecchia dice quali URL esistevano davvero. Il primo comando estrae i path più richiesti che oggi rispondono 404.

awk '$9 == "404" {print $7}' access.log | sed 's/?" HTTP.*//' | sort | uniq -c | sort -rn | head -n 20 > missing.txt
wc -l missing.txt

Il comando legge il campo 7 del log combinato, che contiene il path richiesto, tiene le righe con stato 404, toglie la query string e ordina per frequenza. In missing.txt restano i venti path rotti più richiesti: sono i candidati della mappa, non tutti i 404 del sito. Un path chiesto una volta può ignorarlo; uno chiesto duecento volte è un link esterno rotto.

Una mappa, una destinazione

  • Una riga per vecchio URL: due regole per lo stesso path rendono l'esito dipendente dall'ordine del server.
  • Destinazione finale, non intermedia: se /a porta a /b e /b porta a /c, la mappa deve portare /a a /c.
  • La destinazione risponde 200: un redirect verso un 404 è peggio di nessun redirect.
  • Solo redirect permanenti: 301 o 308. Un 302 dice a Google che il vecchio URL tornerà, e il vecchio URL resta nei risultati.

Il controllo prima del deploy

while IFS=
\t' read -r from to; do code=$(curl -s -o /dev/null -w "%{http_code}" "https://example.com$from") echo "$code $from -> $to" done < redirects.tsv

Lo script legge un file con due colonne separate da tabulazione, vecchio URL e nuovo, e chiede ogni vecchio URL senza seguire il redirect. Una riga che stampa 200 significa che il redirect non è attivo; 301 o 308 è il caso atteso; 404 sulla destinazione si vede solo seguendo il redirect, con curl -L. La documentazione di Google sui redirect, letta il 1 novembre 2026, conferma che 301 e 308 indicano entrambi uno spostamento permanente e che un redirect temporaneo mantiene il vecchio URL nei risultati.

Il catalogo EneUI

Sui cataloghi grandi il rischio è il cambio di slug: le 111.985 schede sotto /components, i 1.556 blocchi sotto /blocks e le 30 categorie come /blocks/category/table con 13 blocchi sono URL pubblici. Quando una fonte cambia nome il record si sposta, e senza una riga di mappa il vecchio URL muore. La regola che usiamo: lo slug non cambia mai; se cambia, la riga di redirect entra nello stesso commit. Verificato il 1 novembre 2026.

La limitazione

Un 301 viene memorizzato dal browser, spesso senza scadenza: chi ha già visitato il vecchio URL continuerà a finire sul nuovo anche dopo che la regola è stata rimossa. Per questo la mappa si prova in staging, e per questo un redirect sbagliato non si annulla con un deploy. La mappa, inoltre, non ripara i link esterni che puntano a un 404 mai esistito: quelli richiedono link nuovi o una pagina che risponda.

Dove continuare

I redirect di lingua nel middleware sono in middleware per il redirect di locale; la differenza fra canonical e redirect è in canonical, la guida pratica; la sequenza per entrare nell'indice è in indicizzare un sito su Google.

Domande frequenti

Meglio 301 o 302?

301 se lo spostamento è definitivo, 302 se è temporaneo. Con un 302 Google mantiene il vecchio URL nei risultati, quindi non usarlo per un cambio di slug permanente.

301 e 308 sono equivalenti per Google?

Sì, entrambi indicano uno spostamento permanente. Il 308 conserva il metodo HTTP della richiesta, il 301 no; per il posizionamento la differenza non conta.

Quante righe può avere una mappa?

Quante servono, senza duplicati: una riga per vecchio URL. Su un sito grande la mappa vive in un file o in una tabella, non a mano nel codice.

Un redirect passa tutti i segnali?

Google usa il redirect come segnale forte per spostare il canonical, ma non è una garanzia matematica. Una catena di tre redirect indebolisce il segnale: meglio un salto solo.

Come trovo i redirect da creare?

Dal report 404 di Search Console, dall'access log e dalla sitemap precedente. Un URL chiesto molte volte e assente è il primo candidato.