Come migrare un Sito WordPress su un diverso Dominio e Hosting

Migrare WordPress
Migrare un sito WordPress su un altro dominio è più semplice di quello che si possa pensare, è importante seguire un ordine logico nelle operazioni da effettuare ed in pochi minuti avrete terminato.

Per siti di piccole e medie dimensioni non è necessario chiedere aiuto ad una agenzia SEO, cosa invece altamente consigliata quando si tratta di migrare portali con migliaia di pagine. Una migrazione affrontata nel modo sbagliato potrebbe causare perdite di ranking e di indicizzazione nei motori di ricerca portando importanti cali di viste organiche.

Può capitare di dover migrare su un nuovo hosting mantenendo il dominio, oppure cambiare sia hosting che dominio, ora ti spiegherò come affrontare il secondo caso: trasferire un sito WordPress da un dominio all’altro.

ESEMPIO:

Sito Origine:

  • Hosting: PIPPO SPA
  • Dominio: www.pippo.com

Sito Destinazione:

  • Hosting: PLUTO SRL
  • Dominio: www.pluto.it

Come migrare WordPress da un dominio ad un altro:

1. Effettua una copia in locale del sito via FTP

Tramite un qualsiasi client FTP (Filezilla ad esempio) scarica sul tuo pc una copia totale del sito web (il contenuto della cartella www/ oppure la root)

2. Scarica il Backup del database mysql

Migrare WordPress Phpmyadmin

(img 1)

Migrare WorPress Phpmyadmin

(img 2 – clicca l’immagine per ingrandirla)

Dal pannello di controllo di phpmyadmin, oppure con qualsiasi plugin per la gestione del database (WP-DBManager ad esempio), scarica il backup del database mysql. Ti consiglio di scaricare la versione compressa (.gz) per evitare problemi in fase di upload con un file troppo grosso. Per conoscere i dati di collegamento tra WordPress e mySQL puoi aprire il file config.php situato nella root di WordPress. Questo file di configurazione contiene l’indirizzo del database, nome del database, nome utente e password.

3. Imposta il nuovo hosting

Attiva il dominio, hosting (Linux) e il database mySQL. Salva tutti i dati di accesso: FTP, utente mysql, nome database mysql, password mysql, url del database mysql. I servizi di hosting più famosi hanno la predisposizione per i più comuni CMS. A questo punto la piattaforma è pronta per il trasferimento di WordPress sul nuovo dominio.

4. Modifica il file config.php

Ora è necessario cambiare le impostazioni del vecchio sito per dirgli dove si trova il nuovo database. Apri con il Notepad il file config.php che trovi dentro la cartella principale del sito che hai appena scaricato via FTP. Modifica le righe relative ai dati di accesso al database mysql (nome, database, password e url).

Migrare WordPress File Config

Migrare WordPress File Config

(img 3)

Se hai personalizzato il file config.php con altre righe (ad esempio per attivare il Multisite), copiale tali e quali nel nuovo config.php

5. Modifica il database mysql*

Recupera il Backup del databse mysql, estrailo dall’archivio .gz e aprilo con il Notepad. Utilizza la funziona “Find and Replace/Trova e Sostituisci”, nel campo “trova” inserisci il vecchio URL (www.pippo.com), nel campo “sostituisci” invece inserisci il tuo nuovo URL (www.pluto.it). Lancia l’operazione e lascia macinare il processore. Terminato il processo salva e chiudi il file e rimettilo nell’archivio .gz

*Se devi migrare da un hosting ad un altro senza cambiare il dominio non sarà necessario eseguire questa sostituzione. Carica il sito via FTP e il database mysql sul nuovo server, successivamente cambia i dati del DNS. Per la procedura dettagliata salta al punto 6.

Database mysql WordPress

(img 4)

6. Carica il sito via FTP

Non è necessario installare WordPress sul nuovo dominio. Collegati via FTP al nuovo server, individua la root e carica tutto il sito scaricato precedentemente. Se il tuo hosting ha una sola cartella caricate il contenuto della cartella locale WordPress, in modo da avere nella root del nuovo server le cartelle “wp-admin”, “wp-content”, “wp-includes”, …

Trasferimento FTP WordPress

(img 5)

7. Importa il database WordPress sulla nuova piattaforma di hosting

Accedi al pannello di controllo phpmyadmin del nuovo server sql (i dati di accesso sono generalmente inviati via email dopo l’acquisto del servizio).

Nella colonna di sinistra sono elencati i database attivi, clicca su quello che vuoi utilizzare. Il database dovrebbe essere vuoto, se non lo fosse seleziona tutte le tabelle e cancellale. Clicca “Import”, seleziona il file di Backup mysql (.gz) e avvia l’importazione del db.

phpMyAdmin WordPress

Pannello phpMyAdmin WordPress

(img 6)

8. Apri il browser e controlla che il nuovo sito funzioni a dovere :)

Possibili imprevisti post migrazione:

Come Murphy insegna, l’imprevisto è sempre dietro l’angolo. Di seguito descriverò i casi più significativi che mi sono capitati.

Il caricamento del database si interrompe

A volte disabilitare l’interruzione automatica dell’upload risolve il problema

Importare database mysql WordPress

Importare database mysql WordPress

(img 7)

Impossibile importare il database mysql perchè il nome del database non coincide con il nome del database di destinazione.

In questo caso potete semplicemente rinominare il nuovo database con il nome del database da importare. Tuttavia certi hosting non permettono di rinominare il database mysql. Ho risolto caricando il database sul mio server sql locale, nel quale ho ovviamente pieni poteri di amministratore. Tramite il pannello di phpmyadmin ho creato un nuovo database e ho importato il Backup. Ho poi rinominato il database con il nome del database di destinazione e il caricamento sul nuovo server è andato a buon fine.

Impossibile caricare il database mysql perchè il file supera le dimensioni limite.

Quando esporti il database dal pannello phpmyadmin seleziona l’opzione “compresso con gzip” come mostrato sopra.

Il pannello di controllo non è più in versione Multi-site

Per ripristinare il back-end Multisite è necessario copiare i settaggi del vecchio file config.php che attivano la gestione dei sotto soti.

File di configurazione WordPress

File di configurazione WordPress

(img 8)

Il sito non funziona :(

Per prima cosa leggi bene il messaggio di errore stampato sul browser e cerca di individuare il colpevole. Se viene menzionato il database spesso vuol dire che le informazioni inserite nel file config.php sono errate, controlla le 4 righe che identificano il database mysql.

Prova ad escludere temporaneamente tutti i plugin rinominando la cartella (da Plugin a temp-plugin, ad esempio). Molto spesso i plugin vanno resettati quando si fa un cambio di dominio ed escludendoli avrai modo di capire se l’errore è dovuto a questo.

In alternativa puoi provare ad importare il backup del database originale senza sostituire gli url col Notepad (Step 5). Potrà essere cambiato successivamente dal pannello di controllo di phpmyadmin. Seleziona la tabella wp_options (se non hai cambiato la radice) e modifica il campo “siteurl” come indicato in figura. Tuttavia in seguito dovrai modificare tutti i link interni fatti a mano (immagini comprese).

Modifica URL WordPress

Modifica URL WordPress

(img 9 – clicca l’immagine per ingrandirla)

Hai domande o dubbi da chiedere? Lascia un commento! Se invece l’articolo ti è servito condividilo con gli amici!

Cerchi il migliore WordPress Framework con temi professionali e customizzabili, ottimizzati SEO e con aggiornamenti a vita? Direttamente dai creatori di WordPress vi presento StudioPress!
Theme of the Month - AgentPress

About Giovanni Sacheli

Senior SEO & SEM Analyst
Fondatore di EVE Milano.
About me | Il mio profilo su Google+

Se potessi cambiare i colori di questo sito, cosa sceglieresti?

Guarda i risultati

Loading ... Loading ...

EVE Milano usa il Framework Genesis

Genesis Framework

Il Framework Genesis consente di creare rapidamente e facilmente incredibili siti web con WordPress. Genesis fornisce una piattaforma sicura e ottimizzata per i motori di ricerca e con un solo acquisto si ha diritto ad aggiornamenti a vita.

Scopri le caratteristiche incredibili e la selezione di temi professionali. E' così semplice - inizia a utilizzare Genesis ora!

Comments

  1. ianny says:

    Ciao, grazie mille per disponibilizzare queste informazioni utilissime!!
    …”avevo” un wp localizzato in pippo.com/blog e cui ho voluto aggiornare il core ad una versione piu recente. Dopo l’avviso di installazione completata, wp è andato in crash e adesso mi restituisce solo una schermata bianca. Posso chiederti come fare per ripristiare il mio blog? L’ideale sarebbe poter mantenere lo stesso indirizzo, ma non ci sarebbero problemi esistenziali a cambiare tipo pippo.com/blogV2. Ho l’accesso al vecchio database e posso crearne dei nuovi, ho i bkups antecedenti al crash .xml e .sql.gz
    Grazie!!

  2. ciao! prima di fare qualsiasi cosa prova a rinominare la cartella dei plugin in modo che wp lavori senza, se funziona riattiva un plugin per volta finchè non trovi il problema. Se è ancora in crash fai lo stesso sulla cartella del tema. good luck!

  3. ianny says:

    LoL ha funzionato!!
    rinominando la cartella dei plugin la schermata bianca è stata sostituita da un piu utile messaggio di fatal error e da li sono riuscito a trovare il problema. Tutto a posto!! grazie!! :D

  4. Bene, mi fa molto piacere :)
    Grazie per essere tornato a lasciare il commento!
    Spesso sono proprio i plugin che creano conflitti e rinominando la cartella si trovano subito i problemi!

  5. Luca says:

    Ciao, ottimo articolo!

    Alla prossima!

  6. Alessio says:

    Ciao Giovanni, e se invece avessi necessità di cambiare solo il DOMINIO e non l’HOSTING? (i file rimangono dove sono) – È possibile? Devo limitarmi al punto 5 del tuo tutorial? Grazie, ciao

  7. Ciao Alessio, se devi soltanto cambiare dominio devi scaricarti il dump del database mysql e sostituire il vecchio URL con quello nuovo con il blocco note. Poi nel caso non si aggiornasse da solo c’è da cambiare l’indirizzo del sito dal pannello di controllo di wordpress nella scheda impostazioni – generali.

    In bocca al lupo!

  8. Alessandro says:

    Ciao Giovanni
    sto provando per la prima volta WordPress, in una cartella su un PC in locale
    che mi fa anche da serverino web/php/mysql
    inutile dire che wordpress ha messo tutti gli indirizzi delle
    pagine e delle immagini
    come linux/wordpress/nome-dell-immagine o della pagina

    Quando migrero’ questo pezzetto di sito, naturalmente non vedro’ nessuna immagine,
    c’e’ un qualche modo per evitare di dover editare a mano tutti i link,
    togliendo magari la parte riguardante linux/wordpress ?

  9. Ciao Alessandro, se non vuoi sporcarti le mani c’è un comodo plugin che duplica i siti WP, ti modifica in automatico i riferimenti ai nuovi URL.
    Questo il link http://lifeinthegrid.com/labs/duplicator/
    Io sinceramente preferisco fare tutto a mano ma un mio collaboratore non riesce a farne a meno :) in bocca al lupo!

  10. Alessandro says:

    Ti ringrazio moltissimo,
    di solito non ho problemi a ficcare le mani anche nel codice,
    ma siccome sto’ facendo varie prove con sistemi locali, esterni, host fisici e virtuali,
    il fatto di riscrivere a manina per ogni santissimo spostamento tutto il malloppo
    mi cominciava ad infastidire, oltre a farmi perdere veramente troppo tempo.
    Provero’ il plugin oggi stesso.

  11. Michele says:

    Ottima guida, seguita passo passo e funziona tutto alla grande
    Grazie!

  12. Giovanni says:

    Ciao Giovanni,
    volevo chiderti se nel caso dovessi cambiare solo nome del dominio su wp se potevo farlo direttamente dai setting generali wp senza effettuare altre modifiche (inoltre wp non permette di fare trasferimenti del proprio blog con ftp come purtroppo sappiamo…).
    Come mi consiglieresti di fare?
    Grazie mille per l’aiuto ;)

  13. Ciao Giovanni, i blog su wordpress.com hanno regole particolari, la situazione rispetto ad un vero e proprio hosting di proprietà è ben differente! dai settaggi puoi modificare il nome del blog ma non l’indirizzo, per fare ciò dovresti creare un altro blog sempre su wordpress.com e copiare i contenuti. in un commento precedente ho indicato un plugin che effettua la copia da un blog all’altro ma dubito che tu possa installare quel plugin su wordpress.com!
    saluti

  14. Valerio says:

    Ciao, perdonatemi, ho creato un blog in locale con wordpress, questo però non è raggiungibile dai pc della rete locale, in quanto non riesco a risolvere i riferimenti localhost eccc… vorrei cambiare e mettere un più comodo blog.local invece che localhost.. come posso fare?grazie

  15. Ciao Valerio, prova inserendo l’IP del server con la relativa sottocartella per trovare il blog.
    es: 192.168.1.1/wordpress/

    ovviamente ti serve un server in rete locale con ip fisso, altrimenti puoi optare per un servizio di domini gratuiti tipo “no-ip” ma dventa già più complesso da gestire

  16. Valerio says:

    Giovanni grazie per la risposta è difficile trovare qualcuno disponibile. scrivendo l’indirizzo ip del server con relativa sottocartella, riesco a trovare il blog, però questo è spaginato e non vengono letti i riferimento alle immagini… ho provato a modificare tutti i riferimenti che puntavano a local host sul database ma niente.. in parole povere , sul server in locale, vedo tutto e funziona tutto correttamente, la mia necessità è che questo avvenga anche nei 50 computer della rete locale (possibilmente senza mettere mano ai file host di ognuno di esso) spero di essermi spiegato!

  17. il problema è che nel tuo sito hai fatto puntare i riferimenti a localhost che è un comando che dice: “cerca dentro te stesso”.
    se il server legge localhost si ritrova immagini e tutto… ma se un pc della rete si connette si mette a cercare le immagini nel suo localhost, e quindi giustamente non trova nè CSS ne immagini e allegati.
    i riferimenti vanno fatti puntare all’URL assoluto. ad es:
    http://192.168.1.1/wordpress/wp-content/upload/

    spero di essermi spiegato :)
    non usare “localhost” ma sostituiscilo con l’URL assoluto in modo che tutti i pc della rete capiscano dove reperire i file

  18. Valerio says:

    Ti sei spiegato benissimo ed è proprio quello che tento di fare da una settimana, il problema è che non sono riuscito a farlo. step by step da dove modifico tutti gli eventuali riferimenti?

    -database ? (trova e sostituisci localhost con xx.xx.xx.xxx)
    - wp-config?
    -alttro?

  19. inizia a piccoli passi, come ad esempio:
    1) prova a cambiare il riferimento URL di una immagine in un post e verifica se è visibile in rete
    2) cambia l’url base di wordpress come spiegato in questa guida: ripristinare-url-in-wordpress-configurazioni-e-settaggi
    3) se i primi 2 test vanno a buon fine puoi usare “find and replace” nel database come spiegato in questa pagina.

    ***ricorda di farti un backup di tutto prima di iniziare :)

    good luck!

  20. Valerio says:

    niente da fare, Oggetto non trovato!

    L’URL richiesto non esiste su questo server. Se hai scritto l’URL a mano, per favore controlla che non ci siano errori.

    come si fa in questi casi?

  21. prova drasticamente nel database con find and replace. scrivi correttamente l’url come indicato sopra!
    ma che server usi? windows o linux?

  22. Valerio says:

    funziona tutto a livello di collegamenti alle pagine, riesco a vedere anche le immagini, ma non risolgo nessuno script nessun tema e nessun CSS… ho mdoificato il database con find e replace, ho modificato la tabello wp_option e relativo campo site url,
    sento che sto facendo grandi progressi ma mi manca qualcosa.
    utilzzo un pc con windows xp di prova, ma se ci riesco con questo sposterò tutto su ubuntu server dopo

  23. Valerio says:

    Aggiornamento: Ho copiato e incollato tutti i file sotto radice htdocs e adesso risolvo tutti i css e il tema, ma ho perso lo sfondo e altre impostazioni.. non so se è il modo corretto avere doppi file, ma tant’è che ha tentativi ha funzionato

  24. ottimo hai quasi finito, lo sfondo è sicuramente un problemino a confronto :).
    probabilmente sono rimasti degli url sporchi in giro che vanno ripuliti. fai fare un giro a xenu sul sito e troverai subito cosa non va!

  25. Valerio says:

    adesso lo provo, anche se non l’ho mai usato speriamo non sia difficile. ho un’ultimo problema non riesco a fare visualizzare le opzioni del tema, credo perchè prima utilizzavo wamp e adesso XAMP e quindi cambia la radice, spero di riuscire a sistemarlo, nel caso torno a scriverti, sei stato gentilissimo, grazie per la disponibilità

  26. se io fossi in te cancellerei tutto e rifarei da zero, nella cartella giusta e con i settaggi giusti fin da subito.
    ci metterai forse di meno che a correggere tutto e il risultato è sicuramente più sicuro!

  27. Ciao Giovanni, ringrazio per la tua risposta nell’articolo:”Register.it, un servizio Hosting da evitare”, ora però incontro, come da manuale, un problemino non da poco, il mio piano attuale è un servizio business linux che comprende anche il servizio di backup, per effettuare la migrazione dovrei avvalermi di tale backup che risiede su un server di Register.it, tuttavia lo stesso a cui ho accesso via FTP, è una cartella non zippata che contiene tutti i file, ma non capisco poichè sono un pò digiuno in materia ed “ovviamente” il servizio clienti di Register non mi supporta, come devo comportarmi con il database MySql su PhpMyAdmin? Ho già fatto delle prove in locale con MAMP senza succeso, spero di essere stato chiaro e specifico che devo utilizare un b.u datato per ovviare ad alcuni recenti problemi tnk

  28. Ciao Fabrizio, premetto che non ho capito bene il tuo commento, ad ogni modo il backup non ti serve, puoi scaricarti il sito via ftp e il database da phpmyadmin.
    per migrare ti consiglio di leggere questo articolo: http://www.evemilano.com/2012/05/come-migrare-wordpress-diverso-dominio-hosting/

  29. Giovanni grazie per la guida, perdonami ma sono alle prime armi in materia, e non ho chiaro il concetto: nella migrazione vorrei utilizzare un backup di un mese fà per ovviare ad alcuni pasticci, il backup risiede su server di register.it al quale ho accesso via FTP e contiene tutti i file del blog, tuttavia non so come fare con il database. Se scarico quello attuale da phpmyadmin mi porterò dietro anche gli errori giusto? io vorrei tornare in dietro di un mese…

  30. Ciao Fabrizio, purtroppo se un mese fa non ti eri salvato il database sql privo di errori non ci sono altre soluzioni.
    Dovresti esportare da register il databse odierno ed importarlo nel nuovo sito, di seguito potrai correggere gli errori

  31. Fabrizio says:

    grazie per veloce la risposta, trà i vari plugin avevo installato anche xcloner, ed ho quindi un file: backup_2013-03-01_18-03_www.miosito.net-sql-nodrop.tar , pensi che li ci possa essere il file del database?

  32. Sembra proprio di si, l’estensione del db è sql quindi dovrebbe esserci, prova a scompattare l’archivio e cerca un file sql :)

  33. ciao ho dei dubbi e spero qualcuno possa aiutami…

    http://www.pippo.it

    1) trasferisco tutte le cartelle da FTP a Locale

    2) ho esportato tramite phpmyadmin il database “pippo”.sql aperto quindi con blocknote e,
    ho modificato l’url da “www.pippo.it” e “www.blog.pippo.it”

    http://www.blog.pippo.it

    3) a questo punto entro nell’FTP di blog.pippo e carico i file nel server

    4) faccio l’importazione del database… Quello che io mi chiedo è…

    ha importanza il nome del file “pippo”.sql ?

  34. Ciao Antonio, il nome del db non ha alcuna rilevanza a meno che non ci siano filtri sul phpmyadmin del nuovo provider. A volte infatti non si possono importare database con nomi diversi dal nome del db di destinazione. In questo caso basta rinominarlo in modo che coincidano ma al 99% dei casi non c’è bisogno di farlo.
    Grazie per il commento e in bocca al lupo!

  35. Ciao! Innanzitutto grazie per questa guida chiarissima! : )
    Parlando di legge di Murphy.. ho appena eseguito l’intera operazione per la migrazione del sito (la versione vecchia è tuttora qui: http://hadezcomic.altervista.org )
    Lo spazio web che ho acquistato è su Aruba (Linux + mysql). Da come puoi vedere, non si carica proprio un bel niente, ne pagine php ne cose come file .jpg sembrano caricarsi. Non capisco proprio dove sia il problema.. : (
    Per caso ti viene qualche idea?

  36. Ciao Silvia, sembra che non sia attivato il php sul server, sicura sia hosting linux?

  37. Ciao! Avevo scritto anche al supporto di Aruba e mi avevano indicato il file .htaccess come origine del problema. In effetti rinominandolo è andato tutto a posto e ora funziona!
    Grazie comunque per la tua risposta!! :)

Speak Your Mind

*

More in WordPress Tutorials
post-wordpress
Creare un Social Network con WordPress

Usi WordPress come CMS e vuoi trasformarlo in un social network? Esistono alcuni validi plugin...

post-facebook
WordPress: Guida a Facebook ADW

Facebook AWD è un plugin per collegare WordPress a Facebook Guida v.2 (v.1) Questo tool molto...

post-wordpress
Velocizzare WordPress

Da quando Google ha dichiarato che utilizza l'algoritmo di Page Speed per qualificare le pagine...

Close