zoeken en vervangen WordPress database

Zoeken en vervangen in een WordPress database

Er zijn verschillende redenen mogelijk waarom je moet zoeken en vervangen in een WordPress database. De belangrijkste reden is dat er iets gewijzigd is in de interne linkstructuur van je website. Dit kan ontstaan door:

  1. Het verhuizen van je website vanaf een ander domein
  2. Het verhuizen van je website vanaf een subdomein
  3. Het verhuizen van je website vanuit een subfolder naar de root van je mappenstructuur

Je hebt voor de verhuizing alle bestanden op je FTP server verhuisd en vervolgens ook de database geëxporteerd vanaf de oude locatie en geïmporteerd op de nieuwe locatie. Vervolgens ga je naar je website maar je krijgt al direct een foutmelding. Hoe kan dit?

De database is de basis van je WordPress website. Hierin worden alle links en koppelingen opgeslagen die ervoor zorgen dat de website eruit ziet zoals je dit instelt. Maar dit werkt dus niet meer als je website url gewijzigd is. Hoe los je dit op? Je moet dus alle url’s in je database vervangen.

Stel, je hebt de website gebouwd in een subfolder zodat je huidige WordPress website nog live bleef tot de nieuwe website klaar was. Nu staan er in je database dus diverse verwijzingen naar http://jewebsite.nl/subfolder. En daar zit dus het probleem! Je afbeeldingen zijn niet meer te vinden in de /subfolder maar in de root van je FTP, /. Ditzelfde verhaal geldt dus voor het verhuizen vanaf een ander domein. Je website is niet meer te vinden op http://jeoudewebsite.nl maar op http://jenieuwewebsite.nl. Je zult alle verouderde verwijzingen in je database dus moeten zoeken en vervangen voor de juiste url’s.

Controleren van je database

Hoe kom je er achter wat er dan ingesteld staat in je database? Als het goed is heb je via de provider toegang tot phpmyadmin. Dit is het beheersysteem van je database. De inloggegevens kun je terugvinden in de mails die je van je provider gekregen hebt bij het afsluiten van een contract of in het control panel van de provider.

PhpmyadminAls je ingelogd bent in phpmyadmin, ga je naar de wp_options. WP_ is de standaard prefix van WordPress, hopelijk is deze bij jou gewijzigd. Dit is namelijk een groot veiligheidsrisico. Wil je weten hoe je dit eenvoudig kunt wijzigen, neem dan gerust contact met mij op.

In de options tabel zie je de siteurl en home staan. Waarschijnlijk staat hier de waarde achter van je oude locatie. Die moet dus gewijzigd worden.

Dit is de meest voor de hand liggende locatie om te controleren maar er zullen door de hele database verwijzingen aanwezig zijn naar de oude locatie die opgezocht en vervangen moeten worden.

Je zou de hele database door kunnen bladeren en handmatig alles wijzigen. Maar gelukkig is dat niet nodig. Er zijn diverse tools voor geschreven, ik maak altijd gebruik van de tool Search-Replace-DB. Deze gaat volledig buiten WordPress om en hiermee behaal ik absoluut de beste resultaten.

Search Replace DB Tool

De tool is te downloaden vanaf https://interconnectit.com/products/search-and-replace-for-wordpress-databases/. Het is, zoals de makers het zelf omschrijven, een database search en replace script in PHP. Ok, je hebt de zip gedownload, maar wat dan?FTP root database WordPress

  1. Pak het zip bestand lokaal uit op je pc of mac
  2. Search-Replace-DB-master is de naam van de map. Verander deze direct in search om het jezelf later gemakkelijker te maken
  3. Upload de hele map met een FTP programma zoals bijvoorbeeld Filezilla naar de root van je server. Dus direct in de map public_html
  4. Ga op de nieuwe locatie van je website naar http://jewebsite.nl/search/index.php
  5. Je bent klaar om te zoeken en vervangen!

Zoeken en vervangen in de database

Zoals je gelezen hebt ga je naar http://jewebsite.nl/search/index.php. Je krijgt dat het onderstaande scherm:

Search / Replace WordPress Database

Bij search for vul je bijvoorbeeld in: http://jeoudewebsite.nl. Mocht je van een subfolder naar de root verhuisd zijn dan kun je ook alleen instellen /oudemap/.

Bij replace with vul je in http://jenieuwewebsite.nl. In het geval van een subfolder kun je deze dus leeg laten. Je wilt namelijk de verwijzing naar de subfolder helemaal verwijderen.

Dry of Live run

Je hebt nu alles ingevoerd en bent klaar om de zoek en vervang actie in te zetten. Heb je een goede backup van je database? Dat is uiteraard heel belangrijk voor het geval dat er iets mis gaat. Maar ik ging er eigenlijk van uit dat je die al gemaakt had voordat je überhaupt iets met de database ging doen.

Dry or live runIk kies altijd eerst voor de optie ‘dry run’. Hiermee simuleert de tool je wijzigingen en kun je bekijken hoeveel wijzigingen er gemaakt worden. Eventueel kun je die wijzigingen ook aanklikken en bekijken wat er daadwerkelijk gewijzigd zal gaan worden.

Ben je overtuigt? Dan is het tijd voor een ‘live run’!

Job done

In principe ben je nu klaar. Tijd om je website te testen dus! Alle verwijzingen kloppen nu dus alle afbeeldingen en teksten zouden zichtbaar moeten zijn. Is dit niet het geval? Misschien heb je iets aan deze blog over veel voorkomende WordPress problemen.

Vergeet niet om de eerder gekopieerde map search weer te verwijderen. Dit wordt ook aangegeven na de live run. Het is van belang om de veiligheid van je webserver niet in gevaar te brengen! Want dit is voor hackers een makkelijk ingang naar je database. En in de database kun je bijvoorbeeld een user aanmaken en dan heb je echt een groot probleem.

Website voorzien van SSL

Google heeft aangegeven dat SSL in 2016 steeds meer een belangrijke rankingfactor gaat worden. En aangezien je niet achter wilt blijven heb je dus een SSL certificaat aangeschaft. Maar om het certificaat te laten functioneren moeten alle verwijzingen in je database naar https:// verwijzen in plaats van http://.

De tool is ook perfect bruikbaar om in een keer alle verwijzingen aan te passen. Wil je weten welke verwijzingen het SSL certificaat blokkeren? Test je website met https://whynopadlock.com 

Kom je er niet uit of heb je hulp nodig? Neem dan direct contact op.

4 antwoorden
  1. Fedor van der Well
    Fedor van der Well zegt:

    Moet er niet een HELE dikke waarschuwing bovenaan dit artikel dat je deze tool onmiddellijk weer moet verwijderen? Je geeft de hele wereld even toegang tot een search & replace tool rechtstreeks je database in.

    Ik zet hem nog niet voor vijf minuten op een live systeem eerlijk gezegd.

    Beantwoorden
    • Kees Lamper
      Kees Lamper zegt:

      Bedankt voor je reactie Fedor.

      Ten eerste ga ik er vanuit als je met dit soort tools kunt werken dat je je ook bewust bent net als jij wat de risiso’s zijn.

      Ten tweede kun je dit eenvoudig voorkomen door een .htaccess in de map te plaatsen die alleen jouw ip whitelist.

      Groet,
      Kees Lamper

      Beantwoorden
  2. Luci
    Luci zegt:

    Op de website voor het search and replace tool staat dit: Do not install Search Replace DB to the root folder or in WP’s own folder hierarchy or you risk all sorts of potential problems. Just don’t. It must run in its own folder.
    Maar in jouw beschrijving staat dat je het wel moet uploaden in de root-folder. ????

    Beantwoorden
    • Kees Lamper
      Kees Lamper zegt:

      Bedankt voor je vraag Luci. Dit kan geen kwaad als je je zelf maar aanwent om direct na het draaien van de tool deze weer te verwijderen.

      Groet,
      Kees

      Beantwoorden

Plaats een Reactie

Meepraten?
Draag gerust bij!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *