Trasferire WordPress è un compito che molte persone trovano complicato. Consultare il Codex, anche se completo, offre una miriade di opzioni ma non descrive il processo in modo semplice e in un “click”.

Prima di iniziare

Prima di cominciare qualsiasi operazione fai un backup del tuo sito che comprenda:

  • I file del tema;
  • I caricamenti;
  • I plugin che hai usato, in modo da non dover perdere tempo a scaricarli di nuovo, se le cose “dovessero andare male”;
  • Il tuo database.

È possibile eseguire il backup del database utilizzando uno di questi strumenti:

  • phpMyAdmin;
  • Sequel Pro per OS X;
  • I comandi del terminale;
  • Un client desktop MySQL, oppure un plugin di backup, come WP-DB-Backup, che vi fornirà una copia del database tramite e-mail o download.

Spostare un sito web da una sottodirectory alla root

Dopo aver affrontato le procedure di trasferimento di un’installazione di WordPress da “locale” a “online”, questa eventualità è di gran lunga più semplice perché in realtà non è necessario spostare nulla, o quasi.

Creare un sito di prova direttamente online è una pratica diffusa e praticamente necessaria per valutare l’effettivo funzionamento dell’installazione in rete. Realizzare un sito in WordPress all’interno di una cartella (es. http://www.sito.com/test) consente di condividere lo sviluppo e le modifiche con il cliente.

Questo metodo di trasferimento dalla cartella “test” alla root del dominio funziona su un’installazione standard di WordPress e con la maggior parte dei framework, o se si sta utilizzando una struttura a tema “child”.
Attenzione! Questo metodo non funziona per:

  • Installazioni multi-sito;
  • I siti che utilizzano Genesis come framework (non sono sicuro).

Il bello di questo metodo è che ci vogliono solo da tre a dieci minuti a seconda della configurazione di partenza.

1. Rimuovere il sito web esistente

Se vi è un sito web esistente nella directory principale, rimuoverlo. Potrebbe essere un’altra installazione di WordPress oppure un sito statico.
Se si tratta di un sito WordPress, fare il backup, come descritto sopra, e quindi eliminare tutti i file di WordPress nella root.

  • Se a avete usato un servizio di installazione di WordPress utilizzatelo anche per la rimozione del database.
  • In caso contrario, utilizzare phpMyAdmin eliminare il database del sito web esistente.
  • Dopo aver lasciato la base di dati, rimuovere tutti i file di WordPress. Questo significa che normalmente vanno eliminati tutti i file o le cartelle che iniziano con “wp-“.
  • Attenzione! non rimuovere il sito esistente fino a quando hai fatto il backup.

2. Disattiva i permalink

Disattiva i permalink nella schermata “permalink”, che troverai nel menu “Impostazioni” selezionando l’opzione “Default” e cliccando su “Salva modifiche”.

3. Cambia il tuo indirizzo web

In “Impostazioni”“Generale” (campo “Sito Web (URL)”), cambiare l’indirizzo del tuo sito web, ma non l’indirizzo di WordPress. Ad esempio, se hai lavorato sul www.sito.com/test, modificare le impostazioni come segue:

  • Indirizzo WordPress (URL): http://www.sito.com/test
  • Indirizzo del sito (URL): http://www.sito.com

Salvare cliccando sul pulsante “Salva modifiche” e passare alle fasi successive prima di tentare di accedere al sito.

4. Copiare e modificare solo due file

Con un client FTP/SFTP o tramite il file manager cPanel, copia (non spostare) i seguenti file dalla directory di WordPress alla directory root:

  • index.php
  • copia il file .htaccess nella directory root

Modificare il file index.php che hai spostato in questo modo:

  • Modificarlo “in situ” dopo il trasferimento, usando FTP / SFTP o file manager cPanel;
  • Scaricandolo dalla sottodirectory, modificandolo e poi caricarlo nella directory principale – invece di fare una copia.

La modifica che dovete fare è davvero molto semplice e riguarda una riga alla fine del file.
È sufficiente modificare questa riga:

require (‘./wp-blog-header.php)

così

require (‘/nomesottodirectory/wp-blog-header.php)

Cioè, se state lavorando su una struttura del tipo sito.com/test, modificate la linea di codice in require (‘/test/wp-blog-header.php).

Salvate il nuovo file “index.php”.

5. Ripristinare i permalink e verificare il trasferimento

Tramite il pannello di amministrazione di WordPress ripristinate i permalink di nuovo, con qualsiasi impostazione di cui avete bisogno per il vostro sito web.
Con il vostro browser visitate il sito e noterete che l’URL mostrato è appunto l’URL principale (“root” anche se il sito continua a risiedere nella sottodirectory.

E questo è davvero tutto!