Hoewel alle onderdelen van een WordPress-website belangrijk zijn, is je database misschien wel het allerbelangrijkste. Hier wordt vrijwel alle informatie van je site opgeslagen en opgevraagd. Om die reden moet je WordPress-database optimaal presteren.
Een database die last heeft van overbelasting en prestatieproblemen vertraagt je site en schaadt je positie in de zoekresultaten. Bovendien beïnvloedt dit de algehele gebruikerservaring (UX), wat weer doorwerkt in je bezoekersaantallen en zoekresultaten.
In deze tutorial bekijken we de optimalisatie van je WordPress-database vanuit verschillende invalshoeken. We bespreken de algemene structuur die je tegenkomt, samen met tal van optimalisatietechnieken die je kunt toepassen. Ook noemen we tools en diensten die je helpen je database soepel te laten draaien.
De structuur van de WordPress-database begrijpen
De WordPress-database is de ruggengraat van je website. Hier staat bijna alles in opgeslagen: content, gebruikersgegevens, instellingen en nog veel meer. De ’tabellen’ in de database zijn verantwoordelijk voor het opslaan van specifieke soorten informatie.
WordPress gebruikt de databasemanagementsystemen MySQL of MariaDB. Je kunt er toegang toe krijgen met tools zoals phpMyAdmin of Adminer:

De tabel wp_posts bevat bijvoorbeeld je artikelen en pagina’s, terwijl wp_users gegevens bevat over de gebruikers van je site. We gaan hier straks wat dieper op in.
Bij de installatie maakt WordPress een aantal standaardtabellen aan voor alle gangbare toepassingen. Plugins, thema’s en de installatie zelf kunnen echter ook tabellen aanmaken om specifieke gegevens op te slaan.
Deze modulaire aanpak biedt uitgebreide functionaliteit, maar te veel overbodige tabellen – in combinatie met slecht beheer – kunnen leiden tot een overbelaste database.
Inzicht in de databasestructuur van WordPress is om twee redenen cruciaal:
- Prestaties. Een goed georganiseerde database zorgt ervoor dat je gegevens sneller kunt ophalen, wat direct invloed heeft op laadtijden en prestaties.
- Onderhoud. Weten welke tabellen bij de verschillende onderdelen van je site horen, helpt bij het onderhoud. Als een plugin problemen veroorzaakt, kun je de bijbehorende tabellen nakijken om het probleem op te lossen.
Door de tabellen in je database regelmatig op te schonen en te optimaliseren, voorkom je dat ze te groot en onhandelbaar worden – wat, zoals gezegd, negatieve gevolgen heeft voor de prestaties.
WordPress-specifieke tabellen
Alle soorten websites maken gebruik van databases, niet alleen WordPress. Het platform heeft zijn eigen databasetabellen en functies, en als je die wilt optimaliseren, is het belangrijk ze volledig te begrijpen.
We behandelen ze hier niet allemaal, maar bepaalde tabellen kom je vaker tegen dan andere:
wp_options. Hierin worden je sitewijde instellingen opgeslagen. Het is waarschijnlijk een van de meest geraadpleegde tabellen in je database, en je wilt deze tabel slank houden door middel van goede optimalisatie.wp_postmeta. Hier staan de metagegevens van je artikelen. Naarmate je site groeit, kan dit een van de grootste tabellen in je database worden.wp_usersenwp_usermeta. Alle informatie over de gebruikers van je site en hun metadata staat in deze twee tabellen. In zeldzame gevallen moet je hier misschien even kijken om een wachtwoord te wijzigen als je geen toegang meer hebt tot WordPress.
Elke extra plugin of elk extra thema dat je toevoegt, kan deze structuur ook wijzigen. Het komt zelden voor dat een thema of plugin een van deze tabellen verwijdert, maar het is belangrijk om mogelijke wijzigingen regelmatig te controleren. Zo zorg je ervoor dat je database geoptimaliseerd blijft en de prestaties van je site ondersteunt in plaats van belemmert.
Waarom het optimaliseren van de WordPress-database voor de meeste sites noodzakelijk is
Het optimaliseren van je WordPress-database is geen luxe; het is een noodzaak voor de meeste sites die een soepele ervaring willen bieden. Je database is de centrale opslagplaats voor alle belangrijke gegevens van je site. De gezondheid ervan heeft direct invloed op de prestaties, snelheid en betrouwbaarheid van je site.
Er zijn twee algemene redenen waarom regelmatige databaseoptimalisatie een vast onderdeel van je workflow zou moeten zijn:
- Betere snelheid en prestaties. Je WordPress-database bevat na verloop van tijd onnodige gegevens, zoals tijdelijke opties, revisies van artikelen, spamreacties of verouderde concepten. Door deze ballast duurt het langer om informatie op te halen.
- Een betere gebruikerservaring. Gebruikers verwachten een soepele en snelle browse-ervaring. Een goed geoptimaliseerde database zorgt ervoor dat pagina’s sneller laden en gegevens efficiënter worden verwerkt. Elke interactie op je site is afhankelijk van databasequery’s – meer efficiëntie leidt simpelweg tot een betere ervaring.
Er zijn ook meer geavanceerde redenen. Een niet-geoptimaliseerde database belast je server extra, omdat die harder moet werken om gegevens te vinden en te leveren. Dit speelt vooral een rol bij gedeelde hosting met beperkte resources – deels een reden waarom Kinsta helemaal geen gedeelde hosting aanbiedt.
Bovendien groeit je database mee met je site. Wat begint als een klein, beheersbaar systeem, kan snel in complexiteit toenemen. Door regelmatig te optimaliseren, zorg je ervoor dat je database de groei van je site aankan zonder dat dit ten koste gaat van de prestaties.
Kortom: een geoptimaliseerde WordPress-database zorgt voor snellere laadtijden. Zelfs een vertraging van een paar seconden kan leiden tot een hoger bouncepercentage en verlies van bezoekers – wat je positie in de zoekresultaten niet ten goede komt.
Hoe voer je regelmatig onderhoud en opschoning uit?
Je WordPress-database opschonen en regelmatig onderhouden is een van de beste manieren om je site soepel te laten draaien. Databases raken na verloop van tijd vol met onnodige gegevens, dus een consistente werkwijze is belangrijk.
Gebruik daarbij alle tools en diensten die je tot je beschikking hebt zo optimaal mogelijk. WordPress biedt zelf al een aantal manieren om je database te onderhouden.
Kies je voor een plugin, controleer dan of die voldoet aan de vereisten van Kinsta en niet op onze lijst met verboden plugins staat.
Voor deze handleiding gebruiken we WP-Sweep – een goed beoordeelde en regelmatig bijgewerkte plugin.

In dit artikel laten we zien hoe je je WordPress-database met deze plugin optimaliseert, maar je kunt de instructies ook toepassen op de plugin van jouw keuze.
In de volgende paragrafen gaan we hier dieper op in en bespreken we zowel de handmatige aanpak als het gebruik van WP-Sweep. De tools van Kinsta zelf komen later aan bod. Laten we eerst kijken naar een paar taken die je moet uitvoeren vóór de optimalisatie.
Wat je moet doen voordat je aan de optimalisatie begint
Voordat je aan je database begint, zijn er een paar eenvoudige taken die je moet afvinken. Maak altijd eerst een volledige backup van je site en database. Mocht er iets misgaan, dan kun je je site binnen enkele minuten terugzetten.
Verwijder ook alle plugins en thema’s die je niet gebruikt. Dit lost een aantal problemen op – niet alleen met je database – en kan ook de beveiliging van je site versterken.

Houd er rekening mee dat plugins en thema’s na verwijdering ongewenste tabellen kunnen achterlaten. Dit is precies de reden waarom we de database willen optimaliseren. Als je weet welke plugins en thema’s tijdelijke gegevens achterlaten, komt dat later goed van pas.
De laatste taak voer je uit in je databasebeheertool. Databasefouten kunnen wijzen op prestatieproblemen, dus die moet je oplossen voordat je verdergaat met optimaliseren.
Selecteer alle tabellen en gebruik de knop Check table om een rapport te genereren.

Zie je ‘OK’ of iets vergelijkbaars, dan is alles in orde. Eventuele fouten los je op voordat je verdergaat. Het kan hier een goed idee zijn om een supportverzoek in te dienen.
1. Optimaliseer je databasetabellen
De eerste stap is het optimaliseren van de tabellen in je database. Wil je dit handmatig doen, ga dan naar de link Databases in je beheertool en kies je database:

In veel gevallen zit je al in de database van je WordPress-site. Je ziet een lijst met tabellen – selecteer ze allemaal tegelijk en kies vervolgens de optie Optimize table uit het dropdownmenu voordat je op Go klikt:

Na een tijdje verschijnt er een rapport met de status van elke tabel in je database:

Ga in WP-Sweep naar Tools > Sweep. Scrol naar beneden naar het gedeelte Database Sweep en klik op de knop Sweep naast de optie Optimize Tables:

De plugin doorloopt alle tabellen en geeft je een succesmelding. Nu kun je verdergaan met de revisies van je artikelen.
2. Schoon artikelrevisies op
Het revisiesysteem van WordPress kan er na verloop van tijd voor zorgen dat opgeslagen versies zich opstapelen. Je verwijdert ze eenvoudig uit je database met een SQL-query:
DELETE FROM wp_posts WHERE post_type = 'revision';
Hiermee worden alle revisies uit de tabel verwijderd. Er zijn echter ook gerelateerde gegevens in andere tabellen. Om die ook op te sporen en te verwijderen, gebruik je de volgende SQL-opdrachten:
DELETE FROM wp_posts WHERE post_type = 'revision';
DELETE FROM wp_term_relationships WHERE object_id NOT IN (SELECT ID FROM wp_posts);
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);
Pro-tip: Als je werkt met tabellen met veel rijen – vooral bij complexere joins zoals hierboven – kunnen langlopende query’s een time-out krijgen. In MySQL, MariaDB en PostgreSQL gebruik je een LIMIT-clausule om de taak in kleinere stukjes op te splitsen:
DELETE FROM wp_postmeta
WHERE post_id NOT IN (SELECT ID FROM wp_posts)
LIMIT 10000;
Voer deze SQL-code herhaaldelijk uit – in dit geval worden er telkens tot 10.000 records verwijderd – totdat je tabel weer schoon is.
Gebruik het juiste tabelvoorvoegsel voor je eigen database als je deze SQL-voorbeelden kopieert en plakt.
Met een plugin kost deze taak maar een paar seconden. WP-Sweep biedt een knop waarmee je dit met één klik vanuit WordPress doet:

In de toekomst beperk je het aantal revisies dat WordPress bijhoudt door je wp-config.php-bestand te bewerken. Voeg de volgende regel toe en sla je wijzigingen op:
define( 'WP_POST_REVISIONS', X );
Hier staat X voor het aantal revisies dat je wilt bewaren. Je kunt hier ook false opgeven, maar dat raden we niet aan. Houd altijd minstens één revisie achter de hand voor het geval je die nodig hebt.
3. Verwijder spamreacties en items in de prullenbak
Je kunt ook SQL-query’s gebruiken om spamreacties te verwijderen. Let op: wanneer je reacties modereert, blijven ongewenste reacties 30 dagen in je database staan. Reacties die binnen die periode als spam worden gemarkeerd, blijven dus gewoon staan.
Verwijder ze volledig met een paar regels SQL in je databasebeheertool:
DELETE FROM wp_comments, wp_commentmeta
USING wp_comments
LEFT JOIN wp_commentmeta ON wp_comments.comment_ID = wp_commentmeta.comment_id
WHERE wp_comments.comment_approved = 'spam';
Hetzelfde geldt voor items in de WordPress-prullenbak. Er kan veel content ‘in het ongewisse’ blijven hangen, die je met een andere SQL-query verwijdert:
DELETE p, pm, tr
FROM wp_posts p
LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id
LEFT JOIN wp_term_relationships tr ON p.ID = tr.object_id
WHERE p.post_status = 'trash';
Net als bij artikelrevisies stel je in wp-config.php in hoe lang het duurt voordat items uit de prullenbak worden verwijderd:
define( 'EMPTY_TRASH_DAYS', X )
In WP-Sweep kun je spamreacties eenvoudig verwijderen:

Er is ook een optie om niet-goedgekeurde reacties te verwijderen. Dit kan in sommige situaties handig zijn, maar we raden het niet aan. Modereer deze reacties liever eerst en verwijder ze daarna als dat nodig is.
4. Verwijder ongebruikte tags
Taxonomieën zijn belangrijk voor WordPress, maar ze kunnen in de loop van de tijd uitgroeien tot een enorme verzameling. Ook hier gebruik je een SQL-query om op te schonen:
DELETE t, tt
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id
LEFT JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy = 'post_tag' AND tt.count = 0;
De optie in WP-Sweep die het dichtst in de buurt komt, is Post Orphaned Meta. Deze controleert op verweesde metadata en verwijdert die:

Hoewel deze optie ook categorieën en andere gegevens kan verwijderen, is het een veilige oplossing – zeker als geen enkel ander artikel of geen enkele andere pagina er gebruik van maakt.
5. Verwijder pingbacks en trackbacks
We weten niet precies hoeveel WordPress-sites tegenwoordig nog pingbacks en trackbacks gebruiken, maar ze kunnen je database nog steeds volproppen als je de instelling aangelaten hebt. Controleer eerst of je deze optie hebt uitgeschakeld via Instellingen > Discussie in WordPress:

Verwijder in het gedeelte Default post settings de vinkjes bij ‘Attempt to notify any blogs…’ en ‘Allow link notifications…’ en sla je wijzigingen op. Ga vervolgens terug naar je databasebeheertool en voer de volgende query uit:
DELETE c, cm
FROM wp_comments c
LEFT JOIN wp_commentmeta cm ON c.comment_ID = cm.comment_id
WHERE c.comment_type IN ('trackback', 'pingback');
Beide typen staan op dezelfde plek als reacties, maar met een ander type – en daar richt de query zich op. Zodra je dit hebt gedaan, staan er geen trackbacks of pingbacks meer in je database.
Kinsta’s continue database-optimalisatie
Als je klant bent bij Kinsta, heb je waarschijnlijk al gehoord dat we zorgen voor continue database-optimalisatie voor WordPress-sites. Belangrijk om te weten: deze automatische optimalisatie vindt op laag niveau van de databaseserver plaats – het beheren van cache en geheugengebruik – en optimaliseert geen gegevens in RDBMS-tabellen.
De prestaties van je database monitoren
Het monitoren van je WordPress-databaseprestaties is een essentieel onderdeel van sitebeheer. Het helpt je problemen te identificeren voordat ze escaleren en zorgt ervoor dat je site efficiënt en responsief blijft.
Veel technieken die we in dit artikel bespreken, zijn gericht op prestatiebewaking, zoals het gebruik van EXPLAIN bij trage query’s. Er is echter nog meer mogelijk. phpMyAdmin bevat eigen prestatiestatistieken op het tabblad Status:

Hier bekijk je uitvoeringstijden en processen van query’s via het tabblad Query statistics, wat helpt bepalen welke query’s geoptimaliseerd moeten worden. Voor geavanceerde monitoring is MySQL Workbench van onschatbare waarde:

Dit biedt geavanceerde functies voor het ontwerpen, ontwikkelen en beheren van databases, inclusief prestatierapporten en diagnostische gegevens.
Binnen WordPress kun je met de bekende Query Monitor plugin databasequery’s, hooks, voorwaardelijke constructies, HTTP-verzoeken en meer monitoren.

De plugin is bijzonder handig om trage query’s op te sporen en te achterhalen welke plugins of thema’s deze veroorzaken. Houd er rekening mee dat dit doorgaans een ontwikkeltool is, die mogelijk niet geschikt is voor een productiesite.
Databaseprestaties monitoren met de APM-tool
De Application Performance Monitoring (APM)-tool van Kinsta in het MyKinsta-dashboard biedt een andere manier om databaseprestaties in de gaten te houden:

APM houdt je traagste SQL-query’s bij:

Je opent APM via het MyKinsta-dashboard op de APM-pagina. Je moet hem mogelijk eerst inschakelen:

