Migrazione: Cambiare dominio senza rompere i widget

Cerca e sostituisci WordPress

Un cerca e sostituisci per cambiare URL del sito WordPress consapevole della serializzazione: riscrive il vecchio indirizzo del sito ovunque nel database senza corrompere le opzioni serializzate, che una query SQL a mano rovinerebbe quasi sempre.
L'anteprima non è facoltativa: senza, l'esecuzione si rifiuta di partire.

cerca e sostituisci WordPress: come funziona

Perché un UPDATE a mano rompe il sito

WordPress salva molte impostazioni in forma serializzata, e ogni stringa serializzata porta con sé la propria lunghezza. Sostituire vecchio.it con nuovosito.example con una query diretta cambia il testo ma non il numero: da quel momento il dato non è più leggibile e widget, impostazioni dei temi e configurazioni dei plugin si svuotano.

Questo strumento decodifica il valore, sostituisce dentro la struttura — anche dentro array annidati e chiavi di array — e lo ricodifica con le lunghezze corrette.

Cosa tocca e cosa no

  • Cerca in tutte le tabelle con il prefisso del sito, limitandosi alle colonne testuali e a quelle che hanno una chiave primaria singola.
  • Salta sempre la colonna guid dei contenuti: è un identificatore storico, non un indirizzo, e cambiarlo fa risegnalare tutti i vecchi articoli ai lettori di feed.
  • Se un valore serializzato non è decodificabile, lo lascia intatto invece di tentare la fortuna.
  • Se dentro trova un oggetto di una classe che non esiste più — tipico dei plugin disinstallati — si ferma su quel valore e non lo riscrive.
  • Accetta due coppie: vecchio e nuovo indirizzo, e facoltativamente vecchio e nuovo percorso sul server, per chi sposta anche la cartella.

L'anteprima è obbligatoria

  • Prima mostra quante righe corrispondono, tabella per tabella, con il totale.
  • Se non trova nulla lo dice, e non offre un pulsante di esecuzione che non servirebbe.
  • L'esecuzione è legata all'anteprima appena vista: se cambi i valori nei campi, l'anteprima va rifatta. Non si può eseguire una sostituzione diversa da quella che hai controllato.
  • La conferma finale è una schermata a parte, che ricorda che l'operazione riscrive dati su tutto il database e non è annullabile.
  • Alla fine ricevi il conteggio di tabelle, righe e celle modificate.

Fai un backup prima di effettuare il "Cerca e sostituisci WordPress". Non c'è un annulla: la sostituzione riscrive i dati sul posto. Il modulo di backup è nella stessa suite e ci mette un minuto.

Leggi la documentazione

Schermata del cerca e sostituisci WordPress
Impostazioni del cerca e sostituisci WordPress: i campi del vecchio e nuovo indirizzo.

Domande frequenti

Cerca e sostituisci WordPress: le domande prima di eseguirlo

Cinque risposte su serializzazione, anteprima, colonne escluse e su cosa fare se qualcosa va storto.

Perché non posso fare un UPDATE a mano per cambiare l’URL del sito WordPress?

Perché WordPress salva molte impostazioni in forma serializzata, e ogni stringa serializzata porta con sé la propria lunghezza dichiarata. Una query diretta sostituisce il testo ma non aggiorna quel numero: da quel momento il dato non è più decodificabile e widget, impostazioni del tema e configurazioni dei plugin si svuotano.

Un cerca e sostituisci WordPress consapevole della serializzazione decodifica il valore, sostituisce dentro la struttura — anche negli array annidati e nelle chiavi — e lo ricodifica con le lunghezze corrette. È l’unico modo per cambiare URL sito WordPress senza lasciare macerie.

L’anteprima si può saltare?

No, ed è voluto. Durante la procedura "cerca e sostituisci WordPress" prima vedi quante righe corrispondono, tabella per tabella, con il totale. Solo dopo compare il pulsante di esecuzione, e resta legato all’anteprima appena vista: se modifichi i valori nei campi, l’anteprima va rifatta.

Non puoi quindi eseguire una sostituzione diversa da quella che hai controllato. La conferma finale è una schermata a parte, che ricorda che l’operazione riscrive dati su tutto il database e non è annullabile.

Quali colonne vengono toccate e quali no?

Cosa fa "Cerca e sostituisci WordPress": Vengono cercate tutte le tabelle con il prefisso del sito, limitandosi alle colonne testuali e a quelle con una chiave primaria singola. La colonna guid dei contenuti viene sempre saltata: è un identificatore storico, non un indirizzo, e cambiarlo fa risegnalare come nuovi tutti i vecchi articoli ai lettori di feed.

Se un valore serializzato non è decodificabile, viene lasciato intatto invece di tentare la fortuna. E se dentro compare un oggetto di una classe che non esiste più — tipico dei plugin disinstallati — lo strumento si ferma su quel valore e non lo riscrive.

Devo cambiare URL del sito WordPress e anche il percorso: si può?

Sì. Lo strumento accetta due coppie: vecchio e nuovo indirizzo, e facoltativamente vecchio e nuovo percorso sul filesystem. Servono entrambe quando la migrazione cambia sia il dominio sia la directory, situazione tipica del passaggio da un ambiente di sviluppo locale a un hosting.

Al termine ricevi il conteggio di tabelle, righe e celle modificate, così puoi verificare che l’intervento abbia toccato quello che ti aspettavi.

C’è un annulla se sbaglio?

No, e nessuno strumento di questo tipo può averlo davvero: la sostituzione riscrive i dati sul posto, quindi lo stato precedente non esiste più. È esattamente il motivo per cui l’anteprima è obbligatoria e la conferma è su una schermata separata.

Prima di eseguire, fai un backup: il modulo è nella stessa suite e ci mette un minuto. Se qualcosa va storto, ripristinare l’archivio è l’unico annulla che esiste.

Carrello