La migrazione del mio WordPress non è riuscita: cosa devo fare?

La migrazione del tuo WordPress non è riuscita o ha lasciato il sito a metà? Scopri cosa può essere andato storto, quali controlli sono sicuri e perché non eliminare ancora il vecchio sito.

Apri un ticket di supporto

Migrare un sito WordPress significa spostarlo su un nuovo server, un nuovo provider di hosting o un nuovo dominio. Quando la migrazione non riesce, il sito può finire in una scomoda via di mezzo: in parte sul vecchio server, in parte sul nuovo, e non del tutto funzionante su nessuno dei due.

Potresti notare che:

  • il nuovo sito mostra errori o una pagina bianca
  • le pagine si caricano, ma mancano le immagini
  • i link o la pagina di login ti riportano al vecchio dominio
  • il browser mostra un avviso "non sicuro"
  • alcuni visitatori vedono il vecchio sito e altri quello nuovo
  • l’importazione del database si è interrotta con un errore
  • la bacheca non è accessibile

Una migrazione non riuscita può essere stressante, soprattutto se il sito è parte della tua attività. Però, finché esistono ancora il sito originale e un backup, la situazione si può quasi sempre recuperare.

La regola più importante è semplice: non eliminare il vecchio sito finché quello nuovo non è stato controllato a fondo.

Questa guida spiega cosa va storto di solito durante una migrazione, cosa puoi controllare in sicurezza, cosa evitare e quando è meglio chiedere supporto tecnico.

Cosa significa di solito una migrazione non riuscita?

Un sito WordPress è composto da due parti principali:

  • i file: WordPress stesso, temi, plugin e media caricati
  • il database: pagine, articoli, impostazioni, utenti, ordini e molto altro

Una migrazione copia entrambe le parti nella nuova posizione, le collega e poi punta il dominio verso il nuovo server.

Una migrazione non riesce quando uno di questi passaggi è incompleto o sbagliato. Per esempio:

  • alcuni file non sono stati copiati
  • il database è stato importato solo in parte
  • le impostazioni del sito fanno ancora riferimento al vecchio indirizzo
  • il dominio punta ancora al vecchio server
  • il nuovo server è configurato in modo diverso

La buona notizia è che ognuno di questi problemi si può controllare separatamente.

Cosa può essere andato storto?

Il sito è migrato solo a metà

Nei siti grandi il trasferimento può andare in timeout. Un plugin di migrazione o un caricamento manuale possono interrompersi senza un errore chiaro, lasciando indietro alcuni file o tabelle del database.

I segnali tipici sono immagini mancanti, plugin mancanti, un tema che sembra rotto o pagine che sul nuovo sito non esistono.

WordPress salva l’indirizzo del sito nelle impostazioni e dentro i contenuti: nei link, nei percorsi delle immagini e in alcune impostazioni dei plugin. Se il dominio è cambiato e questi riferimenti non sono stati aggiornati, il nuovo sito potrebbe caricare le immagini dal vecchio server o rimandarci i visitatori.

Può sembrare tutto a posto finché il vecchio sito è online, e poi rompersi nel momento in cui viene spento.

Avvisi di contenuti misti

Se il nuovo sito usa HTTPS ma alcuni contenuti vengono ancora caricati via HTTP, i browser possono mostrare un avviso "non sicuro" o bloccare parti della pagina. Succede spesso dopo il passaggio a un nuovo dominio o l’attivazione di un certificato SSL durante la migrazione.

Il DNS non si è ancora propagato

Quando il dominio viene puntato verso un nuovo server, la modifica non è visibile ovunque nello stesso momento. Per un po’ alcuni visitatori potrebbero raggiungere il vecchio server e altri quello nuovo. È normale, ma durante i test può creare confusione.

Il vecchio sito è ancora online e riceve ordini

È il rischio più importante per siti ecommerce e siti con aree riservate agli iscritti.

Se i clienti continuano a fare ordini, registrarsi o inviare moduli sul vecchio sito dopo la copia del database, quei nuovi dati esistono solo sul vecchio server. Se poi il vecchio sito viene eliminato, i dati possono andare persi. Se restano online entrambi i siti, i tuoi dati finiscono divisi in due posti.

Errori nell’importazione del database

