Migrare un sito WordPress—sia che si tratti di un nuovo host, di un cambio di dominio o di un trasferimento da un ambiente di staging a produzione—è un compito che la maggior parte degli utenti WordPress affronta ad un certo punto. Se eseguita correttamente, una migrazione richiede 30-60 minuti senza tempi di inattività. Se eseguita in modo errato, può portare a link rotti, immagini mancanti, errori di database e ore di risoluzione dei problemi.
In questa guida, trattiamo tre metodi di migrazione: migrazione manuale (per il controllo completo), migrazione assistita da plugin (per semplicità) e migrazione del provider di hosting (per comodità). Ogni metodo include istruzioni passo-passo e un elenco di controllo per la verifica.
Prima di Migrare: Elenco di Controllo per la Preparazione
| Passo | Perché è Importante | Come Farlo |
|---|---|---|
| Crea un backup completo | Rete di sicurezza se la migrazione fallisce | Utilizza UpdraftPlus o esportazione manuale |
| Documenta le impostazioni attuali | Riferimento per la verifica post-migrazione | Screenshot delle impostazioni wp-admin, elenco dei plugin attivi, struttura dei permalink |
| Controlla i requisiti del server | Assicurati che il nuovo host soddisfi i requisiti minimi di WordPress | PHP 8.0+, MySQL 5.7+ / MariaDB 10.4+, supporto HTTPS |
| Annota le impostazioni DNS | Avrai bisogno di aggiornare il DNS dopo la migrazione | Esporta i record DNS attuali dal registrar |
| Riduci il TTL | Accelera la propagazione del DNS dopo la migrazione | Imposta il TTL DNS a 300 secondi (5 minuti) 24 ore prima della migrazione |
Metodo 1: Migrazione Manuale (Controllo Completo)
La migrazione manuale ti dà il controllo completo sul processo. È il metodo preferito per gli sviluppatori e per siti complessi con configurazioni personalizzate.
Passo 1: Esporta il Database
Collegati al tuo hosting attuale tramite SSH o phpMyAdmin ed esporta il database di WordPress:
Utilizzando la riga di comando (SSH):
- Esegui:
mysqldump -u username -p database_name > backup.sql - Scarica il file backup.sql sul tuo computer locale
Utilizzando phpMyAdmin:
- Seleziona il tuo database → Esporta → Esportazione rapida → Formato SQL → Vai
- Salva il file .sql
Passo 2: Copia Tutti i File
Scarica tutti i file di WordPress dal server attuale:
- Collegati tramite SFTP (FileZilla, WinSCP o Cyberduck)
- Scarica l'intera directory di WordPress (wp-content, wp-admin, wp-includes, file radice)
- In alternativa, crea un archivio compresso:
tar -czf wordpress-backup.tar.gz /path/to/wordpress/
La directory wp-content è la più importante: contiene i tuoi temi, plugin, upload (immagini) e file di configurazione.
Passo 3: Carica i File sul Nuovo Server
- Carica tramite SFTP o estrai l'archivio sul nuovo server
- Assicurati che i permessi dei file siano corretti: directory a 755, file a 644
- Verifica che il file wp-config.php sia presente ma necessiti di aggiornamenti
Passo 4: Crea il Database sul Nuovo Server
- Crea un nuovo database MySQL e un utente sul nuovo hosting
- Concedi all'utente tutti i privilegi sul nuovo database
- Importa il database:
mysql -u new_username -p new_database < backup.sql
Passo 5: Aggiorna wp-config.php
Modifica wp-config.php sul nuovo server con le nuove credenziali del database:
DB_NAME→ Nuovo nome del databaseDB_USER→ Nuovo nome utente del databaseDB_PASSWORD→ Nuova password del databaseDB_HOST→ Di solito 'localhost', ma controlla con il tuo host
Passo 6: Cerca e Sostituisci gli URL (Se Cambiando Domini)
Se il tuo dominio sta cambiando, devi aggiornare tutti gli URL nel database. WordPress memorizza URL assoluti per immagini, link e dati serializzati. Usa lo strumento WP-CLI o lo script Search Replace DB:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables- Gestisce correttamente i dati serializzati (a differenza di una semplice ricerca e sostituzione SQL)
Passo 7: Aggiorna DNS
Punta i record DNS del tuo dominio all'indirizzo IP del nuovo server. Aggiorna il record A (e AAAA per IPv6) presso il tuo registrar di dominio. Con TTL impostato a 300 secondi (dalla preparazione), la propagazione di solito si completa entro 5-30 minuti.
Metodo 2: Migrazione con Plugin (Più Semplice)
I plugin di migrazione gestiscono automaticamente i dettagli tecnici. Questo è il metodo consigliato per gli utenti che non si sentono a proprio agio con SSH e gestione del database.
Plugin di Migrazione Raccomandati
| Plugin | Limite Gratuito | Caratteristiche Principali |
|---|---|---|
| All-in-One WP Migration | 512 MB di esportazione | Esportazione/importazione con un clic, sostituzione URL inclusa |
| UpdraftPlus Premium | Backup gratuito, migrazione Premium | Backup incrementali, archiviazione cloud, clonazione del sito |
| Duplicator Pro | 500 MB di esportazione (gratuito) | Crea pacchetto di installazione, gestisce dati serializzati |
| WP Migrate | Limitato (gratuito) | Push/pull tra ambienti, migrazione solo database |
Processo di Migrazione (All-in-One WP Migration)
- Installa sul sito sorgente: Installa e attiva il plugin sul sito attuale
- Esporta: Vai su All-in-One → Esporta → Esporta A → File. Il plugin crea un archivio .wpress
- Installa WordPress sulla destinazione: Configura una nuova installazione di WordPress sul nuovo host
- Installa il plugin sulla destinazione: Installa lo stesso plugin sulla nuova installazione di WordPress
- Importa: Vai su All-in-One → Importa → Carica il file .wpress
- Fatto: Il plugin sostituisce automaticamente il database, i file e aggiorna gli URL
Metodo 3: Migrazione del Fornitore di Hosting
Molti fornitori di hosting offrono servizi di migrazione gratuiti o strumenti di migrazione integrati:
- SiteGround: Migrazione gratuita di WordPress con il loro plugin Migrator
- Cloudways: Prima migrazione gratuita da parte del loro team
- Kinsta: Migrazione gratuita inclusa in tutti i piani, gestita dal loro team
- WP Engine: Plugin di migrazione automatizzato
La migrazione assistita dall'hosting è l'opzione più semplice ma ti offre il minor controllo. Per i siti con configurazioni personalizzate, cron job o impostazioni non standard, la migrazione manuale o tramite plugin è più affidabile.
Checklist di Verifica Post-Migrazione
| Controllo | Come Verificare | Se Fallisce |
|---|---|---|
| La homepage si carica correttamente | Visita il tuo dominio in un browser | Controlla la propagazione DNS, verifica la connessione al database |
| Il login admin funziona | Vai su /wp-admin e accedi | Controlla le credenziali del database in wp-config.php |
| I permalink funzionano | Clicca su qualsiasi post o pagina | Vai su Impostazioni → Permalink → Salva (rigenera .htaccess) |
| Le immagini vengono visualizzate correttamente | Esplora diverse pagine con immagini | Esegui una ricerca-sostituzione per il vecchio dominio nei percorsi di upload |
| I moduli vengono inviati con successo | Testa tutti i moduli di contatto | Controlla le impostazioni SMTP, configurazione del plugin per i moduli |
| Certificato SSL attivo | Controlla l'icona del lucchetto nel browser | Installa SSL sul nuovo host, aggiorna l'URL di WordPress a https |
| La consegna delle email funziona | Attiva un'email di reset della password | Configura il plugin SMTP (WP Mail SMTP) |
| WooCommerce funzionante | Testa il flusso di aggiunta al carrello e checkout | Verifica le chiavi del gateway di pagamento, le zone di spedizione |
| Cron job in esecuzione | Controlla i compiti programmati in WP-Crontrol | Verifica che wp-cron sia abilitato o configura il server |
| Funzionalità di ricerca | Testa la ricerca del sito | Ricostruisci l'indice di ricerca se utilizzi un plugin di ricerca |
Problemi Comuni di Migrazione e Soluzioni
| Problema | Cause | Soluzione |
|---|---|---|
| Schermo bianco dopo la migrazione | Incompatibilità della versione PHP o conflitto di plugin | Abilita WP_DEBUG, controlla la versione PHP, disabilita i plugin tramite FTP |
| Avvisi di contenuto misto | Alcuni URL utilizzano ancora http:// invece di https:// | Esegui ricerca-sostituzione: http://domain.com → https://domain.com |
| Immagini rotte | Percorsi di caricamento non aggiornati o file mancanti | Verifica la directory wp-content/uploads, esegui la ricerca-sostituzione degli URL |
| Errore di connessione al database | Credenziali errate in wp-config.php | Verifica DB_NAME, DB_USER, DB_PASSWORD, DB_HOST |
| 404 su tutte le pagine tranne la homepage | Permalink .htaccess non rigenerato | Impostazioni → Permalink → Salva modifiche |
| Cicli di reindirizzamento | Vecchie regole CDN o di caching in conflitto | Elimina tutte le cache, controlla .htaccess per reindirizzamenti in conflitto |
Per ulteriori dettagli, fare riferimento alla documentazione ufficiale: Documentazione sulla Migrazione di WordPress.
Domande Frequenti
Quanto tempo ci vuole per una migrazione di WordPress?
Una migrazione tipica richiede 30-60 minuti per il processo tecnico. La propagazione DNS può aggiungere da 5 minuti a 48 ore a seconda delle impostazioni TTL e della cache dell'ISP. Ridurre il TTL a 300 secondi 24 ore prima della migrazione minimizza i ritardi di propagazione.
Perderò dei dati durante la migrazione?
No, se segui l'approccio di backup prima. Crea un backup completo prima di iniziare e non eliminare il vecchio sito finché non hai verificato che tutto funzioni sul nuovo host. Il backup garantisce che tu possa ripristinare lo stato originale se qualcosa va storto.
Posso migrare un sito WordPress senza downtime?
Sì. La chiave è completare la migrazione sul nuovo server prima di aggiornare il DNS. Configura il sito sul nuovo host, verifica che tutto funzioni (utilizzando un URL temporaneo o un'entrata nel file hosts), quindi aggiorna il DNS. Gli utenti saranno serviti dal vecchio server fino a quando il DNS non si propagherà, quindi passeranno senza problemi al nuovo server.
Devo reinstallare plugin e temi dopo la migrazione?
No. Una migrazione completa (file + database) include tutti i plugin, i temi, i caricamenti e le impostazioni. Tutto viene trasferito così com'è. Dovresti verificare che i plugin siano attivi e configurati correttamente, ma la reinstallazione non è necessaria.
Cosa succede se il mio sito è troppo grande per un plugin di migrazione?
I siti che superano i 2-5 GB (comune con siti ricchi di media) possono raggiungere limiti di caricamento o problemi di timeout con i plugin di migrazione. In questo caso, utilizza il metodo manuale: trasferisci i file tramite SSH/SFTP e importa il database tramite linea di comando. I database di grandi dimensioni possono essere suddivisi utilizzando il parametro --max_allowed_packet.
Devo aggiornare WordPress, plugin e temi prima o dopo la migrazione?
Aggiorna prima della migrazione sul sito sorgente e verifica che tutto funzioni dopo l'aggiornamento. Migrare un sito già aggiornato evita la complessità di risolvere problemi di aggiornamento su un server sconosciuto. Per le migliori pratiche di sicurezza e prestazioni, consulta la nostra checklist di manutenzione di WordPress.
Backup e Migrazione Affidabili di WordPress
Acquista UpdraftPlus Premium per backup automatici, integrazione con il cloud e migrazione del sito con un clic. Licenza GPL per siti illimitati.
Scopri UpdraftPlus Premium →


