Guida alla migrazione SEO: Come cambiare piattaforma senza perdere il posizionamento (2026)
Che tu stia passando da WordPress a PHP personalizzato, da Shopify a WooCommerce, o da qualsiasi piattaforma a un’altra, i rischi sono gli stessi: traffico perso, posizionamenti in calo e link rotti. Ho migrato oltre 30 siti – da piccoli blog a negozi e-commerce di 500.000 pagine – e ho imparato esattamente cosa preserva (e spesso migliora) il valore SEO. Segui questa guida per evitare le insidie comuni.
Perché le migrazioni falliscono – La dura verità
- Cambiare le strutture degli URL senza implementare reindirizzamenti 301.
- Perdere metadati (tag titolo, meta descrizioni, tag canonici).
- Rompere i link interni a causa dei nuovi pattern URL.
- Lanciare senza testare i reindirizzamenti in un ambiente di staging.
Questa guida affronta ciascuno di questi problemi. Segui ogni passaggio e preserverai – a volte persino migliorerai – il tuo posizionamento.
Fase 1: Audit pre‑migrazione – Cattura la tua base SEO
Prima di toccare qualsiasi cosa, documenta le prestazioni SEO attuali del tuo sito. Ne avrai bisogno per confrontare dopo il lancio.
1. Esegui il crawl dell’intero sito
Usa Screaming Frog SEO Spider (gratuito fino a 500 URL) per estrarre:
- Tutti gli URL interni (incluse immagini, PDF, ecc.).
- Tag titolo, meta descrizioni e H1 per ogni pagina.
- Tag canonici.
- Codici di risposta (200, 301, 404).
- Link interni ed esterni.
Esporta il crawl in CSV. Questa diventa la tua lista principale di mappatura degli URL.
2. Registra i posizionamenti per le prime 50 parole chiave
Usa Google Search Console (rapporto sulle prestazioni) o uno strumento a pagamento come SEMrush/Ahrefs. Esporta posizioni, impressioni e CTR degli ultimi 3 mesi.
3. Documenta i livelli di traffico organico
In Google Analytics (o GA4), registra gli ultimi 30 giorni di sessioni organiche, frequenza di rimbalzo e dati di conversione. Fai screenshot. Li confronterai dopo il lancio.
4. Scarica tutti i backlink
Google Search Console → Link → Link esterni → Esporta. Salva l’elenco dei domini e delle pagine che linkano. Dovrai assicurarti che questi vecchi URL reindirizzino correttamente.
5. Salva la sitemap XML
Se il tuo vecchio sito ha una sitemap (es. `/sitemap.xml`), scaricala. È un elenco rapido di tutti gli URL indicizzati.
Fase 2: Mappatura degli URL – Il passo più critico
Se mantieni esattamente gli stessi percorsi URL, eviti la maggior parte dei rischi di migrazione. Ma spesso vorrai pulire gli URL (rimuovere date, accorciare categorie). Crea una mappatura 1:1 da ogni vecchio URL al suo equivalente nuovo.
Regole di mappatura di esempio:
<code>/2023/01/perche-php-personalizzato → /blog/perche-php-personalizzato<br>/categoria/web-design → /servizi/web-design<br>/prodotto?id=123 → /prodotti/nome-prodotto<br>/contattaci → /contatto (mantieni uguale se possibile)</code>
Strumenti per creare il tuo file di mappatura:
- Excel/Google Sheets manuale – per siti piccoli (<500 URL).
- Script Python con regex – per siti grandi.
- Esportazione CMS + formule di foglio di calcolo – se la tua nuova piattaforma ha uno schema.
Salva la mappatura come CSV con le colonne: old_url, new_url.
Fase 3: Implementa i reindirizzamenti 301
Un reindirizzamento 301 dice a Google: “Questa pagina è stata spostata permanentemente.” Google trasferisce quasi il 100% del potere di ranking della vecchia pagina al nuovo URL. Non usare mai reindirizzamenti 302 (temporanei) per spostamenti permanenti.
Opzione A – Apache .htaccess (meglio per < 200 reindirizzamenti)
<code>Redirect 301 /vecchio-url /nuovo-url<br>Redirect 301 /2023/01/perche-php-personalizzato /blog/perche-php-personalizzato</code>
Opzione B – Mappa PHP dei reindirizzamenti (meglio per migliaia di reindirizzamenti)
<code><?php<br>$redirects = json_decode(file_get_contents(__DIR__ . '/redirects.json'), true);<br>$request = $_SERVER['REQUEST_URI'];<br>if (isset($redirects[$request])) {<br> header('HTTP/1.1 301 Moved Permanently');<br> header('Location: ' . $redirects[$request]);<br> exit;<br>}<br>?></code>
Opzione C – Nginx (usa `map` per molti reindirizzamenti)
<code>map $request_uri $new_uri {<br> /vecchio-url /nuovo-url;<br> /vecchio-url2 /nuovo-url2;<br>}<br>server {<br> if ($new_uri) {<br> return 301 $new_uri;<br> }<br>}</code>
Regola critica: Niente catene di reindirizzamento – Non fare mai A → B → C. Ogni salto perde una piccola quantità di link juice. Reindirizza sempre direttamente A → C.
Fase 4: Preserva i metadati – Tag titolo, Meta descrizioni, Canonici
Il tuo nuovo sito deve produrre esattamente gli stessi tag titolo e meta descrizioni del vecchio sito (o migliori).
- Se utilizzi un CMS (WordPress, Shopify), esporta i metadati tramite plugin o CSV.
- Se stai costruendo un sito PHP personalizzato, memorizza i metadati in una tabella del database o in un array PHP indicizzato per URL.
Esempio di implementazione PHP personalizzata:
<code><?php<br>$pageMetadata = [<br> '/servizi/web-design' => [<br> 'title' => 'Web Design Personalizzato | BuiltToWinWeb',<br> 'description' => 'Siti web PHP codificati a mano che ottengono 100 su Lighthouse.'<br> ]<br>];<br>if (isset($pageMetadata[$_SERVER['REQUEST_URI']])) {<br> $meta = $pageMetadata[$_SERVER['REQUEST_URI']];<br> echo '<title>' . htmlspecialchars($meta['title']) . '</title>';<br> echo '<meta name="description" content="' . htmlspecialchars($meta['description']) . '">';<br>}<br>?></code>
Fase 5: Testa tutto in un ambiente di staging
Prima di andare live, clona il tuo sito in un sottodominio di staging (es. `staging.tuodominio.com`). Testa:
- Tutti i reindirizzamenti – usa Screaming Frog per eseguire il crawl dei vecchi URL e verificare che restituiscano 301 ai nuovi URL.
- Metadati – controlla un campione di pagine per titoli e descrizioni corretti.
- Link interni – nessun link rotto verso vecchi URL.
- Core Web Vitals – esegui Lighthouse. Se i punteggi sono peggiori del vecchio sito, esegui il debug.
Fase 6: Giorno del lancio – Cambia DNS e invia la sitemap
- Punta il DNS al tuo nuovo server (il TTL dovrebbe essere impostato a 300 secondi in anticipo).
- Invia immediatamente la tua nuova sitemap XML in Google Search Console (Sitemap → Aggiungi).
- Usa lo strumento “Ispeziona URL” per recuperare come Google e richiedere l’indicizzazione per le tue pagine più importanti.
- Monitora i log in tempo reale per errori 404 (usa un visualizzatore di log del server o uno strumento come LogHound).
Fase 7: Monitoraggio post‑lancio – I primi 30 giorni
Qui falliscono la maggior parte delle migrazioni – lanciano e presumono che tutto vada bene.
Controlli giornalieri (prima settimana):
- Google Search Console → Copertura → Errori. Qualche 404? Risolvilo immediatamente (aggiungi i reindirizzamenti mancanti).
- Google Analytics → Tempo reale per assicurarti che il traffico stia arrivando sul nuovo sito.
Controlli settimanali (settimane 2‑4):
- Confronta il traffico organico con la baseline pre‑migrazione (Google Analytics). Un piccolo calo (5‑10%) è normale; qualsiasi cosa più grande indica un problema.
- Esegui di nuovo il rapporto delle parole chiave principali. Se i posizionamenti sono diminuiti per pagine specifiche, verifica se quegli URL reindirizzano correttamente.
- Monitora i 404 dei backlink – usa Ahrefs o GSC per vedere se i link esterni ora sono rotti.
Se noti un calo:
- Controlla di non aver bloccato accidentalmente robots.txt o aggiunto tag `noindex`.
- Assicurati che il nuovo sito sia più veloce (Core Web Vitals). I miglioramenti della velocità spesso compensano le piccole perdite di reindirizzamento.
- Reinvia la sitemap e usa “Ispeziona URL” su alcune pagine chiave.
Insidie comuni della migrazione (e come evitarle)
- Insidia: Passare da HTTP a HTTPS senza reindirizzare tutti gli URL HTTP. Soluzione: Aggiungi un reindirizzamento globale HTTP→HTTPS a livello di server.
- Insidia: Migrare a un nuovo dominio e non aggiornare la proprietà di Google Search Console. Soluzione: Aggiungi il nuovo dominio come proprietà e invia un cambio di indirizzo.
- Insidia: Perdere gli URL delle immagini (immagini rotte). Soluzione: Mantieni la stessa struttura di percorso per `/wp-content/uploads/` o crea reindirizzamenti per gli URL delle immagini.
- Insidia: Link interni che puntano a vecchi URL (hardcoded). Soluzione: Usa una ricerca e sostituzione sul tuo database o codebase prima del lancio.
Caso di studio: Migrazione e-commerce di 50.000 pagine – 0% di perdita di traffico
Un grande rivenditore online è passato da Magento a una piattaforma PHP personalizzata. La sfida: 50.000 URL di prodotto dovevano cambiare da `/catalog/product/view/id/123/` a `/prodotti/nome-prodotto/`.
Processo:
- Esportazione di tutti i vecchi URL dal database di Magento.
- Generazione di nuovi slug SEO friendly basati sui nomi dei prodotti.
- Creazione di una mappatura CSV con 50.000 righe.
- Utilizzo di una mappa PHP di reindirizzamenti (file JSON) per gestire i 301 – nessun gonfiore di .htaccess.
- Preservazione di tutti i metadati (titoli, descrizioni) memorizzandoli in una tabella personalizzata indicizzata per nuovo URL.
- Staging e test dei reindirizzamenti con un crawler – copertura del 99,8%.
Risultati:
- Zero perdita di traffico organico nei primi 30 giorni.
- Dopo 60 giorni, il traffico è aumentato del 12% grazie a un caricamento più rapido delle pagine (PHP personalizzato vs Magento).
- Nessun errore 404 in Search Console dopo la prima settimana.
- Le entrate dalla ricerca organica sono aumentate del 18% entro 3 mesi.
Il cliente ora possiede il codice, non paga le tariffe di licenza di Magento e può aggiornare gli URL all’istante.
Lista di controllo per la migrazione (Riepilogo PDF stampabile)
- ☐ Pre‑migrazione: crawl, posizionamenti, traffico, backlink, sitemap.
- ☐ Mappatura URL: CSV 1:1 da vecchio → nuovo.
- ☐ Implementare reindirizzamenti 301 (nessuna catena).
- ☐ Preservare metadati (titoli, descrizioni, canonici).
- ☐ Testare in staging (crawl Screaming Frog, Lighthouse).
- ☐ Lancio: DNS, invia sitemap, ispeziona URL.
- ☐ Monitorare GSC quotidianamente per 30 giorni, correggere i 404.
- ☐ Dopo 30 giorni, confrontare posizionamenti e traffico.
Pronto per migrare senza stress?
Ho migrato oltre 30 siti – da piccoli blog aziendali a e-commerce enterprise. Gestisco l’intero processo: mappatura degli URL, implementazione dei reindirizzamenti, migrazione dei metadati, test in staging e monitoraggio post‑lancio. Manterrai il tuo posizionamento e spesso vedrai un miglioramento delle prestazioni.
Parliamo della tua migrazione. Ti fornirò un piano di migrazione e un preventivo gratuiti e senza impegno.
Dati da migrazioni reali di clienti eseguite da BuiltToWinWeb. I risultati individuali possono variare in base alla complessità del sito e alla salute SEO esistente.