Trasferimento WordPress

Vi è mai capitato di dovere spostare un blog WordPress da un server all'altro e da un dominio all'altro? Non è una operazione particolarmente complicata, ma ci sono alcuni essenziali passaggi che è necessario eseguire con cura.

La prima cosa da fare è sicuramente avere il nuovo hosting disponibile: assicuratevi che ci sia il supporto PHP (meglio su server Linux con Apache) e che sia presente un database MySql.

Iniziamo con le operazioni pratiche. Copiare l'intera cartella del blog wordpress da trasferire e replicare la struttura delle directory nel nuovo server. Ponete attenzione ad un'altra cosa: se avete un file .htaccess in una directory di livello superiore (padre, padre di padre…) rispetto a quella in cui avete installato WordPress, dovete verificare di replicare le regole che coinvolgono il vecchio blog anche nel nuovo.

Passiamo quindi sul lato Database. Accediamo al MySql del blog originale e facciamo in modo di esportare il database in linguaggio SQL. Lo fate con gli strumenti che solitamente offrono gli hoster, come PhpMyAdmin. Comunque PhpMyAdmin potete sempre installarvelo per i fatti vostri. 

Con il vostro backup sql siete pronti per procedere al trasferimento. Create nel nuovo hosting, il nuovo database: segnatevi nome utente e password. Aprite quindi il file .sql del backup, se avete già creato il nuovo db commentate nel sql la riga "create database" prefissandola con "–" e modificate tutte le volte in cui è chiamato il vecchio DB, inserendo il nome del vostro nuovo db. Ora non vi resta che andare nell'amministrazione del nuovo database e importare lo script SQL. Nel caso in cui aveste dei problemi di timing out con PhpMyAdmin vi consiglio l'uso di Adminer, un unico magico file php!

Dalla console di gestione di mysql ora dovete modificare qualche voce:

  • nella tabella wpmrx_options andate a modificare l'url del blog e l'eventuale email. I record corrispondono a quelli che solitamente hanno option_id a 2 o a 6. Per completezza usiamo:
    update wpmrx_options
    set option_value = replace(option_value,'<stringaVecchia>','<stringaNuova>')
  • nella tabella wpmrx_posts dovrete applicare una query di aggiornamento rimpiazzando tutte le volte che l'url vecchia è richiamata. Questo è un esempio di come farlo:
    update wpmrx_posts
    set post_content = replace(post_content,'<stringaVecchia>','<stringaNuova>'),
    guid = replace(guid,'<stringaVecchia>','<stringaNuova>')
  • nella tabella wpmrx_postmeta stessa cosa fatta per wpmrx_posts (magari usate solo parte del path):
    update wpmrx_postmeta
    set meta_value = replace(meta_value ,'<stringaVecchia>','<stringaNuova>')

Passo successivo: modificate il file wp-config.php del nuovo blog, inserendo le credenziali (url db, utente e password) del nuovo database e caricatelo nel nuovo hosting. Quindi accedete alla pagina del nuovo WordPress con le impostazioni generali ( /wp-admin/options-general.php ) e verificate che le url presenti corrispondano al vostro nuovo dominio. Il gioco è fatto.

Riassumendo:

  1. Preparate il nuovo hosting (php+mysql)
  2. Replica delle directory e dei file
  3. Database: aggiornamento tabelle wpmrx_options e wpmrx_posts
  4. Modifica wp-config.php
  5. E per finire correggere i link qui: /wp-admin/options-general.php

Buon trasferimento.

Loading Facebook Comments ...

10 pensieri su “Trasferimento WordPress

  1. spippolazione

    Ma se sposto anche il domino, chiamo il db esattamente come l’originale e la password di root e’ la stessa c’e’ solo da far ingoiare al nuovo db il backup del vecchio e riparte tutto…

    a prova di scemo, giusto ? 🙂

    Rispondi
  2. Pingback: I migliori post della settimana #63 | EmaWebDesign :: Web Programming / Web Design / SEO

  3. Luca

    Scusatemi, non son molto pratico di DB ma sto cercando di capirci qualcosa. Sto impazzendo con un trasferimento di wordpress. Eseguire le 3 query di sopra equivale e modificare tutte le stringhe manualmente con un Editor di testo con funzione “Replace”? Ho fatto tutti i passaggi seguendo una decina di guide, sia del sito ufficiale che trovate in rete, ma il risultato è che una volta trasferito il sito, i plugin sono spariti e soprattutto è sparita la parte amministrativa! c’è una pagina bianca al posto di http://www.miosito.it/wp-admin Che problema può essere ? 🙁

    Rispondi
  4. Merlinox Autore articolo

    @Luca le 3 query fanno esattamente quello vanno a correggere (in base a regole che dai te riscrivendole) i vari permalink in giro per il db di wordpress.
    Fare un traseferimento di wordpress significa trasferire: pagine + db. Il db deve essere rivisto con le query.

    Chiaro che è necessario avere un po’ di preparazione per farlo, altrimenti io consiglio vivamente di chiedere supporto ad un consulente preparato: se è onesto non spellerà vivo nessuno ma garantirà un buon lavoro, anche dal punto di vista SEO.

    Rispondi
  5. Merlinox Autore articolo

    Per chi è un po’ più esperto, e sa cosa sta facendo, al posto delle query per modificare le url si può sempre modificare con un bel “trova/sostituisci” il file con gli script sql completi!

    Rispondi
  6. Pingback: Wordpress: rinominare prefisso tabelle @merlinox

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *