Blog

Hoe verklein ik mijn WordPress database?

Gisteren kreeg ik de bovenstaande mail van mijn hostingprovider nadat ik een WordPress database van een klant had gemigreerd. Oeps! Wat nu? Ik wist zelf niet dat er een limiet opzat. Maar nu is 2 gigabyte ook wel erg veel voor een database. Gelukkig kun je in WordPress een database vrij gemakkelijk verkleinen. Mijn oplossing vind je hieronder.

1. Backup, Backup, Backup

Heeft iemand je al eens verteld dat je een backup moet maken als je grote wijzigingen gaat doen? Dit geldt zeker bij het verkleinen van een database aangezien er veel fout kan gaan en dan is weg ook echt weg. De meeste hostingproviders hebben gelukkig in hun control panel wel een backup (en herstel!) mogelijkheid ingebouwd. Zo ja, gebruik dan deze mogelijkheid want deze backup wijze is door jouw hostingprovider al doorgetest en je hebt er support op.

Mocht je niet deze mogelijkheid niet hebben dan kun je altijd nog een backup plugin installeren. Hiervan zijn er vele een goede beschikbaar in de WordPress plugins directorie.

Heb je een backup gemaakt, dan kun je naar stap 2: De oorzaak achterhalen.

2. De oorzaken vinden van een te grote WordPress database

Om achter de oorzaken te komen dien je eerst meer inzicht te krijgen hoe groot te tabellen in de database zijn. Hiervoor gebruik ik de plugin “WP-Optimize”. Via deze plugin kun je makkelijk een overzicht krijgen hoe groot elke database tabel is en is de oorzaak hiervan makkelijker te achterhalen. Hieronder vind je de meest voorkomende oorzaken en wat je er tegen kunt doen.

Oorzaak 1: Geen database onderhoud

Wordpress database optimalisatie mogelijkheden

In de loop der jaren kan een WordPress database vervuild raken met (tijdelijke) data die niet meer nodig is. Deze data kun je dan verwijderen en je database optimaliseren. Dit kan met bijvoorbeeld de plugin WP-Optimize. Zorg ook dat je deze optimalisaites regelmatig doet door deze taken automatisch in te plannen. Zo blijft je database “lean en mean”.

Oorzaak 2: Tabellen van oude plugins

WordPress plugins komen en gaan, maar de tabellen hiervan blijven vaak bestaan. Sommige plugins maken namelijk hun eigen tabellen aan voor het opslaan van data. Echter bij het verwijderen van deze plugin blijft de data in de database achter. Met WP-Optimize kun je zien welke tabellen er zijn en door welke plugin(s) deze kunnen worden gebruikt. Weet je zeker dat deze tabellen niet meer worden gebruikt, dan kun je ze verwijderen met de plugin en dus ruimte besparen.

Oorzaak 3: Logging

Veel WordPress plugins slaan data van events in de database op zodat er worden nagegaan wat er is gebeurd. Als je deze tabellen niet regelmatig opschoont kunnen ze behoorlijk groot worden. Vaak doen plugins dit zelf of kun je dit instellen. Mocht dit niet kunnen kun je de tabel leegmaken. dit kan je doen met het commando ‘TRUNCATE TABLE’. Let wel op: alle data wordt verwijderd uit deze tabel! Weet dus wat je doet!

				
					TRUNCATE TABLE 'naam_van_je_tabel'
				
			

Oorzaak 4: Een succesvolle WooCommerce Webshop

Dit was uiteindelijk de grootste oorzaak bij mij. De WordPress database van mijn website was van een webshop die al meerdere jaren vele orders per dag verwerkt. WooCommerce gebruik bij elke bestelling vele verschillende velden waardoor tabellen zoals ‘wp_postmeta’,  ‘wp_woocommerce_order_itemmeta’ en ‘wp_comments’ snel erg groot worden.

Om deze te verklein kun je oude of geannuleerde orders uit de database halen. Via de plugin “Advanced Order Export For WooCommerce” kun je oude orders eerst exporteren om ze vervolgens met de “store toolkit for WooCommerce” plugin te verwijderen. Zorg wel dat je het verwijderen in kleine batches doet omdat er anders timeout optreden bij het verwijderen.

Tot slot

Nadat ik alle tabllen had geoptimaliseerd, was oude tabellen had verwijderd, een aantal log tabellen had leeggemaakt en vele oude en niet gelukte WooCommerce orders had verwijderd was er nog  “maar” 750mb over van de WordPress database. Genoeg tot tevredenheid van mijn hostingprovider.

Gerelateerde artikelen