Lavorando con WordPress capita piuttosto di frequente di avere bisogno di effettuare ricerche e sostituzioni di stringhe di testo all'interno dell'intero Database. Le situazioni più comuni sono le seguenti:
- Cambiamento della URL del sito (es. da www.url-a.com a www.url-b.com), che necessita - per ovvi motivi - di un adeguamento di tutti i contenuti del sito, testuali e non.
- Problemi legati alla presenza di caratteri non validi (es. lettere accentate, problemi di charset/tabella codici, et al.)
- Necessità di effettuare il rename di keyword, tag, categorie o altro (con necessario adeguamento dei testi).
- Presenza (e scoperta) di un errore di scrittura ripetuto all'interno di molti post che si ha la necessità di correggere in modo globale.
In tutti questi casi, esistono due possibili tipologie di soluzioni: utilizzare un plugin WordPress dedicato oppure effettuare un trova/sostituisci sul dump SQL del nostro database.
Metodo 1: Plugin WordPress
Ecco i plugin che consigliamo per effettuare questa operazione:
- Search & Replace, di Inpsyde GmbH
- Better Search Replace, di Delicious Brains
Entrambi funzionano molto bene e fanno esattamente quello che promettono: l'amministratore potrà scegliere le tabelle del DB all'interno delle quali effettuare la ricerca, quindi specificare un testo da trovare e il testo sostitutivo corrispondente.
Metodo 2: Trova/Sostituisci da MySQL dump
Questa operazione, che richiede ovviamente un accesso al database di tipo "admin" (lettura, scrittura e accesso alle funzionalità di export), può essere effettuata con almeno tre strumenti gratuiti e ottenibili in rete:
- MySQL Workbench, lo strumento ufficiale per la gestione dei database server MySQL.
- SQLyog, il miglior front-end MySQL per sistemi Windows di cui abbiamo già avuto modo di parlare in questa sede.
- phpMyAdmin, il più noto e diffuso software web-based per la gestione di database server MySQL.
A prescindere dallo strumento che intendete utilizzare, raccomandiamo di effettuare un BACKUP COMPLETO dell'archivio prima di procedere.
Il procedimento è molto semplice. E' sufficiente:
- Estrarre l'intero contenuto del vostro database in uno script .sql mediante un dump completo (struttura e dati).
- Aprire il file .sql così generato con un editor di testo. Se avete a che fare con un database di grandi dimensioni (10GB o superiore) consigliamo di utilizzare un editor di testo in grado di gestire la memoria in modo efficiente, come l'ottimo (e freeware) Notepad++.
- Effettuare il trova/sostituisci del termine o dei termini che si ha intenzione di modificare.
- Svuotare interamente il vostro database, fino a lasciarlo completamente vuoto.
- Importare il file .sql modificato per ripopolare il vostro database.
E' assolutamente fondamentale ricordarsi di selezionare tutte le tabelle, viste, stored procedures e functions prima di effettuare il dump sql: in ogni caso, il backup consigliato sopra serve proprio come ancora di salvezza nel caso in cui ci sbagliassimo ad inserire alcuni elementi del database che ci interessa "convertire".
Per il momento è tutto: buona sostituzione!