
🚀 Come migrare un sito WordPress da localhost a un server live
Sviluppare un sito su un server locale è la prassi standard per chi dà valore a velocità e sicurezza. Nessun limite di hosting, salvataggio istantaneo dei file, debug comodo. Quando il sito è pronto, sorge la domanda: come trasferire tutto su un dominio live senza rompere nulla?
Il processo di migrazione di WordPress da localhost a un server di produzione intimidisce i principianti. File, database, percorsi, wp-config: sembra che un errore in qualsiasi passaggio possa mandare giù il sito. In pratica, il compito si risolve in tre modi: export integrato, un plugin o trasferimento manuale. Ognuno si adatta a uno scenario specifico.
💡 Panoramica rapida:
- Esporta i contenuti con lo strumento integrato di WordPress se il server di destinazione ha un'installazione pulita, senza articoli o pagine
- Installa un plugin di migrazione (Duplicator o BackupBuddy) per trasferire l'intero sito con sostituzione automatica degli URL
- Trasferisci file e database manualmente via phpMyAdmin e SFTP per avere il controllo completo su ogni passaggio
- Dopo qualsiasi metodo, vai su "Permalink" e clicca salva, altrimenti le pagine restituiranno errore 404
Prerequisiti per la migrazione
Prima di migrare, assicurati che tre cose siano a posto.
Il tuo sito WordPress locale deve essere perfettamente funzionante. Se non hai ancora configurato l'ambiente, consulta la nostra guida su come installare WordPress su Mac con MAMP o il materiale su Local by Flywheel, uno strumento che configura un server locale in pochi clic.
Un piano hosting con supporto PHP e MySQL. Quasi tutti gli hosting moderni vanno bene: la maggior parte dei provider dispone di installer automatici per WordPress. Verifica i limiti di dimensione del database, perché un dump locale può pesare più di quanto ti aspetti.
Accesso SFTP al server e un client come FileZilla. L'alternativa è il file manager di cPanel, ma non mostra la struttura delle directory locali. SFTP è più affidabile: vedi entrambi i lati e trascini i file con il mouse.
Metodo 1: export e import integrato di WordPress
Il percorso più semplice è usare lo strumento di export nativo di WordPress. Funziona se il server di destinazione non ha ancora contenuti. L'import non sovrascrive gli articoli esistenti ma li aggiunge, quindi è necessaria un'installazione pulita.
Apri il pannello di amministrazione del tuo WordPress locale e vai su "Strumenti → Esporta". Seleziona "Tutti i contenuti" e clicca il pulsante di download.

Otterrai un file XML con tutti gli articoli, le pagine, i file media e i menu. Il file contiene solo i contenuti; temi e plugin non sono inclusi.
Ora accedi al pannello di amministrazione del sito live. Attiva il tema e i plugin che usavi in locale. Poi apri "Strumenti → Importa".

Installa l'importer di WordPress (il sistema te lo chiederà al primo avvio), quindi attivalo. Clicca "Esegui importatore" sotto la voce WordPress.

Usa il pulsante "Scegli file" per selezionare l'XML scaricato e avviare l'importazione. Il tempo di attesa dipende dal volume dei contenuti e dal piano hosting.
Questo metodo trasferisce articoli, pagine, media e menu. Il posizionamento dei menu e i widget andranno riconfigurati, ma è un lavoro di cinque minuti. Il vantaggio principale: nessun plugin aggiuntivo e nessuna modifica manuale al database.
Metodo 2: plugin di migrazione
I plugin gestiscono la migrazione in modo completo: impacchettano il sito in un archivio, trasferiscono file e database e sostituiscono automaticamente gli URL. Tre opzioni affidabili.
DesktopServer

