Ogni volta che cambi CMS, sposti un sito su un nuovo dominio o anche solo modifichi la struttura degli URL, stai affrontando una migrazione. E ogni migrazione, se gestita male, brucia mesi o anni di lavoro SEO in poche ore. Il problema è uno: i motori di ricerca hanno indicizzato i tuoi vecchi URL. Se quei link smettono di funzionare senza istruzioni precise su dove trovare il contenuto equivalente, Google li rimuove dall'indice. Il traffico organico crolla, gli utenti atterrano su pagine 404 e i backlink che puntavano al vecchio sito perdono valore. La soluzione è il redirect 301, cioè un'istruzione permanente che dice al motore di ricerca: "questa pagina esiste ancora, la trovi a questo nuovo indirizzo". Ma il redirect da solo non basta: serve un metodo per decidere quali pagine reindirizzare, in che ordine e come verificare che tutto funzioni.
Redirect 301 e 302: quando usare quale
Il 301 comunica uno spostamento permanente. Il motore di ricerca trasferisce il valore SEO PageRank, segnali di authority, storico di posizionamento, dal vecchio URL al nuovo. È quello che serve nel 95% delle migrazioni.
Il 302 comunica uno spostamento temporaneo. Google mantiene il vecchio URL nell'indice perché si aspetta che torni attivo. Usalo solo se stai facendo manutenzione su una pagina e prevedi di ripristinare l'URL originale entro pochi giorni. In una migrazione strutturale il 302 è un errore, perché il trasferimento di valore SEO non avviene.
Come implementare i redirect
Su server Linux (Apache) — il metodo più diffuso è una regola nel file .htaccess nella root del sito:
Redirect 301 /vecchia-pagina.html https://www.nomedominio.it/nuova-pagina.html
Il primo parametro è il percorso relativo della vecchia pagina (senza dominio). Il secondo è l'URL completo di destinazione. Una riga per ogni pagina da reindirizzare.
Se devi gestire pattern ripetitivi (ad esempio tutte le pagine di una sottocartella) puoi usare RewriteRule con espressioni regolari:
RewriteEngine On
RewriteRule ^blog/vecchia-categoria/(.*)$ /blog/nuova-categoria/$1 [R=301,L]
Su server Windows (IIS), il redirect si configura nel file web.config con le regole di URL Rewrite. In passato si usava il meta refresh a zero secondi come alternativa:
html
<head>
<meta http-equiv="refresh" content="0;url=https://www.nomedominio.it/nuova-pagina.html" />
</head>
Questo metodo funziona ancora, ma con un vincolo preciso: la vecchia pagina deve contenere solo quel tag e nessun altro contenuto. Se lasci title, description o body, Google può interpretare la pagina come una doorway page con reindirizzamento automatico e penalizzarti. Oggi il meta refresh è da considerare un'ultima risorsa, il redirect lato server è sempre preferibile perché viene processato prima che il browser carichi qualsiasi contenuto.
Quali pagine reindirizzare
Non serve reindirizzare tutto. Serve reindirizzare le pagine che portano valore: traffico organico, backlink, posizionamenti attivi.
Il punto di partenza è Google Search Console. Vai su Rendimento, imposta un intervallo di almeno 6 mesi, poi esporta i dati. Il file che ottieni elenca ogni URL con clic, impressioni, CTR e posizione media.
Da lì costruisci la mappa dei redirect:
Pagine con traffico attivo: redirect 301 obbligatorio. Sono le pagine che portano visite reali e che, se perse, producono un calo immediato.
Pagine posizionate ma senza clic: aluta caso per caso. Se una pagina ha molte impressioni ma zero clic, probabilmente è posizionata oltre la prima pagina. Il redirect preserva comunque il segnale accumulato.
Pagine senza impressioni né clic: puoi lasciarle cadere su un 404 o un 410 (gone). Non hanno valore attivo nell'indice.
Checklist operativa per la migrazione
Ogni migrazione che ho gestito segue questa sequenza:
Prima della migrazione: esporta da Search Console l'elenco completo delle pagine indicizzate. Esporta i backlink. Crea un foglio con due colonne: vecchio URL e nuovo URL. Questa è la tua mappa di redirect.
Durante la migrazione: implementa tutti i 301 prima di mettere online il nuovo sito. Non dopo, prima. Ogni minuto in cui un vecchio URL restituisce 404 è un segnale negativo per Google.
Dopo la migrazione: verifica ogni redirect con il 404 Found per confermare che restituisca effettivamente un 301 e non un 302 o una catena di redirect multipli. Reinvia la sitemap aggiornata in Search Console. Nei giorni successivi, monitora il report Copertura per individuare eventuali errori 404 sfuggiti alla mappa.