Come sostituire stringhe di testo nel database di Wordpress in batch
- Wordpress
- 10 novembre 2022
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.