WordPress-plugin verwijderen: ook de database opruimen die na het verwijderen in het beheerscherm achterblijft

Een WordPress-plugin verwijderen is in het beheerscherm met één klik gebeurd, maar de tabellen en instellingen die de plugin heeft aangemaakt, blijven vaak in de database staan. Ook bij mij stonden er op 2026-10-09 nog 8 tabellen en 38 optierijen van twee lang geleden verwijderde plugins voor advertenties en reacties.
Hieronder lees je stap voor stap hoe je een plugin in het beheerscherm verwijdert en hoe je daarna de achtergebleven shortcodes, mappen en databasegegevens opruimt.
1️⃣ Een plugin verwijderen in het beheerscherm
Klik onder [Plugins] > [Geïnstalleerde plugins] eerst op [Deactiveren] en daarna op [Verwijderen], dat in dezelfde rij verschijnt.

Bevat de plugin opruimcode, dan wordt die op dat moment uitgevoerd; zonder opruimcode worden alleen de bestanden verwijderd en blijven de gegevens staan.
2️⃣ Waarom er na verwijderen gegevens achterblijven
Bij het verwijderen van een plugin voert WordPress het bestand [uninstall.php] van die plugin uit, of de functie die met [register_uninstall_hook] is geregistreerd. Het wissen van gegevens is aan die code overgelaten, dus plugins zonder zulke code, of met code die maar een deel wist, laten tabellen en opties achter.
Soms laten ontwikkelaars gegevens bewust staan, zodat de instellingen terugkomen als je de plugin opnieuw installeert. Sommige plugins, zoals Wordfence, bieden in hun instellingen een optie om ook de gegevens te wissen, en de meertalige plugin Polylang biedt dezelfde optie.

3️⃣ Wat achtergebleven gegevens met je site doen
Van de achtergebleven opties worden rijen met [autoload] aan bij elke paginaweergave samen met de andere instellingen in het geheugen geladen. Bij mij waren [wc_options] (15KB) van wpDiscuz en [advanced-ads-ab-module] (14KB) van Advanced Ads zulke rijen.
Mijn autoload-totaal is echter ongeveer 392KB, waarvan zo'n 39KB achtergebleven rijen; dat geeft geen merkbaar snelheidsverschil. Het scherm [Sitediagnose] van WordPress waarschuwt pas als het autoload-totaal boven 800KB komt.
Nadat autoload bij de 23 achtergebleven rijen was uitgezet, daalde de [Autoload size] in Advanced Database Cleaner van 391.52KB naar 353.36KB.


Normaal gesproken is dat geen probleem. Bezoekers die een gecachte pagina krijgen, gaan niet door PHP; het autoload-pakket wordt alleen geladen door verzoeken die de cache overslaan, zoals het beheerscherm, het eerste bezoek direct na het legen van de cache en bots. Komen zulke verzoeken tegelijk binnen, dan pakt elk verzoek het autoload-pakket in het geheugen uit, dus hoe groter de autoload van een site, hoe sneller de serverbelasting stijgt.
Opties met autoload uit en achtergebleven tabellen worden zonder de plugin nooit gelezen, dus ze hebben geen invloed op de snelheid; ze maken alleen de database en de back-ups groter.
4️⃣ Achtergebleven sporen opruimen
Maak eerst een volledige back-up voordat je de database aanraakt.
🔲 Shortcodes
Shortcodes die een plugin in berichten zette, verschijnen na het verwijderen van de plugin als letterlijke tekst tussen vierkante haken in de inhoud. Zolang je de berichten niet een voor een hebt aangepast, zet je de regel hieronder in de [functions.php] van je thema, zodat de shortcode niets meer uitvoert.
add_shortcode( 'pluginshortcode', '__return_false' );Ook ik gebruikte zo'n tien shortcodes van een tabelplugin; toen die plugin wegens een beveiligingsprobleem werd verwijderd, zijn de shortcodes en tabellen een voor een opgeruimd, en sindsdien gebruik ik geen shortcodes meer.
🔲 Pluginmap
Is een map niet via het beheerscherm verwijderd, verwijder hem dan zelf onder [wp-content/plugins] via FTP, cPanel of SSH.
🔲 Databasetabellen en -rijen (phpMyAdmin)
De meeste hostingproviders bieden phpMyAdmin aan.

Achtergebleven tabellen zoek je op het tabblad [Structuur] aan de hand van de pluginnaam, waarna je ze verwijdert. Het scherm hieronder gebruikt Yoast SEO als voorbeeld.

Rijen zoals opties zoek je op het tabblad [Zoeken] met het jokerteken [%], bijvoorbeeld [%yoast%].


Filter je nog een keer met [Filter rijen], dan zie je of de rijen alleen bij Yoast SEO horen.

Rijen blijven meestal achter in [wp_options], [wp_postmeta] en [wp_usermeta], en het voorvoegsel [wp_] in tabelnamen kan per site verschillen. Wis je alleen op naam, dan kun je ook rijen wissen die andere plugins gebruiken; verwijder daarom alleen rijen waarvan je hebt nagegaan bij welke plugin ze horen.
5️⃣ Plugins voor databaseopschoning
Wil je liever in het beheerscherm opruimen dan in phpMyAdmin, gebruik dan Advanced Database Cleaner. Ik gebruik het zelf ook; het toont bij elke optie en tabel onder [Belongs to] bij welke plugin die hoort, zodat je kunt zien welke rijen weg mogen.
Rijen waarbij [Belongs to] op [Not scanned yet] staat, zijn niet ongebruikt; hun eigenaar is alleen nog onbekend. Ook bij mij bleek een groot deel van de onbekende namen licenties en instellingen van nog actieve plugins zoals Kadence Blocks Pro en WP Ghost; wis je zulke rijen, dan vervalt de licentie of worden de instellingen teruggezet.
Verwijder daarom ook rijen van een verwijderde plugin niet meteen, maar zet eerst hun autoload uit. De waarden blijven bewaard, zodat je het altijd kunt terugdraaien; draait de site een paar dagen zonder problemen, dan verwijder je ze alsnog.


Ook WP-Optimize kan in de gratis versie achtergebleven tabellen verwijderen.


🔢 FAQ & aanbevolen content
Instellingen
2 manieren om de vraag om FTP-gegevens uit te schakelen
Twee manieren om het venster voor FTP-gegevens kwijt te raken dat bij elke installatie of update van een plugin verschijnt.
Optimalisatie
Perfmatters-plugin review & gids
Instellingen voor prestatie-optimalisatie, verzameld in 5 jaar gebruik.
Prestaties
WP-Cron uitschakelen en systeem-cron gebruiken
Zo zet je wp-cron.php, dat bij elke paginaweergave draaide, uit en verplaats je het naar een servercron.
ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.