Come trasferire un sito WordPress su DevKinsta

DevKinsta


DevKinsta è uno strumento straordinario messo a disposizione gratuitamente da Kinsta per creare un sito web WordPress in ambiante locale, ovvero sul nostro PC. Per approfondire le conoscenze dell’ambiente di sviluppo DevKinsta puoi anche consultare il mio precedente post. Cosa succede se disponiamo già di un sito WordPress e vogliamo trasferirlo su DevKinsta? E’ possibile farlo? La risposta è affermativa. Questo post affronterà un problema che può sembrare complicato: come trasferire un sito WordPress su DevKinsta. Vedremo, tuttavia che questa, pur essendo un’operazione chirurgica, potrà essere svolta agevolmente grazie soprattutto alla versatilità e facilità d’uso di DevKinsta. Ci occuperemo sia del trasferimento di un sito WordPress memorizzato sullo stesso PC ma realizzato con applicazioni differenti e sia di come trasferire su DevKinsta un sito già in rete.


Indice dei contenuti


Perché trasferire un sito su DevKinsta

Quasi sempre si ha la necessità di trasferire un sito in locale su uno spazio offerto da un servizio di hosting web. Qui vedremo un procedimento inverso, ovvero trasferire un sito esistente su DevKinsta, ovvero su un PC locale. Ci sono valide ragioni per trasferire un sito in ambiente DevKinsta. Innanzitutto sviluppare un sito WordPress in locale con questo strumento è sicuramente facile e veloce. Inoltre se abbiamo deciso di utilizzare Kinsta come hosting web per il nostro sito, prima di trasferirlo, potremmo perfezionarlo in locale. Il trasferimento successivo da DevKinsta su Kinsta sarà molto semplice. Infine il trasferimento ci darà la possibilità di perfezionare le conoscenze su WordPress e avere maggiore consapevolezza della configurazione di un sito.


Operazioni da compiere

I passaggi da compiere per realizzare questo trasferimento sono i seguenti:

  1. Creare un nuovo sito con DevKinsta;
  2. installare e attivare sul nuovo sito il tema presente nel sito da trasferire;
  3. fare una copia delle tabelle del database del sito da trasferire;
  4. importare le tabelle copiate all’interno del database del sito DevKinsta;
  5. Modificare alcuni campi della tabella wp_options;
  6. Installare i plugins attivi sul sito da trasferire.

Se si eseguono correttamente queste operazioni si dovrebbe ricreare, nell’ambiente DevKinsta, il sito da trasferire .


Creazione del sito

La creazione del nuovo sito DevKinsta è un’operazione semplicissima.

Creazione sito con DevKinsta
Creazione di un nuovo sito con DevKinsta


Facendo clic sul pulsante “Aggiungi Sito” nella finestra principale di DevKinsta si accede ad una finestra simile alla precedente. Scegliere la prima opzione a sinistra “Nuovo sito WordPress” per creare il nuovo sito.

Creazione del nuovo sito DevKinsta
Creazione del nuovo sito DevKinsta

La finestra precedente mostra le informazioni sul sito creato, a cui ho dato il nome “test_creazione_sito_locale”. Il nome del database corrispondente è identico e il link per accedere al sito è mostrato nella finestra sotto l’etichetta “HOST SITO” ed è precisamente http://testcreazionesitolocale.local:41667. L’indirizzo del sito creato sarà utile in seguito. Il dominio di default è .local, mentre la porta usata dal server NGINX è 41667 .

Ora è necessario accedere al pannello di controllo del sito creato da DevKinsta, facendo clic sul pulsante in alto a destra “WP Admin”, per installare il tema del sito da trasferire. Ricordo, infatti, che per poter trasferire il nuovo sito in quello creato da DevKinsta occorrerà sovrascrivere il suo database con quello del sito da trasferire. Durante il travaso di questo database sarà automaticamente inserito il tema del sito da trasferire al posto del tema attivato da DevKinsta. Se questo tema non fosse attivo su DevKinsta al primo accesso, comparirebbe la famosa pagina bianca di WordPress.

Il sito creato da DevKinsta con il tema del sito da trasferire
Il sito creato da DevKinsta con il tema del sito da trasferire


La figura sopra mostra l’anteprima del sito creato da DevKinsta su cui è stato attivato il tema Classic Ecommerce. Questo perché Classic Ecommerce è il tema del sito di prova e-commerce che ho deciso di trasferire. Il sito è presente sul mio PC su cui gira la versione 20.04 di Ubuntu Linux.


Copia del database

Sul mio PC uso il server web Apache2, installato di default con Ubuntu, quindi il sito di e-commerce è memorizzato nella cartella /var/www/html/ . Uso inoltre Mysql 8 e PHP 8.1. Non importa, tuttavia, dove siano i file, perché trasferirò solo il database del sito e-commerce che andrà a sostituire il database del sito creato da DevKinsta. Poiché articoli, pagine, commenti e tutto il resto sono memorizzati nel database, dopo il trasferimento ritroverò il mio sito di e-commerce trasferito su DevKinsta. Occorre dunque prima esportare il database del mio sito. Potrei farlo con PhpMyadmin o con MySql Workbench, ma decido di usare il medesimo gestore di database usato da DevKinsta, cioè Adminer. Una volta esportato il database, importerò le sue tabelle nel database creato da DevKinsta.


Accedo al sito di Adminer e scarico la versione 4.8.1 di questo database manager per gestire l’esportazione del database del mio sito e-commerce. Avrei potuto usare qualsiasi gestore di database, ma voglio provare ad usare Adminer. Risulta essere molto semplice, veloce e comodissimo. Decisamente più utile per queste operazioni rispetto a PhpMyadmin. Dopo aver esportato il database del sito da trasferire nel file “Test_creazione_sito_locale-export.sql.gz” con l’operazione export , accedo al database del sito creato da DevKinsta per sovrascriverlo con l’operazione import, specificando lo stesso file usato per l’esportazione. Per far partire l’import o l’export è sufficiente fare clic sul pulsante “Execute“. Posso passare da un database all’altro semplicemente agendo sulla casella di selezione di nome DB in alto a sinistra nella finestra di Adminer.

Importazione database
Importazione database


Con pochi clic ho sovrascritto il database generato da DevKinsta con quello del mio sito da trasferire.


Modifica di alcuni campi della tabella wp_options

Ora devo modificare due campi della tabella wp_options perché essi sono importanti per l’accesso al sito.

I campi da modificare nella tabella wp-options specificano l’indirizzo URL del sito. Tale modifica diventa semplice utilizzando Adminer, come mostrato nell’immagine successiva.


Modifica dei campi di wp_options nel database
Modifica dei campi di wp_options nel database

Occorre selezionare la tabella wp-options utlizzando la scelta select wp_options dal menù a sinistra, quindi fare clic su Select data. Adminer con semplici clic consente di eseguire istruzioni SQL sul database, permettendo di operare intuitivamente anche a coloro che non conosco questo linguaggio. Facendo clic su Select data, Adminer di fatto esegue l’istruzione Select * from wp_options; indicata nella finestra. Notare i primi due campi che sono “siteurl” e “home” visualizzati sotto la colonna option_name. Essi sono i campi da modificare ed ecco perché in corrispondenza ho inserito nella figura la scritta “da modificare”. E’ necessario inserire in tali campi l’URL del sito creato da DevKinsta. Per farlo fare click sulla matita e inserire nella finestra successiva l’indirizzo del sito generato inizialmente da DevKinsta, ovvero in questo caso “http://testcreazionesitolocale.local:41667” . Svolgere questa operazione su un campo alla volta, inserendo lo stesso indirizzo come valore. La figura successiva mostra l’avvenuta modifica e la relativa istruzione SQL UPDATE, per il secondo campo, quello di nome “home”

Modifica URL in wp_options avvenuta
Modifica URL in wp_options avvenuta


Precisazioni

Abbiamo visto come trasferire un sito WordPress su DevKinsta, ma è necessario fare alcune precisazioni.

Attenzione: Un database è costituito da tabelle. Le tabelle di WordPress hanno tutte un medesimo prefisso. DevKinsta nel creare le tabelle del database per i suoi siti utilizza il prefisso di default “wp_” . Se il sito da trasferire usasse tabelle con prefisso differente l’ importazione del database non andrebbe a sovrascrivere le tabelle create da DevKinsta, ma ne creerebbe di nuove. In tal caso occorrerà compiere le operazioni successive su queste tabelle e non su quelle con prefisso “wp_”. Sarà inoltre necessario modificare il file di configurazione wp-config.php per specificare il prefisso differente, in modo che WordPress acceda alle tabelle corrette. Per esempio se le tabelle del sito da trasferire su DevKinsta avessero prefisso “wp01_” occorrerà modificare in wp-config.php l’istruzione $table_prefix = ‘wp_’; con $table_prefix = ‘wp_01’;


La possibilità che i prefissi dei nomi delle tabelle siano differenti da “wp_” è più alta nel caso di siti presenti in rete, soprattutto nei casi in cui l’installazione di WordPress sia stata eseguita dal servizio di hosting. In tal caso, infatti, il database non viene creato autonomamente dall’utente, bensì dal servizio stesso.


Installazione dei plugins

Una volta che è stato ripristinato il database mancano ancora i plugins. Sarà necessario reinstallare e attivare sul sito DevKinsta, accedendo al pannello di amministrazione con il pulsante “WP Admin”, tutti i plugins presenti sul sito da trasferire. Tutte le configurazioni, presenti nel sito di origine, poiché erano memorizzate nel database, resteranno valide e non occorrerà rifarle. La reinstallazione dei plugins sembra la strada più sicura da seguire, per trasferire completamente il sito su DevKinsta. Considerando che stiamo parlando di siti in produzione, i plugins da reinstallare non dovrebbero essere molti e l’operazione non dovrebbe richiedere molto tempo. Diversamente occorrerebbe copiare tutti i file di WordPress del sito da trasferire nella directory locale creata da DevKinsta.


Conclusioni

Abbiamo visto come trasferire un sito su DevKinsta. Se qualcosa non dovesse andare per il verso giusto si potrà sempre cancellare l’installazione del sito creato con DevKinsta, scegliendo la voce “Cancella” dal menù con i tre puntini verticali e rifare tutto il procedimento. Se subito dopo qualche modifica, queste non fossero visibili, sarà necessario svuotare la cache del browser e ricaricare la pagina.


Spero che questo post sia stato utile. A presto.


Tagged: Tags

Lascia un commento

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