Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coppa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Come spostare WordPress dal server locale al sito live (2 metodi)

Molti utenti di WordPress preferiscono lavorare sui propri siti web utilizzando un server locale sul proprio computer. In questo modo è possibile lavorare sul sito web in modo privato prima di rendere disponibili le modifiche on line.

Alla fine, dovrete spostarlo su un server live per renderlo accessibile ai visitatori online. Questa transizione è fondamentale per garantire il corretto funzionamento del sito web on line.

Abbiamo lavorato su molti siti web locali, quindi abbiamo dovuto imparare il modo più semplice per trasferire i contenuti a siti web in carne e ossa.

In questo articolo forniremo istruzioni passo passo su come spostare WordPress da un server locale a un sito live.

How to move WordPress from local server to live site (2 methods)

Perché spostare WordPress da un server locale a un sito live?

Creare il vostro blog WordPress su un server locale è un modo sicuro per testare le modifiche apportate al vostro sito web senza influenzare i visitatori.

Una volta perfezionato il sito web, il passo successivo consiste nel passare dal server locale a un sito live.

Vi mostriamo due modi per spostare il vostro sito da un server locale a un sito live.

Il primo metodo utilizza un plugin di migrazione di WordPress ed è consigliato ai principianti.

Nel secondo metodo, vi mostreremo come spostare manualmente WordPress da un server locale a un sito live.

Potete scegliere il metodo più adatto a voi:

Prima di migrare il sito WordPress

Per migrare WordPress da un server locale a un server live è necessario disporre di alcuni elementi.

Innanzitutto, supponiamo che abbiate un sito WordPress in esecuzione su un server locale (chiamato anche localhost) sul vostro computer e che abbiate pieno accesso ad esso.

Successivamente, è necessario disporre di un nome di dominio e di un hosting web.

Abbiamo sentito innumerevoli storie di principianti che hanno iniziato con fornitori di hosting web scadenti o gratuiti e se ne sono pentiti. Secondo la nostra esperienza, la scelta del giusto fornitore di hosting è fondamentale per il successo di qualsiasi sito web.

Per facilitare la vostra decisione, vi consigliamo di utilizzare Bluehost. Si tratta di una società di hosting WordPress ufficialmente raccomandata, che offre agli utenti di WPBeginner uno sconto esclusivo + dominio e SSL gratuiti.

In pratica, potete iniziare a lavorare con soli 1,99 dollari al mese.

Se volete un’ottima alternativa a Bluehost, potete dare un’occhiata a Hostinger. Offre anche uno sconto esclusivo agli utenti di WPBeginner con un nome di dominio gratuito.

Se potete permettervi di pagare un po’ di più, allora date un’occhiata a SiteGround. Hanno anche un’offerta speciale per i lettori di WPBeginner.

Se avete bisogno di aiuto per creare il vostro sito web, seguite la nostra guida passo passo su come creare un sito web.

Infine, è necessario disporre di un programma FTP e sapere come usare l’FTP per caricare il sito del server locale sul sito live.

Siete pronti? Iniziamo la migrazione del vostro sito WordPress.

Video tutorial

Subscribe to WPBeginner

Se preferite le istruzioni scritte, continuate a leggere.

Metodo 1: Trasferire WordPress dal server locale al sito live utilizzando un plugin di migrazione (consigliato)

Questo metodo è più semplice e consigliato ai principianti. Utilizzeremo un plugin di migrazione di WordPress per spostare WordPress da localhost a un sito live.

Passo 1: Installare e configurare il plugin Duplicator

Per prima cosa, è necessario installare e attivare il plugin Duplicator sul sito locale. Per maggiori dettagli, consultate la nostra guida passo-passo su come installare un plugin di WordPress.

Suggerimento professionale: Esiste anche una versione pro di Duplicator che offre backup sicuri, archiviazione su cloud, ripristino semplice del sito e altro ancora.

Dopo l’attivazione, è necessario andare alla pagina Duplicator ” Backups e fare clic sul pulsante ‘Create New’.

Create new backup for migration

Si accede così a una schermata in cui è possibile assegnare un nome al backup.

Quindi, fare clic sul pulsante “Avanti”.

Name backup package

Duplicator eseguirà ora alcuni test per verificare che tutto sia in ordine.

Se tutti gli elementi sono contrassegnati da “Buono”, cliccate sul pulsante “Costruisci”.

Build package

Questo processo può richiedere alcuni minuti, a seconda delle dimensioni del sito web. È necessario lasciare aperta questa scheda fino al completamento.

Una volta terminato, verranno visualizzate le opzioni di download per i pacchetti “Installatore” e “Archivio”. È necessario fare clic sul pulsante “Scarica entrambi i file” per scaricare entrambi i file sul computer.

Download both backup files

Il file “Archivio” è una copia completa del vostro sito WordPress. Include tutti i file principali di WordPress, nonché le immagini, i caricamenti, i temi, i plugin e un backup del database di WordPress.

Il file “Installer” è uno script che automatizza l’intero processo di migrazione scompattando il file di archivio contenente il vostro sito web.

Fase 2: Creare un database per il vostro sito web WordPress dal vivo

Prima di eseguire il programma di installazione o di caricare il sito web WordPress da localhost al vostro server di hosting, dovete creare un database MySQL per il vostro nuovo sito web live.

Se avete già creato un database MySQL, potete saltare questo passaggio.

Per creare un database, è necessario visitare la dashboard del cPanel del proprio account di hosting. Quindi, individuate la sezione “Database” e fate clic sull’icona “MySQL Database Wizard”.

MySQL Database Wizard

Nella schermata successiva, c’è un campo per creare un nuovo database.

È sufficiente indicare un nome per il database e fare clic sul pulsante “Crea database”.

Name new database

cPanel creerà ora un nuovo database per voi.

A questo punto, è necessario inserire un nome utente e una password per il nuovo utente e fare clic sul pulsante “Crea utente”.

Create new database user

Successivamente, è necessario aggiungere l’utente appena creato al database.

Innanzitutto, fare clic sulla casella di controllo “Tutti i privilegi”.

Check all privileges

Quindi, scorrere verso il basso e fare clic sul pulsante “Applica modifiche” per salvare le modifiche.

Il database è ora pronto per essere utilizzato con il vostro sito WordPress. Assicuratevi di annotare il nome del database, il nome utente e la password. Queste informazioni vi serviranno nella fase successiva.

Fase 3: caricare i file dal server locale al sito web WordPress dal vivo

Ora è necessario caricare i file dell’archivio e del programma di installazione dal sito locale all’account di hosting.

Per prima cosa, collegatevi al vostro sito live utilizzando un client FTP. Una volta collegati, assicuratevi che la directory principale del vostro sito sia completamente vuota.

Normalmente, la directory principale è la cartella /home/public_html/.

Alcune società di hosting WordPress installano automaticamente WordPress al momento dell’iscrizione. Se sono presenti file di WordPress, è necessario eliminarli.

Successivamente, è possibile caricare i file archive.zip e installer.php da Duplicator nella cartella principale vuota.

Upload archive and installer files

Passo 4: esecuzione dello script di migrazione

Dopo aver caricato i file di migrazione, è necessario visitare il seguente URL nel browser:

http://example.com/installer.php

Non dimenticate di sostituire “example.com” con il vostro nome di dominio.

In questo modo si avvia la migrazione guidata di Duplicator.

Il programma di installazione eseguirà alcuni test e inizializzerà lo script.

Duplicator migration wizard step 1

Nella sezione Setup, vi verrà chiesto di inserire l’host MySQL, il nome del database, il nome utente e la password.

L’host sarà probabilmente un host locale. Successivamente, si inseriranno i dettagli del database creato nel passo precedente.

Quindi, fare clic sul pulsante “Convalida” per verificare che i dati inseriti siano corretti.

Validate settings

Dopodiché, fare clic sul pulsante “Avanti” per continuare.

Duplicator importerà ora il backup del database di WordPress dall’archivio al nuovo database.

Inoltre, aggiorna gli URL che puntano al sito locale e al nuovo sito live.

A questo punto è possibile fare clic sul pulsante “Admin Login” per accedere all’area di amministrazione di WordPress del sito live.

Admin login

Una volta effettuato l’accesso al sito live, Duplicator pulirà automaticamente i file di installazione.

È tutto. Avete spostato con successo WordPress dal server locale al vostro sito live.

Metodo 2: Trasferire manualmente WordPress dal server locale al sito live

In questo metodo, vi mostreremo come spostare manualmente WordPress dal server locale al vostro sito live. Sarà utile se il primo metodo non funziona o se preferite farlo manualmente.

Passo 1: Esportare il database locale di WordPress

La prima cosa da fare è esportare il database locale di WordPress. Per farlo, utilizzeremo phpMyAdmin.

Se non lo conoscete, potete dare un’occhiata alla nostra guida alla gestione del database di WordPress con phpMyAdmin.

Basta andare su http://localhost/phpmyadmin/ e cliccare sul database di WordPress. Quindi, fare clic sul pulsante “Esporta” nella barra dei menu in alto.

Export from localhost

Nell’opzione “Metodo di esportazione:” si può scegliere “Rapido” o “Personalizzato”. Personalizzato vi fornirà più opzioni per esportare il vostro database.

Tuttavia, si consiglia di scegliere “Rapido” e di fare clic sul pulsante “Vai” per scaricare il database.

Export WordPress database using phpMyAdmin

Passo 2: caricare i file di WordPress sul sito live

Ora è necessario spostare tutti i file del sito web sul sito live.

Per iniziare, aprite il vostro client FTP e collegatevi al vostro account di hosting web.

Una volta collegati al sito live, assicuratevi di caricare i file nella directory giusta. Ad esempio, se si vuole che il sito sia ospitato su “yoursite.com”, si dovranno caricare tutti i file nella directory public_html.

Ora selezionate i file locali di WordPress e caricateli sul vostro server live.

Upload WordPress files FTP

Passo 3: Creare un database MySQL sul sito live

Mentre il client FTP carica i file di WordPress, potete iniziare a importare il database sul server live.

La maggior parte dei fornitori di hosting WordPress offre cPanel per gestire il vostro account, quindi vi mostreremo come creare un database utilizzando cPanel.

Per prima cosa, è necessario accedere alla dashboard di cPanel e fare clic sull’icona “MySQL Database Wizard”, che si trova nella sezione “Database”.

Select MySQL database wizard

Nella schermata successiva è possibile creare un nuovo database.

È necessario indicare un nome per il database, quindi fare clic su “Crea database”.

Name and create new database

cPanel creerà automaticamente un nuovo database.

Successivamente, è necessario inserire un nome utente e una password per il nuovo utente e fare clic su “Crea utente”.

Create new database user

Successivamente, è necessario aggiungere l’utente appena creato al database.

Innanzitutto, selezionare la casella di controllo “Tutti i privilegi”.

Check all privileges checkbox

Quindi, scorrere verso il basso e fare clic su “Applica modifiche” per salvare le modifiche.

Avete creato con successo un nuovo database per il vostro sito WordPress live.

Passo 4: Importare il database di WordPress nel sito live

La fase successiva del processo consiste nell’importare il database di WordPress.

Andate nella vostra Bacheca cPanel, scorrete giù fino alla sezione “Database” e fate clic su “phpMyAdmin”.

Click on phpMyAdmin

Si accede così a phpMyAdmin, dove si deve fare clic sul database appena creato. phpMyAdmin mostrerà il nuovo database senza tabelle.

Quindi, fare clic sulla scheda “Importa” nel menu superiore. Nella pagina di importazione, fare clic sul pulsante “Scegli file” e selezionare il file del database dal sito locale salvato nel primo passaggio.

Import database via phpMyAdmin

Dopodiché, fare clic sul pulsante “Vai” in fondo alla pagina. Il database verrà importato automaticamente in phpMyadmin.

Passo 5: modificare l’URL del sito

A questo punto, è necessario modificare l’URL del sito nel database in modo che si connetta con il sito WordPress attivo.

In phpMyAdmin, cercate la tabella wp_options nel database che avete appena importato.

Se si è cambiato il prefisso del database, invece di wp_options, potrebbe essere {nuovo_prefisso}_options.

Quindi, fare clic sul pulsante “Sfoglia” accanto a wp_options. Oppure, fate clic sul link nella barra laterale per aprire la pagina con l’elenco dei campi della tabella wp_options.

Browse the wp options table

Quindi, nella colonna options_name, occorre cercare l’opzione siteurl.

Quindi, fare clic sull’icona “Modifica”.

Edit siteurl in phpMyAdmin

Si apre una finestra in cui è possibile modificare il campo.

Nell’input boxed option_value, verrà visualizzato l’URL dell’installazione locale, che sarà qualcosa come http://localhost/test.

In questo campo è necessario inserire l’URL del nuovo sito, ad esempio: https://www.wpbeginner.com.

Quindi, è possibile salvare il campo facendo clic sul pulsante “Vai”.

edit the siteurl field

Successivamente, è necessario seguire la stessa procedura descritta sopra per il nome dell’opzione home. Il menu wp_options può essere lungo alcune pagine. Di solito, l’opzione home si trova nella seconda pagina.

Quindi, aggiornare l’URL della home, in modo che sia uguale a quello del sito live.

Passo 6: Configurare il sito live

Ora che avete importato il database e caricato i contenuti, è il momento di configurare WordPress.

A questo punto, il sito dovrebbe mostrare l’errore“Errore nello stabilire una connessione al database“.

Per risolvere il problema, collegarsi al sito web con un client FTP e aprire il file wp-config.php.

Dovrete cercare le seguenti righe di codice:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
/** MySQL database username */
define( 'DB_USER', 'username_here' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

È necessario fornire il nome del database, il nome utente e la password creati in precedenza.

Quindi, salvate il file wp-config.php e caricatelo sul vostro server di hosting WordPress.

Ora, quando si visita il sito web, questo dovrebbe essere attivo.

Dopodiché, è necessario accedere al pannello di amministrazione di WordPress e andare in Impostazioni ” Generale”. Quindi, senza modificare nulla, scorrere fino in fondo e fare clic sul pulsante “Salva modifiche”.

Save general settings

In questo modo ci si assicurerà che l’URL del sito sia corretto ovunque sia necessario.

Una volta fatto, andare su Impostazioni ” Permalinks, quindi scorrere verso il basso e fare clic su “Salva modifiche” per assicurarsi che tutti i link ai post funzionino correttamente.

Save permalinks settings

Ogni volta che spostate un sito WordPress da un dominio a un altro o da un server locale a un sito live, vi troverete di fronte a collegamenti interrotti e immagini mancanti.

Vi mostriamo due modi per aggiornare gli URL. Potete scegliere quello più adatto a voi.

1. Aggiornare gli URL con il plugin Search & Replace Everything (consigliato)

Il modo più sicuro per correggere questo problema è utilizzare Search & Replace Everything. Si tratta di un potente plugin per WordPress che consente di eseguire facilmente operazioni di aggiornamento di massa sul vostro sito web senza scrivere complesse query al database.

Per prima cosa, è necessario installare e attivare il plugin Search & Replace Everything.

Dopo l’attivazione, andare alla pagina Strumenti ” WP Search & Replace.

Search and replace URLs from local to live site migration

Da qui è necessario inserire l’URL del sito locale nel campo “Cerca” e l’URL del sito live nel campo “Sostituisci con”.

Scorrere un po’ e fare clic su “Seleziona tutto” sotto le tabelle. In questo modo il plugin cercherà il vecchio URL ovunque nel database.

Select tables

Ora fate clic sul pulsante “Anteprima di ricerca e sostituzione” per continuare.

Il plugin cercherà nel database tutte le istanze del vecchio URL e vedrà l’anteprima dei risultati.

Preview changes

Se tutto sembra a posto, cliccate su “Sostituisci tutto” per salvare le modifiche.

Verrà visualizzata un’attenzione alle modifiche che si stanno apportando. Fare clic su “Sì” per continuare.

Il plugin aggiorna il database e sostituisce gli URL locali con l’URL attuale del sito web.

2. Aggiornare manualmente gli URL (avanzato)

Un altro modo per aggiornare gli URL è utilizzare la seguente query SQL:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'localhost/test/', 'www.yourlivesite.com/');

Basta andare su phpMyAdmin, fare clic sul database, quindi cliccare su “SQL” dal menu in alto e aggiungere la query di cui sopra.

Assicurarsi di modificare gli URL del sito locale e del sito live e fare clic sul pulsante “Vai”.

Fixing WordPress images and broken URLs after moving to live site

Ecco fatto. Ora avete migrato con successo WordPress dal vostro server locale a un sito live.

Speriamo che il vostro sito web sia attivo e funzionante senza problemi. Se notate degli errori, potete selezionare la nostra guida agli errori comuni di WordPress per aiutarvi nella risoluzione dei problemi.

Speriamo che questo articolo vi abbia aiutato a spostare WordPress da un server locale a un sito live. Potreste anche consultare la nostra guida sullo spostamento di un sito live su un server locale o dare un’occhiata alla lista di controllo definitiva per la migrazione di un sito web per i passaggi pratici della migrazione di WordPress.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

908 commentiLascia una risposta

  1. sam

    Isn’t it better to use a duplicator plugin instead of taking all this trouble as described in here
    or here
    I think using the duplicator is a easier. Feel free to add or correct me.

    • WPBeginner Support

      Yes, we have mentioned using Duplicator or BackupBuddy as the easier ways to do this in the article.

      Admin

  2. Louise

    Thanks so much for an excellent article – very straight forward and easy to understand.

  3. fadilah

    hi, i’m getting a problem with my permalink, my permalink is still pointed to my localhost something like fadil.dev so when i add a post/page, the permalink is pointed to my fadil.dev/?p=ID it should be pointed to fadil.com (my real domain) and not fadil.dev (my local domain) .. where i can find the configuration ? help me .. thankyou :)

      • fadilah

        my article/page works fine on the front-end, but the permalink on wp-admin when i added a new post/page appeared wrong , you can see my printscreen http://prntscr.com/2cfznc .. it should be terazam.com not terazam.dev

        • WPBeginner Support

          Seems like you didn’t change your site and home URLs either. Please follow all the steps mentioned above and your problem should get resolved.

        • fadilah

          i had changed my siteurl according to your instruction at 5th step before i asked this problem and my front-end issue was solved, thankyou :) … but it seems that when i changed the siteurl on wp_options table there was no effect with permalink on my wp-admin :(

        • fadilah

          SOLVED :)

          i found the config on Administration > Settings > General and you will find the “Site Address URL” and i changed it into the correct value. so Wordpress Address and Site Address are different. i found it on wp documentation http://codex.wordpress.org/Moving_WordPress

          thankyou for your help :) have a nice day

  4. prox

    nice tutorial i was thinking to do and found your website luckily and also i would like to ask two thing

    1. what’s this footer advertisement option is it a plugin ?

    2 what’s the plugin your using for newsletter i saw when i enter to your site there’s nice pop up banner that saying do you want to lean about WordPress and then enter your email address

    please share if you don’t mind

    thank you

  5. Nathan

    Great help, thanks!

    One question, if I buy a theme, can I use it on both my local and live site even though they are different installations and thus have different WordPress id’s?

    I am building my first live site but I have set up a local to play with the designs and construct the content.

    Thanks.

    • WPBeginner Support

      Nathan, this is a theme licensing question and the themeshop you purchased it from would be better able to answer this. However, we don’t see any harm in that.

      Admin

  6. Deepo

    wonderful tutorial. complexity made simple

  7. Matt

    Hi. Firstly I’d like to thank you, this process was easy to understand and errorless on your end!

    My one hang-up was at the very end. I put in the SQL code in order to fix some linking errors, but must not have put the right local host because some small inconsistencies were not fixed. I have been using MAMP and accessing my site by going to “localhost:8888” Is this what I should put in that Step 7 code, or is there a different path?

    • WPBeginner Support

      Matt first you need to make sure that inside your wp_posts table you are using localhost:8888 inside post content. If yes, then use this in the step 7. If you are seeing all your links as localhost, then use localhost.

      Admin

  8. Dayomaks

    All instructions works fine, thanks, i am so glad, but the issue i am having now is importing my database…while trying to import my database to a live server i got these errors below:

    Error
    SQL query:


    — Database: `soundmode`

    — ——————————————————–

    — Table structure for table `xs_commentmeta`

    CREATE TABLE IF NOT EXISTS `xs_commentmeta` (

    `meta_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
    `comment_id` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT ‘0’,
    `meta_key` VARCHAR( 255 ) DEFAULT NULL ,
    `meta_value` LONGTEXT,
    PRIMARY KEY ( `meta_id` ) ,
    KEY `comment_id` ( `comment_id` ) ,
    KEY `meta_key` ( `meta_key` )
    ) ENGINE = INNODB DEFAULT CHARSET = utf8 AUTO_INCREMENT =1;

    MySQL said: Documentation

    #1046 – No database selected

    ANY ASSISTANCE ON THERE?

    • WPBeginner Support

      Check your database name, username, and password to make sure that you are using the correct settings to connect to your live site’s database.

      Admin

  9. Christie Bellah

    This worked great, thanks! In the past I had installed WordPress in the new hosting, dropped database tables, imported, etc. – this is so much faster and simpler.

  10. Stefano

    First of all, thanks for the tutorial – invaluable and well written.

    Unfortunately, I managed to get stuck anyway.
    I uploaded everything via filezilla and phpmyadmin, and when i try to go to my domain it doesn’t show up any error. But nothing else, either.

    Just a blank page – which is weird, because by typing /wp-admin at the end of the url i DO have access to the wordpress control panel, and every page seems to be all right.

    Sorry to bother, but I really have no clue about what’s happening..
    Thanks in advance!

    • Stefano

      Solved!
      Apparently, it had some issues with the theme loading.
      I couldn’t use the children theme i had worked on, but luckily I had changed just a couple of thing, so no big deal..

      • Stefano

        I did, and in fact the url worked (even if it showed just a blank page).
        I still have no clue about what happened, but setting up the theme again solved it.
        Lucky shot =P

  11. javed choudahry

    Hi
    Sir

    Thanku so much .This website is very good for wordpress learn and very help full .

  12. sesan

    please am having an error from step 4
    SQL query:


    — Database: `wordpress`

    CREATE DATABASE IF NOT EXISTS `wordpress` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

    MySQL said: Documentation
    #1044 – Access denied for user ‘Admin7393’@’%’ to database ‘wordpress’

    • WPBeginner Support

      Sesan, the export file prepared by phpmyadmin to import into your live site database, contains a line to check if a database exists if not then it tries to create it. To resolve this issue, you need to extract the zip archive you created. Inside it you will find a file with .sql extension. Open this file in a text editor like Notepad and then delete these lines

      CREATE DATABASE IF NOT EXISTS `wordpress` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

      Below this line you will see another line like this

      USE `wordpress`;

      Replace wordpress with the name of the database you are trying to import into.

      Save your changes and put the sql file back into a zip archive (if it is too big, other wise you can also import it as it is).

      Admin

      • sesan

        men you guys are d bomb it worked thank youuuuuuuuuuuuu!!!!!!!!!!!!!!

  13. Tyler

    Hi, thanks for the tutorial!

    I’m struggling with Step 2. Your tutorial shows several files/folders being uploaded whereas I only have wordpress.sql.gz from Step 1. I can’t seem to extract the file using any software but can open using a text editor.

    Any help would be greatly appreciated!

    • WPBeginner Support

      In the second step, you do not need to upload your phpMyAdmin export file (wordpress.sql.gz in your case). You need to upload your WordPress files which are located in htdocs or www folder of your localhost

      Admin

      • Tyler

        Thanks for the fast reply!

  14. Mario

    do I need a cpanel to do this procedure? I am using a plugin to backup and export databases already, unfortunately the host provider that the client is using does not have a cpanel.

  15. Rhomy Prama Dhieka (Web Designer)

    thanks for sharing.
    it help me alot migrating my wp website.
    would you mind if i translte this to my language, then i will put ur credit there ?
    thanks.

  16. ryan

    hi, i am using stablehost and have used them before with WP websites. I followed all your steps and I am getting a parked page from my hosting provider…

    • WPBeginner Support

      There can be several reasons for that. First make sure that you have installed WordPress in the root directory of your website. If you did then make a backup of your .htaccess file and delete the one from root directory of your website. If that doesn’t work, then find the default parked page files there might be an index.html file on your web server delete that file (Do Not delete index.php). If none of these help then contact your hosting provider.

      Admin

  17. Alex

    Thanks!

    I did a search for the ‘‹’ character in the extracted .sql file, but got an alert saying: The string ‘‹’ was not found.

    I don’t know if this matters, but I noticed that my local phpMyadmin version is 5.5.3, while my host’s phpMyadmin version is 3.5.8.2.

    Another note is that I had all my WordPress files already up on my public_html directory (which is your step 2) BEFORE exporting my local WordPress database (which is your step 1). I’m not sure if it makes a difference.

    I’ll try starting over with step 1, as you suggested, and if I get the same error then I may try the Duplicator plugin that you mentioned.

    Alex

  18. PatoPanichelli

    You really helped me. This step by step is awesome, I had no problems migrating from MAMP to a live site. Thanks

  19. Alex

    Thanks for the tutorial!

    Everything’s gone well until I get to the end of step 4. When I press the Go button at the bottom of the page, instead of having phpMyadmin import my WordPress database I get an error message that reads as follows:

    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‹’ at line 1

    Can you let me know what you think may be causing this?

    Alex

    • WPBeginner Support

      Alex, it seems like the database file you are trying to import has a character ‘‹’ which is not supposed to be there. You have two options to fix that, first option is go back to your localhost/phpmyadmin and export your local database again and then try to import it again. If the same error occurs again, then extract your database gzip file using 7zip program. Open the .sql file in a text editor like notepad and look at the first line. Also take a look at our database management using phpMyAdmin guide to learn more.

      Admin

    • Anna

      Make sure you clicked on the database name on the lefthand side that you’d like to import to. Make sure that is highlighted and then try again. (phpMyAdmin version 4.0.8).

  20. qs

    I get this error when I import datebase into live site. How do i solve it?

    Error
    SQL query:

    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

    /*!40101 SET NAMES utf8 */;


    — Database: `wordpress`

    CREATE DATABASE IF NOT EXISTS `wordpress` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

    MySQL said:

    #1044 – Access denied for user ‘bossaballsg’@’10.%’ to database ‘wordpress’

    • WPBeginner Support

      Try checking MySQL user privileges to make sure that the database user can perform these operations.

      Admin

      • Chathuranga

        Hi,

        Hope your DB name is “wordpress”

        Change the,
        – Database: `wordpress`

        CREATE DATABASE IF NOT EXISTS `wordpress` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

        change “wordpress” to your live DB name. It’s at your sql file.

      • qs

        I checked and all the privileges are already set to “yes”.

        is it because of the “latin1_swedish_ci” collation in my database? because the rest of the tables are all in “utf8_general_ci”

      • qs

        I checked and all the privileges are already set to “yes”.

        is it because of the “latin1_swedish_ci” collation in my database? because the rest of the tables are all in “utf8_general_ci”

  21. fab

    hi there,
    totally newbie here. hope you can help with this error message during step 4:
    Error
    SQL query:


    — Database: `information_schema`CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    MySQL said:

    #1044 – Access denied for user ‘renta730’@’localhost’ to database ‘information_schema’

    When setting this user I allowed all privileges to the database previously created (named “inicial”).
    Any thoughts?

    • WPBeginner Support

      You are not supposed to install WordPress in the database information_schema. Create a new database for your WordPress site, and continue from the step 4.

      Admin

  22. neha

    Hi,Nice tute,but can u plz tell how to change database name and password etc from wordpress from live server?

    • WPBeginner Support

      To change database username and password connect to your live website using an FTP client. Find wp-config.php file and edit it. You will see your database name, database username, and host information. Change it to the database information for your live site.

      Admin

      • Kerry O'Connor

        I’ve tried every variation of my ‘host url’ in the wp.config file and uploaded it every time, no avail, still getting ‘Error Establishing db..’

        Where before it was ‘localhost’, now it should be ‘mywebsite.com’, is that right?

        thanks

        • WPBeginner Support

          For MySQL hostname, localhost works fine for most user. However, if you don’t know your database host, then you can ask your web hosting provider.

  23. Manish Patel

    Good Explanation.We can easily setup from this tutorial.Nice Post.I have helpful it.

  24. Mohammadreza

    Best ever, I really appreciate your clear explanation. you’ve got your new follower for sure :)

  25. Changdeo Mhaske

    Thank You,

    would only make sense if this is a new site. If it is an existing site, then you would have to constantly comment out the hosts file in order to access the live site.

  26. Justin Esparza

    Thank you very much for this clear concise how-to. It helped immensely. You have a new follower.

  27. Satyanarayana

    Hi Dude.
    Actually i followed the process as you explaned above is very nice and clear.
    but i was getting the error “page not found”. when i click on link in a website
    i am changing my files from main server to localserver
    Can you please help

  28. Carol

    New to WP and completely lost. But I managed my first migration thanks to this article.
    Thank you! Thank you!

  29. Steve

    As a beginner, I found this article very helpful, but couldn’t get my site up live after developing locally. Everything was fine until Step 6. I did see the Error Establishing Database Connection error, and then edited the wp-config.php file. However, my site became a blank screen at that stage and I haven’t been able to change it.

    I continued on and went to my WordPress admin panel, and checked Settings » General. They still showed the localhost web address so I changed it to my site url. This is when things turned ugly. I was automatically logged out of Wordpress and can’t get back in. In fact, when I ask Wordpress to email me a new password to log in, its sends a localhost URL that takes me to a sign-on page with a message that reads “Sorry, that key does not appear to be valid.” I have no idea what caused that.

    Any help would be greatly appreciated.

    • WPBeginner Support

      Open your database in phpMyAdmin as mentioned in Step 5 and make sure that in wp_options table, your site url and home url options point to your live website.

      Admin

      • Steve

        Thanks for your suggestion. I double-checked and yes I had completed that step. Both have the correct URL

        Part of my confusion is that I now have two databases for this website. I originally had one accessible through a URL that starts with the number of an IP Address/phpmyadmin. Then I have the one I created in Step 3, which I did through my hosting company’s e-panel. They have different passwords and names. But I’ve tried both combinations in the wp-config file and still get the blank screen. Which one of these databases should I be using? They seem to have identical content.

    • Patrick

      Sparky!
      Your step-by-step guide was spot on. I am a mac user, and after MAMP, I am live now. Thanks a lot. It worked perfectly for me.
      Hat docked!

  30. Vishal Kumar

    I have done migration form live site to localhost successfully. But I noticed that Comment facility is not there after this. I have also checked all the option in ‘Setting->Discussion’ page. Everything is cheked but Commenting option and Leave comment box is not visible anywhere in the localhost. Please give me any suggestion for this because I am new in wordpress I am a Zend framework developer basically.

  31. NARESH

    Instead of moving the wordpress site, I would like to fresh install wordpress using fantastico or hostgator’s quick install, so will I be able to do like this too just by exporting and importing databases and uploading the themefiles? or this is the only way we can do it?

    I don’t know why. my local machine wordpress loads very slow than one, whichever is installed on live server using fantastico or quick install.

    • WPBeginner Support

      Naresh yes you can import your posts and comments using import/export tools in WordPress, then you can upload theme and other files using FTP. There are multiple ways to do things you need to choose one that works best for you.

      Admin

  32. Siddharth Khare

    Best Explanation Ever. I was able to set up in a mere 5-10 mins

  33. Mark Jones

    Do all of these instructions remain the same if there’s already an older, existing, non-wordpress page built where you want to move your wordpress page? For instance, rebuilding an existing site as a wordpress site, then switching over.

    • Editorial Staff

      Thanks for leaving a comment Erwin. Yes, some others have recommended that tool as well in the comments.

      Admin

  34. Abrishca

    It’s easy to forget just how much work a good plugin really does for us – I personally use the Duplicator plugin to transfer new websites from my development server to the client’s domain and you can see how much time this plugin (and Backup Buddy) can save you.

  35. Praveen

    Hi,
    I am facing problem in changing the database after creating the new database.
    Is there any problem with my hosting service or anything else

  36. Iskandar Dzulkarnain

    thanks, your tutorial is solution for my problem

  37. Anna

    Are you reading my mind?! Just a little while back I sat down at the computer to figure out how to add a Facebook like button to my first website, currently in development. Whala! “How to add a Facebook like button to your posts” was that day’s article. Then I’m wondering how to begin the local to live migration today, and AGAIN, here’s this post! GET OUT OF MY HEAD! :)

    And seriously, thank you very much for the invaluable help you’ve given to a beginner like myself.

    • Editorial Staff

      Haha the little birdie told us that you needed this article ;) Glad to be able to help.

      Admin

  38. riaz ali shah

    great article, the technique i often use for develop wordpress sites for clients, i use dummy text and images for local and then i move my theme only on server.

  39. John Coleman

    This was a great article. Another option to address the broken links issue is to do a find/replace on your .sql file (in a text editor) of the local URL to the production URL before you import it. This is also handy when moving a site to/from a sub-directory, or to push from staging (e.g. http://staging.domain.com) to production (e.g. http://www.domain.com).

    Thanks for putting this out there. I am sure it will help a lot of people.

  40. David

    Could have used this article 20 months ago. The trick I discovered in making the move was to open the database file in a good text editor. From there I did a search & replace maneuver to change localhost to the proper URL. It discovered numerous instances without me tracking down the tables, or worrying if my command syntax was correct.

    There’s a plugin called Broken Link Checker that’s worth running as well after the move.

    There are some web-hosting sites who’s infrastructure keeps everything in your WordPress site as localhost. No need to change anything in your local build. Just copy it over. Will definitely chose one of them next time.

  41. Mark

    2 suggestions to make it easier to move:

    1. When developing locally edit your HOSTS file (c:\Windows\System32\Drivers\etc\hosts) to point your domain name at local server. This avoids having to change the SITE URL and other links/images. Note: this will require config changes to your local web server.

    2. If you have to modify the SITE URL etc, after you have exported the local database and before import, Open the file in notepad and search for all instances of localhost/yourtestsite and replace with http://www.yourlivesite.com

    • Editorial Staff

      Mark,

      1. would only make sense if this is a new site. If it is an existing site, then you would have to constantly comment out the hosts file in order to access the live site.

      2. Yes that would make sense.

      Admin

      • Mark

        Changing the hosts file is something I do quite often and have a shortcut on my desktop giving me quick access.

  42. Gregg

    I also recommend DeskTop Server which I have been using for more then a year. Desktop Server allows you to create a local version of your site and then direct deploy it. Awesome!

  43. Sü Smith

    Great post! I typically just do find and replace on the .sql file with Notepad++ before uploading it to phpmyadmin. This is a nice alternative.

  44. Mike Ott

    Unfortunately this only works for some sites. A lot of wordpress plugins store serialised data in the database (Gravity Forms is one such plugin), and serialised data isn’t portable so doing an SQL dump and importing via PHPMyAdmin won’t work properly because of the string length differences between your local URL and live domain. You can’t even run an SQL query over serialised data.

    The best thing I’ve found to get around this problem is by using the WP Migrate DB plugin (http://wordpress.org/plugins/wp-migrate-db/). It handles the serialised data problem flawlessly every time and you won’t have to do half the other things you mentioned in this post.

    Have fun.

    • Mark

      Just had a light bulb moment! I have run into this issue before, thanks for the heads up Mike and pointer to the plugin,

    • Augustas

      For replacing paths and URLs I always use “Search and Replace” tool ( http://goo.gl/MCsKl ). It replaces serialized data, and it can be used for other CMSs as well, not only for Wordpress.

  45. estudiowp

    Nice article an well explained steps!

    However, many people will find troubles in their migrations because of the serialized data.

    Some plugins and themes use serialized data, and the replaces in step 5 and step 7 won´t change all the urls and paths that need to be changeed.

    For those steps you could use these tools or plugins:

    · wp migrate db plugin: http://wordpress.org/plugins/wp-migrate-db/

    · search and replace tool: http://interconnectit.com/products/search-and-replace-for-wordpress-databases/

    I hope this comment will be useful and sorry for my english!

  46. RW

    awesome post! I could have used this with my first local > server migration!

  47. Jean

    Great article – best I’ve read on this subject.

    I moved a site a while back and the only thing I would add is that you might need to re-save the permalinks settings. I had to do this because none of my menu links worked so this was an easy fix (luckily!)

    • Mike Ott

      If anyone wants to know what that happens, it’s the .htaccess file shows a different RewriteRule between local and live.

      A quick edit to .htaccess fixes the problem or as Jean pointed out, re-saving the permalinks settings will also do the trick as it’s just fixing the RewriteRule.

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.