Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🚀 Come migrare un sito WordPress da localhost a un server live

🚀 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.

Esportazione di tutti i contenuti WordPress in un file XML

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".

Sezione Import nel pannello di amministrazione di WordPress

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

Caricamento del file XML tramite l'importatore di 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

Interfaccia del plugin DesktopServer per la migrazione di WordPress

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

Plugin BackupBuddy per backup e migrazione di WordPress

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

Plugin Duplicator per la migrazione di siti WordPress

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:

Interfaccia di phpMyAdmin su server XAMPP locale

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.

Esportazione del database WordPress in formato 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-sitehttps://yourdomain.com. Se il sito era in una sottocartella in locale, sostituisci completamente il percorso, incluso il nome della cartella.

Sostituzione degli URL nel dump del database tramite editor di codice

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».

Sezione database MySQL in cPanel

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.

Aggiunta di un'installazione WordPress su hosting gestito

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

Modulo di configurazione nuovo sito WordPress su hosting

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.

Importazione del dump SQL tramite phpMyAdmin sull'hosting

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:

1define('DB_NAME', 'your_database_name');
2define('DB_USER', 'database_user');
3define('DB_PASSWORD', 'database_password');
4define('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.

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-replace lo 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/uploads sia 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à.