Vai al contenuto
Strumenti

SQL di ricerca e sostituzione

Cambia l'URL del tuo sito senza corrompere i dati serializzati

Gira nel tuo browser. Niente viene caricato.

The change

Read this before you run anything

WordPress stores many options as PHP-serialized strings, and a serialized string records its own byte length — s:19:"http://old-site.com". A plain SQL replace changes the text but not the length, so PHP can no longer unserialize the row. It does not error. The value just silently becomes empty.

What you lose: widget configuration, theme mods, and most plugin settings. Usually you do not notice until days later, and by then the backup you would have restored is gone too.

This is why the queries below deliberately do not touch wp_options.

What are you moving?
search-replace.sql

Take a database backup first. Not 'consider taking one' — take one. There is no undo for an UPDATE.

Informazioni su SQL di ricerca e sostituzione

Un ingenuo trova-e-sostituisci SQL su un database WordPress rompe ogni opzione serializzata che tocca, perché la lunghezza della stringa memorizzata non corrisponde più. Questo strumento genera le query sicure e spiega esattamente quali non lo sono.

FAQ

Domande

Posso cambiare l'URL del mio sito WordPress con un trova e sostituisci in SQL?

Non in sicurezza, ed è il consiglio sbagliato più condiviso in WordPress. Molte opzioni sono memorizzate come stringhe PHP serializzate che registrano la propria lunghezza in byte. Una semplice sostituzione SQL cambia il testo ma non la lunghezza, quindi PHP fallisce silenziosamente la deserializzazione della riga e il valore semplicemente sparisce — portandosi via impostazioni dei widget, personalizzazioni del tema e configurazioni dei plugin.

Cosa dovrei usare invece?

WP-CLI: prima 'wp search-replace old new --all-tables --dry-run', poi senza --dry-run. Comprende la serializzazione e riscrive correttamente i prefissi di lunghezza. Se non hai accesso alla CLI, il plugin Better Search Replace fa la stessa cosa dall'amministrazione.

Dovrei aggiornare la colonna GUID?

No. Il GUID è un identificatore univoco permanente di un articolo, non un link, e i lettori di feed lo usano come chiave. Riscriverlo fa sì che ogni iscritto veda ogni vecchio articolo come nuovo di zecca. La documentazione di WordPress dice esplicitamente di non cambiarlo.