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.
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
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’.
Si accede così a una schermata in cui è possibile assegnare un nome al backup.
Quindi, fare clic sul pulsante “Avanti”.
Duplicator eseguirà ora alcuni test per verificare che tutto sia in ordine.
Se tutti gli elementi sono contrassegnati da “Buono”, cliccate sul pulsante “Costruisci”.
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.
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”.
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”.
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”.
Successivamente, è necessario aggiungere l’utente appena creato al database.
Innanzitutto, fare clic sulla casella di controllo “Tutti i privilegi”.
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.
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.
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.
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.
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.
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.
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.
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”.
Nella schermata successiva è possibile creare un nuovo database.
È necessario indicare un nome per il database, quindi fare clic su “Crea 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”.
Successivamente, è necessario aggiungere l’utente appena creato al database.
Innanzitutto, selezionare la casella di controllo “Tutti i privilegi”.
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”.
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.
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
.
Quindi, nella colonna options_name
, occorre cercare l’opzione siteurl
.
Quindi, fare clic sull’icona “Modifica”.
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”.
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”.
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.
Passo 7: Correggere le immagini e i link rotti aggiornando i percorsi
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.
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.
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.
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”.
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.
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
Louise
Thanks so much for an excellent article – very straight forward and easy to understand.
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
WPBeginner Support
Fadilah: did you try instructions in step 7.
Admin
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
yes it does look like you have not set your home and site URL.
fadilah
no, i didn’t try the 7th step, but this is my problem http://prntscr.com/2cfznc
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
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
WPBeginner Support
Yes the message in the floating footer bar on our website is a plugin that we use to add sticky floating footer bar on our website.
As for the newsletter we use OptinMonster to create optin form lightbox popup that you noticed.
Admin
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
Deepo
wonderful tutorial. complexity made simple
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
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
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.
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..
WPBeginner Support
Stefano, did you follow the step 5? It seems like you have not changed site URL
Admin
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
javed choudahry
Hi
Sir
Thanku so much .This website is very good for wordpress learn and very help full .
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 linesCREATE 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!!!!!!!!!!!!!!
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!
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.
WPBeginner Support
Mario, if your client’s web host does not have cPanel or phpMyAdmin, then you can try one of the methods described in our beginner’s guide on how to restore WordPress from Backup.
Admin
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.
Adelio Fioritto
Everything perfect, just update http://www.yourlivesite.com to http://www.yourlivesite.com/ in db query
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
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
PatoPanichelli
You really helped me. This step by step is awesome, I had no problems migrating from MAMP to a live site. Thanks
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).
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”
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
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.Manish Patel
Good Explanation.We can easily setup from this tutorial.Nice Post.I have helpful it.
Mohammadreza
Best ever, I really appreciate your clear explanation. you’ve got your new follower for sure
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.
Justin Esparza
Thank you very much for this clear concise how-to. It helped immensely. You have a new follower.
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
Carol
New to WP and completely lost. But I managed my first migration thanks to this article.
Thank you! Thank you!
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!
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.
WPBeginner Support
Did you check comments template? Ity is usually comments.php file in your theme.
Admin
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
Siddharth Khare
Best Explanation Ever. I was able to set up in a mere 5-10 mins
Editorial Staff
Thanks Siddharth.
Admin
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
Yes because in theory, you will be overriding everything that is there.
Admin
Erwin
Best way (IMO) to change the URL in the database is via the Search and Replace tool of Interconnect it > http://interconnectit.com/products/search-and-replace-for-wordpress-databases/
Editorial Staff
Thanks for leaving a comment Erwin. Yes, some others have recommended that tool as well in the comments.
Admin
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.
Editorial Staff
Totally agreed with you there
Admin
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
Iskandar Dzulkarnain
thanks, your tutorial is solution for my problem
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
Jean
Nice tutorial, thanks.
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.
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.
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.
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.
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!
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.
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.
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!
RW
awesome post! I could have used this with my first local > server migration!
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!)
Editorial Staff
Good suggestion. Added that to the article.
Admin
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.