Andrea Beggi

If I'm free, it's because I'm always running.

Spostare WordPress su un altro hosting

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

Con le ultime versioni di WordPress, spostare il blog da un hosting ad un altro è diventata un’operazione più semplice, grazie alla possibilità di export/import del database in un file XML in un formato che WordPress chiama “WordPress eXtended RSS ” o WXR. Questo file contiene post, commenti, categorie e quant’altro; è possibile specificare un singolo autore oppure il blog nella sua totalità. Questa funzione è comoda perché ci evita di dover pasticciare con PHPMyAdmin, a tutto vantaggio della semplicità dell’operazione.

L’unico problema da gestire con attenzione riguarda la migrazione del dominio, e non è strettamente legato a WordPress. Quando si trasloca il proprio dominio da un hosting ad un altro, c’è un lasso di tempo durante il quale il cambio di indirizzo IP si propaga attraverso tutti i server DNS in internet; normalmente dura circa 24/36 ore durante le quali il dominio è “ballerino” e il nome punta al vecchio o al nuovo server a seconda che il DNS utilizzato abbia già aggiornato il record relativo. Durante questo periodo sarebbe meglio pubblicare un post di avvertimento e chiudere i commenti, in modo da non perderne nel passaggio.

L’ideale sarebbe avere una installazione pulita e pronta sul nuovo hosting; come farlo dipende dal provider che avete scelto: se si riesce a conoscere prima l’indirizzo IP e lo spazio è già disponibile a volte è possibile procedere da subito con l’installazione, altrimenti si dovranno fare le cose “al volo”. Alcune volte si riesce ad accedere contemporaneamente al vecchio ed al nuovo modificando di volta in volta i server DNS e ripulendo la cache con un ipconfig /flushdns, oppure giocando con il file hosts residente sul vostro computer.

La cosa fondamentale da ricordare è che l’esportazione va fatta assolutamente prima dell’inizio del trasferimento di domino, in modo da essere certi di poter accedere senza problemi al blog originale. L’operazione è molto semplice: Manage –> Export, scegliete un autore o tutti ed esportate. Adesso accedete via FTP alla cartella nella quale risiede il blog, che di solito è una cosa tipo httpdocs o htdocs, e salvate tutto il contenuto. Controllate di stare effettivamente salvando tutto quello che vi serve, specialmente la cartella wp-content. (vedi procedure di backup?).

Se non avete pasticciato troppo il vecchio blog, ci sono il 99% delle possibilità che tutti i file che dovrete ripristinare via FTP risiedano nella wp-content e relative dipendenti, ma nel caso aveste materiale “sparso” ripristinatelo nella posizione originale. Accertatevi che le versioni di WordPress siano identiche, eventualmente aggiornate prima di spostare il blog; questo è molto importante, perché elimina il rischio di una sovrascrittura accidentale quando ripristinate i file via FTP.

A questo punto siete pronti per andare in Manage –> Import –> WordPress e qui potrebbe sorgere un problema: la dimensione massima del file accettato, che spesso è inferiore a quella del vostro file XML (WXR). E’ necessario a questo punto spezzarlo in più parti di dimensione adeguata. E’ sufficiente editare il file “principale” e estrarne alcune sezioni che andranno incollate in nuovi file, sempre con estensione .xml e l’accortezza di estrarre gli item nella loro interezza. Quindi i file “figli” dovranno iniziare con <item> e terminare con </item>; il file da importare per primo sarà comunque quello di partenza, che adesso avrà dimensioni inferiori. Procedete con gli altri file, meglio se in ordine di estrazione.

Al termine delle operazioni di spostamento file e ripristino database, dovreste avere trasferito il vostro blog sul nuovo hosting. Attivate i plugin e ripristinate il vostro template per completare il lavoro.

Nel mondo reale, purtroppo, non sempre le cose vanno lisce: è consigliabile fare una prova su una installazione in locale sul vostro computer, prima di fidarvi del tutto della procedura. Io ho avuto problemi con i tag che non vengono importati, ad esempio. Se l’esportazione/importazione tramite XML fallisce, non resta che affidarsi al metodo tradizionale di backup e restore del database tramite PHPMyAdmin. E’ probabile che anche in questo caso ci siano problemi dovuti alle dimensioni del file, quindi l’operazione di “split” del file dovrà comunque essere fatta. Non è difficile, ma richiede un po’ di pazienza e di occhio per capire in quali punti il file potrà essere spezzato. Se non vi sentite sicuri, magari chiedete aiuto a qualcuno. Vi ricordo che in questo caso è necessario modificare a mano i campi siteurl e home della tabella wp-options, in cui andrà specificato l’url del blog di destinazione. Questo campo non dovrebbe cambiare in caso di spostamento di hosting, mentre va sicuramente modificato per una installazione locale, a meno di non fare qualche giochino con il proprio file hosts.

In definitiva, i consiglio che vi posso dare e volete essere assolutamente sicuri è di usare il “metodo XML”, ma di fare comunque un backup tramite PHPMyAdmin, che non si sa mai.

Tags: , ,

27 Commenti

Salvatore Aranzulla | #

Ciao Andrea,

devo trasferire ben presto anch’io il mio blog. Mi chiedevo però se esportando il tutto via XML, venga mantenuto l’ID dei singoli articoli (credo di no).

Ciò è di fondamentale importanza perché ha come me l’id dell’articolo nell’url: http://url/nomearticolo-id.html.

