Duplicator: Search and Replace del Database dopo la Migrazione
Quando un sito WordPress viene migrato da un dominio a un altro, tutti i riferimenti al vecchio dominio presenti nel database devono essere aggiornati. Questa operazione, nota come Search and Replace, è una delle fasi più critiche della migrazione perché un’esecuzione errata può causare link rotti, immagini mancanti, configurazioni corrotte e malfunzionamenti diffusi. L’installer di Duplicator gestisce automaticamente il Search and Replace durante il ripristino, ma comprendere come funziona è fondamentale per diagnosticare problemi e, se necessario, eseguire sostituzioni manuali aggiuntive.
Perché il Search and Replace è Necessario
WordPress salva nel database centinaia o migliaia di riferimenti al dominio del sito. Questi riferimenti si trovano in molteplici tabelle e formati:
- Tabella
wp_options: contienesiteurlehome, gli URL fondamentali del sito. - Tabella
wp_posts: il contenuto degli articoli e delle pagine contiene link interni, URL di immagini, shortcode con riferimenti al dominio. - Tabella
wp_postmeta: meta dati degli articoli che possono contenere URL (Elementor, Gutenberg, ACF, etc.). - Tabella
wp_comments: URL negli avatar e nei link dei commentatori. - Tabelle dei plugin: WooCommerce, Yoast SEO, Elementor, Gravity Forms e molti altri plugin salvano URL nelle proprie tabelle.
Se questi riferimenti non vengono aggiornati, il sito migrato presenterà:
- Redirect al vecchio dominio durante la navigazione.
- Immagini che puntano al vecchio server (e che scompariranno quando il vecchio sito verrà disattivato).
- Link interni rotti o che portano al sito sbagliato.
- Form che inviano dati all’indirizzo errato.
- Conflitti CORS se il sito usa HTTPS e i riferimenti sono HTTP.
Il Problema dei Dati Serializzati
Questo è l’aspetto più insidioso del Search and Replace in WordPress. Molti plugin salvano dati nel database in formato serializzato. Un dato serializzato ha questo aspetto:
a:2:{s:4:"name";s:12:"Mio Sito Web";s:3:"url";s:24:"https://vecchiosito.it/";}
Notate il s:24: indica che la stringa che segue è lunga 24 caratteri. Se sostituiamo vecchiosito.it con nuovosito.it (che ha una lunghezza diversa), il contatore s:24 non corrisponde più alla lunghezza effettiva della stringa. Il risultato è un dato corrotto che PHP non riesce più a deserializzare, causando errori, perdita di impostazioni o pagine bianche.
Per questo motivo, non si può usare un semplice trova-e-sostituisci SQL per aggiornare gli URL in WordPress. Servono strumenti specifici che:
- Identificano i dati serializzati.
- Li deserializzano.
- Eseguono la sostituzione.
- Li riserializzano con i contatori corretti.
L’installer di Duplicator gestisce questo processo automaticamente, ed è una delle ragioni principali per cui il plugin è così apprezzato per le migrazioni.