DesktopServer è una combinazione di un'applicazione desktop e un plugin gratuito. L'applicazione esegue siti in locale su Mac e Windows, mentre il plugin li esporta su un server live. Durante l'esportazione, seleziona l'opzione "Ottieni dati del server di hosting live" e il plugin rileverà automaticamente le impostazioni dell'host di destinazione. Il lato negativo: la parte desktop non viene aggiornata da molto tempo e il plugin è stato testato l'ultima volta con WordPress 4.x. Per versioni più recenti di WP, Duplicator è una scelta migliore.
BackupBuddy

BackupBuddy di iThemes (ora SolidWP) è un plugin premium incentrato sul backup. Può creare backup completi del sito, pianificarli e conservare copie in locale o nel cloud (Stash). Per la migrazione, si usa la funzione ImportBuddy: sostituisce i domini nel database, corregge gli URL e distribuisce il sito su un nuovo server. Il prezzo parte da $99 all'anno per un sito. Vale la pena se sincronizzi regolarmente una versione di sviluppo con la produzione.
Duplicator

Duplicator è il plugin di migrazione gratuito più diffuso. Installalo sul tuo sito locale, crea un pacchetto (contenuti + temi + plugin), scarica l'archivio e installer.php, carica entrambi i file sul server di destinazione ed esegui installer.php tramite browser. Il plugin decomprimerà il sito, sostituirà gli URL nel database e configurerà wp-config.
Duplicator Pro aggiunge backup pianificati, archiviazione cloud (Dropbox, Google Drive, Amazon S3), supporto multisito, API cPanel e notifiche email. L'abbonamento parte da $49.50 all'anno, un prezzo ragionevole per l'automazione.
Metodo 3: trasferimento manuale di file e database
Controllo totale su ogni passaggio. Questo metodo richiede accesso a phpMyAdmin e SFTP, ma funziona in qualsiasi ambiente, dal più economico hosting condiviso fino a un VPS.
Esportare il database dal server locale
Avvia il server locale e apri phpMyAdmin, solitamente all'indirizzo localhost/phpmyadmin. L'esempio seguente usa XAMPP:

Nel pannello di sinistra, individua il database del tuo sito WordPress. Selezionalo e clicca su «Esporta» nel menu in alto. Lascia il metodo su «Rapida» e il formato su SQL.

Il file SQL verrà salvato nella tua cartella dei download.
Sostituire gli URL locali nel dump
Il sito locale usa percorsi assoluti: tutti i link nel database iniziano con http://localhost/. Dopo il caricamento sul server live, devono puntare al tuo dominio, altrimenti le immagini non verranno caricate e le pagine saranno assemblate con percorsi non funzionanti.
Apri il file SQL in un editor di codice (VS Code, Sublime Text, Notepad++). Usa trova e sostituisci: http://localhost/your-site → https://yourdomain.com. Se il sito era in una sottocartella in locale, sostituisci completamente il percorso, incluso il nome della cartella.

Salva il file dopo la sostituzione. Verifica attentamente che home e siteurl nella tabella wp_options puntino al nuovo dominio.
Creare un database sull'hosting
Accedi al pannello di controllo del tuo hosting. Se usi cPanel, apri la sezione «Database MySQL».

Crea un nuovo database, un utente e una password. Ricorda tutti e tre i valori; ti serviranno per wp-config. Sulla maggior parte degli hosting condivisi, il nome del database corrisponde al nome utente.
Su un hosting gestito senza cPanel, l'interfaccia è diversa. Aggiungi una nuova installazione WordPress tramite il pannello del provider e il database viene creato automaticamente insieme al sito.

Compila i campi: nome del sito, dominio (puoi specificarne uno tecnico se il dominio principale non è ancora collegato), login e password dell'amministratore.

Dopo aver inviato il modulo, il sito e il database sono pronti per l'importazione dei contenuti.
Importare il database
Torna su phpMyAdmin (ora dal lato dell'hosting), seleziona il database appena creato e apri la scheda «Importa». Seleziona il file SQL modificato e avvia l'importazione.

Se phpMyAdmin non è disponibile, alcuni host offrono un'alternativa: «Ripristino database» nella sezione MySQL. La funzione è la stessa: selezioni il file SQL e lo carichi.
Modificare wp-config.php
Apri wp-config.php nella root della tua installazione locale di WordPress. Trova e sostituisci quattro costanti:
1 define('DB_NAME', 'your_database_name'); 2 define('DB_USER', 'database_user'); 3 define('DB_PASSWORD', 'database_password'); 4 define('DB_HOST', 'localhost');
DB_HOST di solito rimane localhost; l'hosting ti chiarirà se serve un indirizzo IP. Conserva una copia dei vecchi valori: se qualcosa va storto, il rollback sarà più semplice.
Caricare i file via SFTP
Collegati al server con un client SFTP (FileZilla, WinSCP). Le credenziali di connessione sono nel pannello di hosting; spesso coincidono con login e password del cPanel.
Vai alla cartella root del sito, di solito public_html, www o htdocs. Trasferisci tutti i file dalla cartella locale di WordPress in questa directory, incluso il file wp-config.php modificato.
Reimpostare i permalink
L'ultimo passaggio. Accedi al pannello di amministrazione del sito live: «Impostazioni → Permalink». Non cambiare la struttura, clicca solo «Salva modifiche». WordPress ricostruirà .htaccess e le route interne. Senza questo passaggio, le pagine diverse dalla homepage restituiranno errore 404.
⁉️🤔 Domande frequenti
Cosa devo fare se il database è troppo grande per essere importato via phpMyAdmin?
Il limite standard di phpMyAdmin è di circa 50 MB. Suddividi il dump in parti per tabelle (wp_posts e wp_postmeta sono spesso le più pesanti) oppure usa WP-CLI con il comando
wp db import. Alcuni hosting accettano file compressi.sql.gz, che riducono la dimensione di 3-5 volte.
È obbligatorio modificare manualmente gli URL nel dump SQL?
No. L'utility
WP-CLI search-replacelo fa con un solo comando:wp search-replace 'http://localhost/site' 'https://domain.com'. Se WP-CLI non è disponibile, i plugin di migrazione del metodo 2 sostituiscono gli URL automaticamente durante il deployment.
Posso migrare il sito senza mettere offline quello vecchio?
L'esportazione integrata (metodo 1) funziona senza downtime; il sito vecchio continua a funzionare. Il trasferimento manuale (metodo 3) richiede attenzione: mentre carichi file e database, i visitatori vedono la vecchia versione. I plugin di migrazione di solito creano una snapshot istantanea e non richiedono downtime.
Come posso verificare che la migrazione sia riuscita?
Controlla tutti i tipi di pagina: homepage, articolo, categoria, pagina con immagini. Apri la console del browser (F12 → Console); non devono esserci errori 404 o contenuti misti. Verifica il pannello di amministrazione: «Strumenti → Stato del sito» mostrerà eventuali problemi con percorsi e permessi.
Cosa devo fare se le immagini non vengono caricate dopo la migrazione?
Molto probabilmente nel database sono rimasti URL locali. Esegui di nuovo find and replace, questa volta direttamente nel database live tramite Better Search Replace o WP-CLI. Assicurati che la cartella
wp-content/uploadssia stata copiata completamente sul server.
Migrare WordPress da localhost: quale metodo scegliere
Tre metodi coprono qualsiasi scenario. Una nuova installazione senza contenuti: usa l'esportazione integrata, ti porterà via cinque minuti. Sincronizzazione periodica di una versione di sviluppo con la produzione: un plugin come Duplicator Pro o BackupBuddy si ripaga già al secondo trasferimento. Un trasferimento una tantum con pieno controllo: il metodo manuale via phpMyAdmin e SFTP ti dà la comprensione di ogni riga del database e di ogni file sul server.
Prima di qualsiasi migrazione, fai un backup completo del sito locale. E non saltare il passaggio finale con i permalink: senza, anche un sito migrato perfettamente non si aprirà.



