Come sostituire stringhe di testo nel database di Wordpress in batch

Come sostituire stringhe di testo nel database di Wordpress in batch

Indice dei contenuti

Può capitare di ritrovarsi a dover sostituire le stringhe di testo in un sito fatto in WordPress per vari motivi. Recentemente mi è capitato un cliente che negli anni aveva creato tutti i link interni usando come URL iniziale il nome della VPS o l’indirizzo IP del server. Dopo tanto tempo aveva scoperto che tutti questi link che all’inizio funzionavano ora davano errore generando una marea di link rotti. Ovviemente i link riguardavano anche link ad immagini; quindi tutte le immagini davano errore. Ci sono vari modi per sostituire delle stringhe nel database di WordPress sia che si trovino nei titoli (post_title) che nel corpo dell’articolo (post_content9 che in altri posti (es tabella guid).

 Sostituire le stringhe e i testi usando un plugin di Wp (io lo sconsiglio)

Esistono dei plugin per sostituire le stringhe che fanno un “cerca e sostituisci”, tuttavia sconsiglio di usarli soprattutto qualora si debbano sostituire un numero grande di stringhe, il rischio di timeout o errori interni è alto. Non vi indico il nome preciso di un plugin, andate a cercare nel  repository di WordPress con la ricerca “cerca sostituisci database”.

Sostiturei testi nel Db di wordpress con la funzione “cerca e sostituisci” di PhpMyAdmin

Con questo metodo sono sempre riuscito a raggiungere la risultato. Direttamente dentro PhpMyAdmin e facendo attenzione a muoversi tra il giusto database e le giuste tabelle, potete andare a fare un “cerca e sostituisci” direttamente dentro una particolare tabella e anche solo una particolare colonna. Questo vi permette di evitare i rischi menzionati al passaggio successivo. Io consiglio vivamente di non fare direttamente le modifiche sulla tabella (ad esempio wp_posts) ma a fare prima una copia e lavorare sulla copia. C’è la funzione copia tabella.  Poi rinominare l’originale e sostituire la nuova versione con l’originale usando nel menu operazioni la funzione rinomina tabella.

 

Sostituire stringhe scaricando il db locale

Questo può essere un buon modo per sostituire stringhe di testo in qualsiasi punto del database. Scaricato in locale il vostro database da PHPmyadmin apritelo con un editor di testo avanzato e fate “cerca sostituisci” delle stringhe. A questo punto andrà ricaricato. Questa procedura non è esente da rischi, potreste avere problemi a ricaricare il database per una questione di Timeout del server. Potreste rischiare di non aver considerato che quella stringa è presente anche in punti dove non andava sostituita, fate molta attenzione a questo.

Se volete affidarvi ad un professionista per un lavoro delicato come questo contattatemi. Tutto quanto detto sopra vale anche per Joomla.


Graziano De Maio - Web Developer e SEO Specialist

Autore: Graziano De Maio

Web developer e SEO specilalist. Sono un consulente Seo – Web designer – Creo e fornisco assistenza su siti con Joomla e WordPress, sviluppo ecommerce con Woocommerce. Svolgo corsi Seo, Web Marketing, Joomla e WordPress di gruppo e one-to-one in azienda.