Come Duplicator Gestisce il Search and Replace
Durante l’Installazione
Nella fase “Update Data” dell’installer, Duplicator:
- Rileva automaticamente il vecchio URL e il vecchio percorso dal database importato.
- Propone il nuovo URL e il nuovo percorso basati sul server di destinazione.
- Esegue il Search and Replace su tutte le tabelle del database (o solo su quelle standard, a seconda della configurazione).
- Gestisce i dati serializzati, JSON e i formati di dati complessi.
Opzione Full Search
Per impostazione predefinita, Duplicator esegue il Search and Replace solo sulle tabelle standard di WordPress (quelle con il prefisso wp_ o il prefisso personalizzato). Abilitando l’opzione Full Search nell’installer, la sostituzione viene eseguita su tutte le tabelle del database, incluse quelle create da plugin di terze parti.
È consigliabile abilitare il Full Search specialmente se il sito utilizza:
- WooCommerce (tabelle
wc_) - Elementor (dati nelle postmeta)
- Gravity Forms, WPForms o altri plugin di form
- Plugin di SEO come Yoast o Rank Math
- Plugin di cache che salvano URL nel database
- Plugin di sicurezza con log
Search and Replace Manuale Post-Migrazione
In alcuni casi, l’operazione automatica dell’installer potrebbe non coprire tutte le sostituzioni necessarie. Ecco quando è necessario un Search and Replace manuale:
- URL hardcoded nel tema: URL scritti direttamente nel codice del tema (non nel database).
- URL in tabelle personalizzate: se il Full Search non era abilitato durante l’installazione.
- Cambio di protocollo: passaggio da HTTP a HTTPS non gestito completamente.
- URL con varianti: il vecchio sito era accessibile sia con che senza “www” e nel database ci sono entrambe le varianti.
- CDN: se il sito usava un CDN con un URL personalizzato, i riferimenti al CDN devono essere aggiornati separatamente.
Strumento 1: WP-CLI
Se hai accesso SSH al server, WP-CLI è lo strumento più potente per il Search and Replace:
wp search-replace https://vecchiosito.it https://nuovosito.it --all-tables --precise --recurse-objects
I flag importanti:
--all-tables: esegue la sostituzione su tutte le tabelle, non solo quelle standard di WordPress.--precise: usa il matching preciso delle colonne.--recurse-objects: gestisce i dati serializzati annidati.--dry-run: aggiungilo per vedere quante sostituzioni verrebbero fatte senza eseguirle effettivamente (consigliato come primo passo).
Esempio con dry-run:
wp search-replace https://vecchiosito.it https://nuovosito.it --all-tables --precise --recurse-objects --dry-run
Strumento 2: Plugin Better Search Replace
Se non hai accesso SSH, il plugin Better Search Replace offre un’interfaccia grafica per eseguire Search and Replace direttamente dalla dashboard:
- Installa e attiva il plugin.
- Vai su Strumenti > Better Search Replace.
- Nel campo “Search for”, inserisci il vecchio URL (es.
https://vecchiosito.it). - Nel campo “Replace with”, inserisci il nuovo URL (es.
https://nuovosito.it). - Seleziona tutte le tabelle del database.
- Spunta “Run as dry run?” per la prima esecuzione.
- Clicca su “Run Search/Replace”.
- Verifica i risultati del dry run, poi esegui nuovamente senza il dry run.

Strumento 3: Database Search and Replace Script di Interconnect/IT
Per i casi in cui WordPress non funziona (impossibile accedere alla dashboard), puoi utilizzare lo script PHP standalone di Interconnect/IT. Questo script si carica sul server via FTP e si esegue dal browser, similmente all’installer di Duplicator.
Attenzione: rimuovi lo script immediatamente dopo l’uso, come faresti con l’installer di Duplicator.
Sostituzioni Multiple
In molti casi, una singola coppia di sostituzione non è sufficiente. Ecco le sostituzioni tipiche necessarie dopo una migrazione:
| Cerca | Sostituisci con | Note |
|---|---|---|
https://vecchiosito.it |
https://nuovosito.it |
Sostituzione principale |
http://vecchiosito.it |
https://nuovosito.it |
Variante HTTP |
https://www.vecchiosito.it |
https://nuovosito.it |
Variante con www |
/home/vecchioutente/public_html |
/var/www/html |
Percorso file system |
vecchiosito.it |
nuovosito.it |
Dominio senza protocollo (per email, etc.) |
Importante: esegui le sostituzioni nell’ordine corretto, partendo dalle più specifiche (URL completi con protocollo) fino alle più generiche (solo dominio). Questo evita sostituzioni parziali o duplicate.
Verificare il Risultato del Search and Replace
Dopo il Search and Replace, è fondamentale verificare che tutte le sostituzioni siano state eseguite correttamente:
1. Verifica Visiva
- Naviga il sito e verifica che le immagini siano visibili.
- Controlla i link nel menu di navigazione.
- Verifica i link nel footer.
- Apri articoli e pagine e controlla i link interni.
2. Verifica nel Database
Usa phpMyAdmin o WP-CLI per cercare residui del vecchio dominio:
wp db search vecchiosito.it --all-tables
Se il comando trova ancora occorrenze, esegui un’altra passata di Search and Replace mirata.
3. Verifica nel Codice Sorgente
Visualizza il codice sorgente della homepage (tasto destro > “Visualizza sorgente pagina”) e cerca riferimenti al vecchio dominio. Presta attenzione a:
- Tag
<link>e<script>con URL al vecchio dominio. - URL delle immagini nei tag
<img>. - CSS inline con riferimenti a
url()con il vecchio dominio.

Casi Speciali
Elementor
Elementor salva i dati delle pagine in formato JSON nella tabella wp_postmeta. L’installer di Duplicator gestisce correttamente la sostituzione nei dati JSON. Dopo la migrazione, vai su Elementor > Tools > Replace URL per un’ulteriore verifica e sostituzione specifica di Elementor.
Poi, rigenera i file CSS di Elementor da Elementor > Tools > Regenerate CSS & Data.
Gutenberg
I blocchi Gutenberg salvano HTML nei contenuti degli articoli, inclusi URL di immagini e link. Il Search and Replace standard li gestisce correttamente nella maggior parte dei casi.
WooCommerce
WooCommerce salva URL in diverse posizioni: immagini prodotto, URL di download per prodotti digitali, endpoint API, webhook. Verifica particolarmente le impostazioni di WooCommerce dopo la migrazione.
Plugin di SEO
Yoast SEO e Rank Math salvano URL canonici, sitemap e altri dati SEO nel database. Dopo il Search and Replace, rigenera la sitemap e verifica le impostazioni SEO.
Prevenire Problemi Futuri
Per rendere le migrazioni future più semplici:
- Evita URL hardcoded: nel tema e nei plugin personalizzati, usa sempre le funzioni WordPress come
home_url(),site_url(),wp_upload_dir()invece di scrivere URL statici. - Usa URL relativi: quando possibile, usa percorsi relativi invece di URL assoluti nei contenuti.
- Documenta le personalizzazioni: tieni traccia di dove hai inserito URL specifici (CSS personalizzati, widget, plugin settings).
Conclusioni
Il Search and Replace del database è un’operazione essenziale dopo ogni migrazione WordPress. L’installer di Duplicator gestisce automaticamente la maggior parte delle sostituzioni, inclusi i complessi dati serializzati, ma è importante verificare il risultato e, se necessario, eseguire passaggi aggiuntivi con strumenti come WP-CLI o Better Search Replace. Comprendere come funziona questa operazione ti permette di gestire le migrazioni con maggiore sicurezza e di risolvere rapidamente eventuali problemi.
Le migrazioni più fluide avvengono su hosting WordPress professionali con accesso SSH, WP-CLI preinstallato e supporto tecnico in grado di assistere in caso di problemi. Scopri le nostre soluzioni hosting per WordPress.
Serie Completa: Duplicator per WordPress
- Articolo 1: Come Installare e Configurare Duplicator su WordPress
- Articolo 2: Creare un Backup Completo con Duplicator: Package Passo Passo
- Articolo 3: Migrare un Sito WordPress con Duplicator: Guida Completa
- Articolo 4: Duplicator: Installer.php e il Processo di Ripristino
- Articolo 5: Duplicator e i Backup Programmati: Automatizzare la Protezione
- Articolo 6: Duplicator: Backup su Cloud (Google Drive, Dropbox, Amazon S3)
- Articolo 7: Clonare un Sito WordPress con Duplicator per Staging e Test
- Articolo 8: Duplicator e WooCommerce: Migrare un Negozio E-Commerce
- Articolo 9: Duplicator: Gestire Package Grandi e Siti con Molti File
- Articolo 10: Duplicator e WordPress Multisite: Backup e Migrazione di Rete
- Articolo 11: Duplicator Free vs Pro: Confronto Funzionalità e Prezzi 2026
- Articolo 12: Duplicator vs UpdraftPlus vs All-in-One Migration: Confronto
- Articolo 13: Duplicator: Search and Replace del Database dopo la Migrazione (questo articolo)
- Articolo 14: Sicurezza dei Backup con Duplicator: Crittografia e Best Practice
- Articolo 15: Risolvere i Problemi Comuni di Duplicator: Troubleshooting
Hai problemi con gli URL dopo una migrazione? Il Search and Replace del database richiede attenzione e competenza. Il nostro team può risolvere rapidamente qualsiasi problema legato alla migrazione del tuo sito WordPress. Contattaci per assistenza immediata.
Migliora il Tuo Sito WordPress
Scopri le nostre guide complete sugli altri plugin essenziali per WordPress: