Zoek-en-vervang in de WordPress-database

Het kan soms nodig zijn om tekst in je hele WordPress-database te vervangen door iets anders. De meest voorkomende reden is als je je website verplaatst of hernoemt, maar ook als je bijvoorbeeld een titel of naam wilt aanpassen dan kan het handig zijn om dit in één keer uit te kunnen voeren.

Je kunt een plugin gebruiken voor dit soort wijzigingen maar makkelijker is om gebruik te maken van WordPress CLI die op de NederHost-servers standaard staat geïnstalleerd. Log in via SSH op shell.nederhost.nl om toegang te krijgen tot de Unix-shell en ga naar de directory die je website bevat (dit is meestal sites/sitename waarin sitename de naam van je website is).

Voordat je aan de slag gaat is het aan te bevelen om voor de zekerheid een database-backup te maken. Dit kan het eenvoudigst met:

wp db export --tables=$(wb db tables --format=csv) ~/data/backup.sql

Dit exporteert alleen de tabellen van je WordPress-site. Als je WordPress-site een eigen database gebruikt of als je absoluut zeker wilt zijn dat je alle tabellen in je backup hebt zitten dan kun je er ook voor kiezen om de hele database te exporteren:

wp db export --tables=$(wb db tables --format=csv) ~/data/backup.sql

Om nu bijvoorbeeld de tekst "OUD" te vervangen door "NIEUW" voer je het volgende commando uit:

wp search-replace --precise --log "OUD" "NIEUW"

Als je bijvoorbeeld je website hebt hernoemd vanaf http://test.example.org/ naar https://blog.example.nl/ dan voer je de volgende zoek-en-vervangoperatie uit:

wp search-replace --precise --log "http://test.serieuzehosting.nl/" "https://blog.example.nl"

Als de site naar behoren werkt dan kun je het bestand ~/data/backup.sql wissen.

Automatisch vanuit Mijn NederHost

Specifiek voor het geval waarin je de URL van je WordPress-website aanpast is er in Mijn NederHost een optie om bovenstaande automatisch uit te voeren. Ga hiervoor naar de instellingen van je website in Mijn NederHost en voer de volgende stappen uit:

  • kies bij de WordPress-installatie die je wilt wijzigen voor "info & wijzigen",
  • klik op de optie "Hostname of URL in WordPress wijzigen",
  • selecteer de gewenste nieuwe URL,
  • vink de optie "Voer een zoek-en-vervangoperatie uit in de WordPress-database" aan,
  • klik op Opslaan.

De instelling van het site-adres wordt nu aangepast in WordPress én we voeren direct een zoek-en-vervangoperatie uit. In de data-directory van je webhostingaccount vindt je na afloop een backupbestand; als alles in orde is dan kun je dit wissen.