Descrizione
Migrare un’installazione di WordPress su di un server differente non presenta particolari problemi se NON viene anche cambiato il dominio o l’URL collegato al sito.
In effetti tutto si riduce
- alla creazione del DB sul nuovo server come se fosse una normale installazione
- al dump e alla importazione del db mySQL
- alla pubblicazione dei file FTP dal vecchio server
- all’eventuale aggiornamento del file wp-config.php per aggiornare i dati di connessione al db
- all’applicazione dei permessi adeguati a files e cartelle secondo i plugin attivi
In caso di cambio del dominio o anche solo dell’URL del sito invece la cosa diventa complicata per il modo con cui vengono serializzati i dati dalla maggior parte dei widget e dei temi. La lunghezza dell’URL infatti è alla base della serializzazione degli array. Un semplice trova e sostituisci nel DB renderebbe probabilmente inutilizzabili temi e widget.
Soluzione
Fortunatamente è possibile utilizzare dei tool appositi per ovviare al problema. Quello da noi preferito è “Search and Replace DB 2“.
La procedura è (dopo aver seguito quella standard esposta in precedenza):
- Caricare lo script php nella root del sito
- Mandarlo in esecuzione
- Caricare i dati di connessione da wp-config.php seguendo la procedura guidata
- Sostituire l’URL quando richiesto.
In poche frazioni di secondo il sito sarà migrato.
ATTENZIONE: una volta eseguito, lo script va immediatamente rimosso. Secondo le raccomandazioni dell’autore andrebbe addirittura rinominato in maniera casuale prima di utilizzarlo. Questo nel caso degli scanner lo individuassero nei pochi minuti che intercorrono dall’installazione all’esecuzione.
Riferimenti
- http://codex.wordpress.org/Moving_WordPress
Guida ufficiale sulla migrazione di installazioni WordPress fra domini diversi e server diversi - http://interconnectit.com/products/search-and-replace-for-wordpress-databases/
Script PHP per il Search & Replace rapido del nome a dominio preservando gli indici delle stringhe serializzate