SA

rael | #

una cosa invece mi ha lasciata perplessa.
non si riesce a emigrare da http://www.miositoperesempio.WORDPRESS.COM http://www.miositoperesempio.com su sui è installato wordpress.
esporti, salvi, apri la bacheca del sito personale, importi e ti dice che no, non puoi.
grazie al cielo la migrazione da http://www.thefamilyandthefishingnet.wordpress.com a http://www.chordatanimalia.com l’ho fatta quando the fishing era ancora semivuoto, ma l’ho dovuta fare mano a mano e niente da fare per i commenti.
è una cosa che avevo già notato tentando di trasmigrare con altri blog wordpress.com a siti che girano con wordpress.

Emanuele | #

Interessante, non l’avevo notato. Però penso che – per chi ha accesso – un dump del database sia sempre il metodo più sicuro per trasportare il blog.
Questi script, sebbene creati dagli stessi autori, mi fanno paura.
Ciao,
Emanuele

Luca | #

Ciao andrea personalmente ho avuto brutte esperienza con la funzione export, su un wp 2.2 esportava correttamente il file (se vado a guardare l’xml ci sono tutti gli articoli), ma quando vado a reimportalo su un wp 2.3 alcuni articoli li salta a priori (non vanno neanche nel db). Che ne dici di una guida un pochino + sporca per spostare il dump del db etc?

maga | #

Andrea grazie mille di questa guida, entro un mese dovrò migrare su un altro hosting e spero che vada tutto liscio! Al limite ci risentiremo… ;)

@Luca:
Andrea scrive appunto in questo articolo
Accertatevi che le versioni di WordPress siano identiche

Luca | #

@Maga
HO letto l’articolo, però mi sembra un problema davvero strano che salti solo alcuni articoli e in ogni caso appunto chiedevo eventualemente un post con tecniche un pochion + sporche ;)

aghost | #

io vorrei lasciare la piattaforma wordpress (gratuita) e migrare su un spazio mio ma, quando cerco di importare il file esportato in xml, wordpress mi risponde che il file è troppo grande perché c’è il limite di 2 mb (il mio è oltre 10 mega).

Possibile che non ci sa una procedura automatica per splittare il file o un plugin che importi il tutto??? :(

Andrea | #

No, lo devi splittare a mano, non c’è altra soluzione….. I limiti dipendono da PHP più che da WordPress. Anche secondo me la procedura di importazione è molto migliorabile.

maga | #

devo ancora fare la migrazione ma mi è venuto un dubbio: il blogroll viene esportato?

umberto | #

salve ragazzi,

ho adoperato anche io il plugin che mi permette di esportare i post da un hosting all’altro. Avevo uno spazio su altervista e poi ho comprato un dominio mio. Dovendo traslocare il tutto ho adoperato la funzione…tutto ok eccetto per le immagini.
mi spiego meglio: i post li importo tutti ma le immagini contenute nei singoli post no.
Eh si che io, da altervista al nuovo hosting, avevo importato la cartella upload dove si trovavano tutte le immagini ma….non ottengo nulla.
Dove sbaglio e cosa posso fare?
Grazie Mille
Umberto

gio | #

scusate ma sono una frana col pc ho solo cambiato nik in msn mi kiedevo se qualcuno mi puo’ aiutare a spostare il mio blog nel nik nuovo di msn grz

Cristian | #

Oggi volevo trasperire il mio blog su un’altro hosting solo che dopo aver esportato il file xml, dopo quando voglio importarlo importa solo 9 articoli su 650 e ci sta anche molto ..perchè?
aiutami please

Nicola | #

Ciao Andrea,
io sono in una situazione un po particolare nel senso che ho attivato da poco un blog wordpress.com reindirizzandolo però su un mio dominio acquistato con register.it (ho naturalmente dovuto modificare i dns puntando a quelli di wordpress).

Ora però vorrei passare a wordpress self-hosted e già che ci sono acquistando l’hosting da register, che mi sembra la via più facile. Il punto è che ora ovviamente register non mi fa acquistare se non rimetto i suoi dns. Quindi ho il dubbio su come devo procedere.

Devo rimettere i dns di register e ripristinare come url principale del blog la url default di wordpress, acquistare l’hosting, installare WP 2.7, esportare/importare il db? Devo fare qualche altra operazione, qual’è la sequenza giusta e a cosa devo porre particolare attenzione?

Grazie per i tuoi post utili e interessanti.

piac95 | #

Probabilmente sto dicendo una cavolata…ma non puoi fare il download via FTP di tutta la cartella del blog su una cartella locale, e poi la riesporti? Senza complicarsi la vita con gli XML…

Andrea | #

Il database non lo scarichi via FTP.

Massimo | #

Grazie!

Sto proprio affrontando una migrazione.

Ma con il file xlm vengono importate anche tutte le impostazioni dei plugin?

Per esempio plugin come All in One SEO Pack?

Grazie

Massimo

Samuele | #

ciao,
io ho fatto una migrazione di recente da tophost a dreamhost.
esportazione ed importazione ok. ma quando mi apre il sito mi cerca i collegamenti delle pagine/post con i permalink.
ma mi da errore 404″Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.” che cosa può essere? :/

grazie dell’help!

Andrea | #

Cancella il file .htaccess e reimposta la struttura dei permalink secondo la modalità desiderata.