Sostituire termini e stringhe nel sito con Search And Replace Db Master

Programma gratuito che permette di lavorare facilmente nel database mysql del vostro sito, con interfaccia semplice. Perchè utilizzarlo? Devi correggere delle stringhe, degli indirizzi url, delle parole accentate o altri termini in tutto il sito? Se hai spostato il tuo sito wordpress, o hai trovato degli errori che sono presenti in tutto il sito (esempio parole accentate), o devi cambiare degli url (ad esempio per passare da http ad https) uno strumento molto utile e di facile utilizzo è Search Replace DB Master, che ti permette di trovare la stringa che cerchi, localizzarla, modificarla senza dover scrivere codici in php o query in sql. Il programma, gratuito, ha un’interfaccia chiara e il suo funzionamento è molto semplice. Vediamo come si installa, come si utilizza e qualche esempio pratico.

Download ed Installazione

dove installare search replace db masterIl programma, creato da Interconnectit.com, è disponibile per il download tramite Github qui. Una volta scaricato il file zippato e decompresso, estrarre tutti i files in una cartella che chiamerete come volete (esempio Search-Replace-Db-Master) ma che suggerisco vivamente di rinominare in un nome conosciuto solo a voi o con una nota che vi ricordi di cancellare tale directory una volta finito il lavoro. Potete ad esempio creare la cartella “CANCELLAMI-QUANDO-FINITO”, per evitare di lasciare questo potente programma accessibile a tutti una volta completate le sostitutizioni che ci interessano. Create quindi la cartella nella root del vostro spazio web, e caricateci tutti i files decompressi. In breve, la root del vostro spazio web dovrebbe essere qualcosa come nello screenshot seguente.

Utilizzo

Una volta caricati tutti i files in questa cartella (ad esempio “search-replace-db-master”), digitate la url vostrosito/nomecartella, e vi troverete già nel pannello di controllo dello script. Noterete subito due aspetti: il primo, è che ci siete arrivati senza dover digitare nessun username o password. La seconda, è che mostra già i dati di accesso del vostro database! Ha già “capito” qual è l’username, quale sia la password, la porta di accesso. Per questo motivo la cartella deve avere un nome conosciuto solo a voi, e sempre per questo motivo va cancellata una volta finito.

schermata search replace db master

Testiamo lo script effettuando una semplice ricerca di quello che vorremmo modificare, inserendo il termine o la stringa all’interno della casella Search. Lanciamo il comando Dry Run (che ci permette di fare una sorta di simulazione, ovvero non fare sostituzioni). Ad esempio, dal momento che nel sito di prova stiamo passando da http ad https , vorremmo controllare quanto è ancora presente il vecchio url classico http:// (in modo da poter mettere ovunque il nuovo https:// ). Lanciamo la query e il programma, oltre a ricordarci di aver selezionato l’opzione Dry Run “The dry-run option was selected. No replacements will be made.” ovvero nessuna sostituzione verrà eseguita, ci mostrerà quante volte occorre il termine cercato e in quali tabelle si trova:

comando dry run

E’ banale ricordare che, essendo uno strumento potente ed irreversibile, bisogna fare un backup prima di lanciare qualsiasi operazione di sostituzione.

Opzioni e utilità principali del programma

Search Replace DB Master permette di:

  • limitare o estendere le tabelle sulle quali cercare e/o operare sostituzioni. E’ un’opzione molto importante e molto comoda, perchè potremmo essere interessati solo a correggere, ad esempio, le parole accentate contenuti nei posts, oppure nei commenti, lasciando stare le opzioni principali del sito stesso, su cui operare in modo diverso
  • specificare le colonne (delle tabelle) su cui andare a cercare e/o operare sostituzioni

Di default il programma opererà su tutto il sito, possiamo andare a limitare il campo andando a selezionare le tabelle e/o indicando i nomi delle colonne:

tabelle e colonne

Sostituzione stringhe, parole ed esempi pratici

Prima di fare qualsiasi sostituzione è bene quindi, dopo aver fatto un backup, lanciare questa sostituzione tramite il comando Dry Run, per simularla.

Esempio 1: vogliamo cambiare i percorsi delle immagini da assoluti a relativi (in modo da non avere errori se passiamo all’https), ovvero sostituire

<img src="http://www.nostrosito.it/immagine1.jpg" />

con

<img src="//www.nostrosito.it/immagine1.jpg" />

Nel campo “Search” inseriamo src=”http://www. e nel campo “replace with” inseriamo src=”//www. . Opzionale: ci interessa fare questa sostituzione solo all’interno dei post? Scriviamo “post_content” nel campo columns to include only (optional, comma separated). Lanciamo il dry run per simulare la sostituzione. Una volta terminata, il programma ci mostrerà dove andrebbe ad operare la sostituzione richiesta. Verifichiamo che sia come avevamo pensato, e se tutto ok, ora possiamo lanciare il comando Live Run, che effettuerà veramente le sostituzioni richieste.

Esempio 2: vogliamo sistemare le parole accentate. Copiamo la stringa mal accentata nel campo Search. Ad esempio, vorrei cambiare tutte le parole che terminano con è con é, come ad esempio la parola perchè in perché (o anche solo questa). Inserisco il termine sbagliato e quello giusto nei due campi ad inizio schermata, clicco su Dry Run per vedere quali sostituzioni farebbe, lancio il comando Live Run per rendere effettive le sostituzioni
sostituzioni effettuate

Esempio 3: vogliamo cambiare gli iframe che richiamano siti esterni (esempio: mappe di google, widget di Facebook) che avevamo inserito con codice normale http e che ora devono essere in https. Nel campo Search inseriamo

<iframe src="http://

mentre nel campo Replace with inseriamo

<iframe src="https://

Lanciamo il comando Dry Run e poi Live Run, e la sostituzione verrà effettuata in tutto il sito (non solo nelle descrizioni dei post)

Raccomandazioni

Come avrete intuito, questo è uno strumento molto potente, i cui effetti sono spesso irreversibili, ma abbiamo gli strumenti per lanciare i comandi di sostituzione con sicurezza: fare prima un backup del database, e per ogni sostituzione lanciare prima la simulazione Dry Run che ci permette di capire in anteprima se stiamo lanciando una query sbagliata. E, molto importante per la sicurezza, al termine cancellare la directory contenente il programma. La stessa schermata mette ben in evidenza il bottone Delete me per rendere il sito sicuro una volta terminato il nostro lavoro.
delete me
Se avete domande sulle stringhe da sostituire e in generale sugli errori presenti nel vostro sito i commenti sono a disposizione.