L’importazione del database può non riuscire perché:

  • il file supera il limite di caricamento
  • l’importazione va in timeout
  • il nuovo server del database usa una versione diversa
  • un set di caratteri o una collation non sono supportati
  • il prefisso delle tabelle non corrisponde a wp-config.php

Un database importato solo in parte può produrre errori, contenuti mancanti o il messaggio "Error establishing a database connection".

Permessi dei file e configurazione del server

Sul nuovo server i file potrebbero appartenere all’utente sbagliato o avere permessi sbagliati. Questo può impedire a WordPress di caricare media, installare aggiornamenti o addirittura avviarsi. Anche differenze nella versione di PHP o nelle regole del server possono causare errori che prima non c’erano.

Non eliminare il vecchio sito

Finché il nuovo sito non è stato testato a fondo, il vecchio sito è la tua rete di sicurezza.

Conserva:

  • il vecchio account di hosting attivo
  • i vecchi file e il vecchio database
  • un backup completo fatto prima dell’inizio della migrazione

Se il vecchio sito riceve ancora ordini o registrazioni, chiedi a uno sviluppatore come gestirlo. A seconda della situazione, potrebbe essere meglio metterlo in modalità manutenzione, reindirizzarlo o pianificare una sincronizzazione finale dei dati. Evita di prendere questa decisione di fretta, perché incide su dove finiscono i tuoi dati.

Prima di tutto, capisci dove si è fermata la migrazione

Prova a rispondere a queste domande:

  • Quale metodo è stato usato: un plugin di migrazione, uno strumento dell’hosting, una copia manuale?
  • È cambiato il dominio o solo il server?
  • Il dominio era già stato puntato verso il nuovo server?
  • Il processo ha mostrato qualche messaggio di errore?
  • Quando è stato copiato il database?
  • Da allora qualcuno ha fatto ordini o modificato contenuti?
  • Il vecchio sito è ancora online?

Annota ciò che sai. Anche una cronologia parziale è molto utile.

Cosa puoi controllare in sicurezza?

Verifica quale server stai vedendo davvero

A causa della propagazione del DNS e della cache, potresti guardare il vecchio sito senza rendertene conto. Chiedi al provider di hosting come visualizzare in anteprima il nuovo sito, oppure verifica dove punta il dominio (vedi la sezione per chi vuole fare da sé).

Confronta il vecchio e il nuovo sito

Apri le stesse pagine su entrambe le versioni e confronta:

  • la homepage e alcune pagine interne
  • immagini e file scaricabili
  • moduli e ricerca
  • la pagina di login e la bacheca
  • negozio, carrello e checkout, se li hai

Annota quali pagine sono diverse o rotte.

Controlla le impostazioni dell’indirizzo del sito

Se riesci ad accedere alla bacheca sul nuovo sito, vai su Settings > General (Impostazioni > Generali) e guarda Indirizzo WordPress e Indirizzo sito. Devono mostrare il nuovo indirizzo.

Non modificarli se non sei sicuro, perché un valore sbagliato può chiuderti fuori dalla bacheca.

Contatta il provider di hosting

Il nuovo provider di hosting spesso può confermare se file e database sono stati importati completamente, fornire i log degli errori e controllare permessi o impostazioni PHP. Molti provider offrono anche assistenza per le migrazioni.

Cosa dovresti evitare?

Evita di:

  • eliminare il vecchio sito, il suo database o il suo account di hosting
  • rifare la migrazione sopra un sito che funziona in parte senza un backup
  • fare un trova e sostituisci sul database con un editor di testo o una semplice query SQL
  • cambiare il DNS avanti e indietro più volte
  • lasciare aperti agli ordini sia il vecchio sia il nuovo sito
  • impostare i permessi dei file al livello più aperto per "farlo funzionare"
  • modificare wp-config.php senza tenere una copia dell’originale

Il semplice trova e sostituisci è particolarmente rischioso. Alcuni dati di WordPress sono salvati in un formato serializzato, che registra la lunghezza di ogni testo. Cambiare il testo senza aggiornare la lunghezza può rompere impostazioni dei plugin, widget e opzioni del tema. Gli strumenti pensati per WordPress gestiscono correttamente questo aspetto.

Quando dovresti chiedere supporto tecnico?