Geef APM even de tijd om gegevens te verzamelen. Zodra die zichtbaar zijn, zie je welke query’s mogelijk verder geoptimaliseerd moeten worden.
Hoe je databasequery’s optimaliseert voor meer efficiëntie
Het optimaliseren van je databasequery’s is cruciaal voor de prestaties en snelheid van je WordPress-site. Efficiënte query’s zorgen ervoor dat gegevens sneller worden opgehaald, wat leidt tot kortere laadtijden en een betere gebruikerservaring.
Hier zijn een paar tips om je query’s efficiënter te maken:
- Optimaliseer de structuur van je query’s. Gebruik geen jokertekens (sterretjes). In plaats van
SELECT *geef je exact aan welke kolommen je nodig hebt. Gebruik waar mogelijk ookJOINin plaats van subquery’s – subquery’s kunnen minder efficiënt zijn, vooral bij grote datasets of een slechte structuur. - Gebruik query-caching. Tools zoals Redis slaan de resultaten van query’s in het geheugen op. Zo worden resultaten de volgende keer uit de cache opgehaald in plaats van dat de database opnieuw wordt doorzocht.
Dit zijn algemene tips, maar er is nog veel meer mogelijk. Laten we daar even snel naar kijken.
Geavanceerde tips voor het optimaliseren en oplossen van problemen met de WordPress-database
Indexeren voegt een snelle naslaggids toe aan je database. Het helpt de databaseserver om gegevens sneller te vinden zonder elke rij van een tabel te doorzoeken.
Zoek de kolommen die vaak in je query’s worden gebruikt en overweeg daar indexen aan toe te voegen. Dit doe je vanuit phpMyAdmin: klik op de tabel die je wilt indexeren en ga naar het tabblad Structure:

Selecteer de kolommen die je wilt indexeren en kies de optie Index onderaan de tabel:

Zodra je je wijzigingen opslaat, worden die kolommen geïndexeerd.
De EXPLAIN-instructie helpt je begrijpen hoe MySQL je query uitvoert. Dit spoort inefficiënties op en laat zien hoe je query samenwerkt met de indexen. Voeg de instructie toe aan het begin van een bestaande query. SQL geeft dan een gedetailleerd overzicht van hoe de query wordt uitgevoerd:

We kunnen hier niet alles over de EXPLAIN-instructie behandelen, maar de MySQL-documentatie bevat vrijwel alles wat je erover moet weten.
Hoe ga je om met grote databases in WordPress
Naarmate een WordPress-site groeit in content, gebruikers en verkeer, breidt de database zich natuurlijk uit. Een grote database is iets waar je tijdens het beheren van een site vroeg of laat mee te maken krijgt.
Het meeste advies in dit artikel is ook geschikt voor grote databases – en om die te verkleinen. Maar voor databases die van nature groter zijn dan normaal, zijn er nog een aantal aanvullende tips:
- Archiveer oudere gegevens. In plaats van alle gegevens actief te houden, kun je oude artikelen of gebruikersgegevens die je niet regelmatig gebruikt archiveren.
- Gebruik een Content Delivery Network (CDN). Door statische bestanden zoals afbeeldingen, video’s en downloads vanaf een andere server aan te bieden, verminder je de belasting op je site en maak je hem sneller. Bovendien laadt je site sneller voor gebruikers, waar ze zich ook bevinden.
- Aangepaste query’s. Ben je WordPress-ontwikkelaar, schrijf dan efficiënte query’s voor je thema’s en plugins. Haal alleen op wat je nodig hebt en houd de efficiëntie hoog.
Je kunt zelfs geavanceerde technieken overwegen, zoals tabelpartitionering en database sharding – waarbij gegevens worden verdeeld over meerdere databases. Dit is doorgaans complex en vereist deskundig beheer.
Dat gezegd hebbende: experts zijn onmisbaar als het gaat om hoge databaseprestaties. De WordPress-hosting van Kinsta is schaalbaar, wordt beheerd en is geoptimaliseerd voor het platform.

Pakketten beginnen vanaf $35 per maand, en onze architectuur ondersteunt zowel een eenvoudige blog als netwerken op zakelijk niveau. Stuur ons een berichtje om te ontdekken hoe we je vaste hostingpartner kunnen worden, wat je doelen ook zijn.
Samenvatting
Je WordPress-database is net als de motor van een auto: zonder afstelling presteert hij niet zo goed als je zou willen. Een niet-geoptimaliseerde database kan ervoor zorgen dat je in de zoekresultaten flink terrein verliest. Je gebruikers zullen het ook merken – dus een snelle, goed draaiende database is cruciaal voor succes.
Er zijn tal van manieren om dit aan te pakken, maar een combinatie van handmatige technieken, plugins en Kinsta’s eigen optimalisatietools levert de meeste voordelen op. In veel gevallen kan automatisering je helpen om veel van deze taken uit te voeren zonder dat je zelf hoeft in te loggen of een specifieke tool hoeft te gebruiken.
We horen graag of onze tips voor het optimaliseren van je WordPress-database voor jou hebben gewerkt. Laat ons in de reacties hieronder weten welke tip het meeste effect heeft gehad!