WordPress, la celeberrima piattaforma di personal publishing, e CMS (Content Management System) vanta oggi milioni di utilizzatori ed ha raggiunto una popolarità che quasi non necessita presentazioni. Chi utilizza WordPress (d’ora in avanti WP)abitualmente per realizzare siti web, avrà certamente notato che alcune operazioni, abbastanza ovvie per sistemi “tradizionali”, necessitino invece di qualche accortezza in più.
Il cambio di host, ad esempio, rientra in questa categoria e oggi ne parleremo.
Al di la’ dei tempi tecnici coinvolti che dipendono esclusivamente dalla mole di file coinvolta, non si tratta di una operazione lunga nè tantomeno complessa; il tutto si articola in pochi semplici passi: vediamoli insieme.
Quanto vado esponendo vale sia per il passaggio da locale a remoto, che per quello da uno spazio web ad un altro.
Trasferito il contenuto dell’intera cartella del sito sul vostro spazio remoto con il client FTP che preferite, la prima cosa da fare è eseguire un backup del Database contenente l’installazione di WP: accedete a PhpMyAdmin, selezionate il DB interessato, cliccate sul pulsante esporta, quindi flaggate la casella “salva con nome” posta in basso alla schermata. A fine operazione avrete il vostro file di backup in formato “.sql”. Potrete backuppare il vostro DB, anche dall’interno di WP, servendovi di un plugin apposito tipo “WPDB Backup“; per DB molto “farciti“, è preferibile il formato compresso con zip, in grado di ridurre considerevolmente le dimensioni (anche fino ad 1/10 rispetto all’origine), evitandovi eventuali problemi di timeout della connessione e facendovi comunque risparmiare del tempo.
A questo punto, create un nuovo Database dal Pannello PhpMyadmin dell’ host (remoto) di destinazione, selezionatelo, e procedete all’importazione del file appena creato, localizzando il file appena creato, dopo aver cliccato su “importa”.
Ora che avete il Database, selezionate la tabella denominata “wp_options“, cliccate su “mostra” e, trovate le righe “siteurl” e “home“, sovrascrivete il valore presente al loro interno (ad es.”localhost” ) col nuovo indirizzo del sito, omettendo l’eventuale slash finale;
A questo punto, trascrivete i dati inerenti al DB (host nome db, user e password) sostituendo quelli già presenti all’interno del file wp-config, che trovate nella directory principale del sito e salvate il file.
Se dovessero esserci dei problemi, potrete provare a “forzare” le costanti WP_HOME e WP_SITE_URL, editando e incollando le due righe seguenti nel file wp-config (potrete rimuoverle in seguito).
define(‘WP_HOME’,’http://indirizzo/eventuali/sottocartelle’);
define(‘WP_SITEURL’, ‘http://indirizzo/eventuali/sottocartelle’);
Prima di procedere con la parte finale, verificate che tutto funzioni come si deve, e se si dovessero presentare errori (500 o 503), correggete i permessi del vostro spazio ftp (praticamente tutti gli hosting offrono questo servizio). Un’altra soluzione è impostare ricorsivamente i permessi della vostra cartella di WP appena trasferita a “755” dal client FTP.
Non resta che sostituire ogni eventuale occorrenza relativa al vecchio indirizzo all’interno del Database.
A meno che non vogliate cimentarvi con la vostra conoscenza di SQL eseguendo una query formulata “manualmente”, vi consiglio di installare e utilizzare il plugin “Search and Replace“, che lo farà per voi. Fatto ciò avrete finito, ma fate sempre una verifica (specie dei widget) prima di pubblicare.
Un’ultimo problema che potrebbe verificarsi riguarda i permalinks, ovvero potreste incorrere in errori di pagina non trovata(404), errori interni del Server e simili. Ciò accade quando il sito trasferito era originariamente collocato in una sottocartella, piuttosto che nella root. Questo noioso problema si risolve rapidamente, dal back-end di WP: selezionato il menu delle impostazioni e successivamente il sottomenu permalinks, salvando le impostazioni si procederà alla rigenerazione;
alternativamente potrete intervenire direttamente sul file “.htaccess” (che è un file nascosto), ripristinando una l’ultima riga (prima del tag
</IfModule>) con questa che trovate di seguito
RewriteRule . /index.php [L]
O comunque eliminando la parte tra il primo punto e lo slash che precede “index.php”.
A questo punto avrete finito.
Quello appena preso in considerazione, è un caso standard: ovviamente per situazioni più particolari sarà necessario integrare qualche altro accorgimento (chiedete e vi sarà detto…).
Per oggi è tutto.
[…] e una copia della cartella sito, secondo le modalità che si convengono al caso (potete ispirarvi con questo articolo); fatto ciò -attrezzatevi preventivamente degli strumenti di lavoro (PHP, Apache, MySQL e […]