Il supporto tecnico è consigliato quando:

  • il sito è un negozio online, un sito con area iscritti o un sistema di prenotazione
  • potrebbero essere arrivati ordini o registrazioni sul vecchio sito dopo la copia
  • l’importazione del database non è riuscita o non sei sicuro che sia completa
  • il dominio è cambiato e i link puntano ancora a quello vecchio
  • non riesci ad accedere alla bacheca sul nuovo sito
  • il vecchio sito è già stato eliminato
  • non hai un backup verificato
  • la migrazione è stata fatta da qualcuno che ora non è più disponibile

Non devi capire con precisione dove si è interrotta la migrazione. Per iniziare basta una descrizione di ciò che vedi sul vecchio e sul nuovo sito.

Quali informazioni dovresti raccogliere?

Dettagli utili:

  • il vecchio e il nuovo dominio, se diversi
  • il vecchio e il nuovo provider di hosting
  • il metodo o il plugin di migrazione usato
  • data e ora della migrazione
  • eventuali messaggi di errore, con screenshot
  • se il dominio è stato puntato verso il nuovo server
  • se il vecchio sito è ancora online
  • se dopo la copia sono stati aggiunti nuovi ordini, utenti o contenuti
  • dove sono conservati i backup e quando sono stati fatti

Non inviare password o credenziali dell’hosting con una normale email. D4Hub può spiegarti come condividere gli accessi in sicurezza.

Come può aiutarti D4Hub

L’obiettivo è completare lo spostamento senza perdere dati e assicurarsi che il nuovo sito funzioni bene quanto il vecchio.

A seconda della situazione, D4Hub può aiutarti a:

  • verificare se file e database sono stati copiati completamente
  • correggere gli errori di importazione del database
  • aggiornare in sicurezza i vecchi indirizzi, compresi i dati serializzati
  • risolvere problemi di contenuti misti e SSL
  • controllare i record DNS e pianificare il passaggio
  • proteggere ordini e registrazioni ricevuti sul vecchio sito durante lo spostamento
  • correggere permessi dei file e configurazione del server
  • confrontare pagina per pagina il vecchio e il nuovo sito
  • coordinarsi con il vecchio e il nuovo provider di hosting
  • testare moduli, login, checkout e altre funzioni importanti
  • decidere quando è sicuro dismettere il vecchio sito

Puoi chiedere supporto in qualsiasi fase del processo.

Per esempio, D4Hub può:

  • rivedere il piano prima che tu ci riprovi
  • prendere in carico una migrazione bloccata a metà
  • completare l’intero spostamento e i test
  • controllare il nuovo sito dopo che hai finito
Apri un ticket di supporto

Per chi vuole fare da sé: controlli tecnici dopo una migrazione non riuscita

I controlli seguenti sono pensati per chi ha dimestichezza con il terminale, SFTP e WP-CLI.

Prima di cambiare qualsiasi cosa, fai un nuovo backup di file e database del nuovo sito e assicurati che il vecchio sito e il suo backup siano ancora disponibili. Cambia una cosa alla volta.

Negli esempi, sostituisci example.com, old-domain.com e new-domain.com con i tuoi domini.

Verifica dove punta il dominio

dig example.com A +short
dig www.example.com +short

Confronta il risultato con l’indirizzo IP del vecchio e del nuovo server. Per vedere cosa restituisce in questo momento un resolver DNS pubblico, puoi interrogarlo direttamente:

dig @1.1.1.1 example.com A +short
dig @8.8.8.8 example.com A +short

Se resolver diversi restituiscono indirizzi diversi, la modifica si sta ancora propagando. Se usi una CDN con il proxy attivo, vedrai gli indirizzi della CDN invece di quelli del tuo server.

Controlla l’indirizzo usato da WordPress

Sul nuovo server, dalla cartella di WordPress:

wp option get siteurl
wp option get home

Entrambi devono mostrare il nuovo indirizzo, compreso https:// se il sito usa SSL. Se in wp-config.php sono definiti WP_HOME o WP_SITEURL, questi prevalgono sui valori del database, quindi controlla anche quel file.

Sostituisci in sicurezza il vecchio dominio

Per prima cosa fai un backup del database:

wp db export before-search-replace.sql

Poi esegui una prova a vuoto. Mostra quante sostituzioni verrebbero fatte, senza cambiare nulla:

wp search-replace 'https://old-domain.com' 'https://new-domain.com' --dry-run

wp search-replace gestisce correttamente i dati serializzati, cosa che una semplice sostituzione SQL non fa. Esamina con attenzione il risultato: verifica che il vecchio valore sia esatto, compresi https:// e www se usati, così non sostituisci testo che non c’entra.

Molti sviluppatori aggiungono --skip-columns=guid, così gli identificatori interni dei post non vengono modificati. Esegui il comando senza --dry-run solo quando l’anteprima ti convince e hai il backup.

Dopo la sostituzione, svuota la cache e controlla alcune pagine e immagini.

Cerca i contenuti misti

Apri una pagina nel browser, apri gli strumenti per sviluppatori e controlla la scheda Console. Gli avvisi di contenuti misti elencano le risorse caricate via http://. Spesso arrivano da vecchi indirizzi nei contenuti, nelle impostazioni del tema o nei dati del page builder.

Confronta il numero di file e di tabelle

Sia sul vecchio sia sul nuovo server, conta i file in wp-content:

find wp-content -type f | wc -l

E le tabelle del database:

wp db tables --all-tables | wc -l

I numeri non devono coincidere esattamente, per esempio a causa dei file di cache, ma una grande differenza fa pensare a una copia incompleta. Puoi anche confrontare la dimensione della cartella degli upload:

du -sh wp-content/uploads

Verifica anche che il valore di $table_prefix in wp-config.php corrisponda al prefisso delle tabelle importate.

Controlla il database

wp db check

Questo comando controlla le tabelle alla ricerca di errori. Se l’importazione non è riuscita per un errore di collation o di set di caratteri, il nuovo server del database potrebbe essere più vecchio o configurato in modo diverso. Chiedi al provider di hosting quali versioni sono in uso prima di riprovare.

Controlla i permessi dei file

Una configurazione comune è 755 per le cartelle e 644 per i file, con wp-config.php spesso più restrittivo. I valori corretti e il proprietario dei file dipendono dal server, quindi chiedi al provider di hosting prima di modificarli. Non impostare mai file o cartelle a 777.

D4Hub può aiutarti a interpretare i risultati e a pianificare il prossimo passo sicuro.

Domande frequenti

Il mio vecchio sito è sparito?

No, se non è stato eliminato. La maggior parte delle migrazioni copia i dati invece di spostarli, quindi il sito originale normalmente resta sul vecchio server finché qualcuno non lo rimuove. Conservalo finché il nuovo sito non è stato controllato a fondo.

Quanto tempo richiede la propagazione del DNS?

Dipende dalle impostazioni DNS e da quanto a lungo i resolver conservano le vecchie informazioni. Può essere rapida o richiedere più tempo. In questo periodo alcuni visitatori potrebbero ancora raggiungere il vecchio server, quindi pianifica il passaggio tenendone conto.

Posso semplicemente rifare la migrazione?

A volte sì, ma prima assicurati di aver capito perché non è riuscita e fai un backup del nuovo sito nello stato attuale. Ripetere lo stesso processo potrebbe incontrare lo stesso problema o sovrascrivere le modifiche fatte dopo il primo tentativo.

Dopo la migrazione sono arrivati ordini sul vecchio sito. E adesso?

Non eliminare il vecchio sito. Quegli ordini esistono solo nel vecchio database e vanno spostati o registrati a mano. È un lavoro delicato, soprattutto per i negozi con gestione del magazzino e abbonamenti, ed è un buon momento per chiedere aiuto.

Perché le immagini si caricano ancora dal vecchio dominio?

Gli indirizzi delle immagini sono salvati nei contenuti e in alcune impostazioni. Se il dominio è cambiato, vanno aggiornati con uno strumento che gestisce i dati serializzati di WordPress, come wp search-replace. Se ora funzionano, potrebbe essere solo perché il vecchio sito è ancora online.

D4Hub può aiutarmi se la migrazione l’ha fatta qualcun altro?

Sì. Condividi ciò che sai su come è stata fatta la migrazione e cosa vedi adesso. D4Hub può esaminare entrambi i siti e trovare il modo più sicuro per completare lo spostamento.