Met alleen al meer dan 50.000 WordPress plugins in de repository is het meer dan waarschijnlijk dat je een paar verschillende zult uitproberen om bepaalde taken uit te voeren of problemen op je site op te lossen. En als je er klaar mee bent, deïnstalleer je ze gewoon door ze te deactiveren en te verwijderen. Tot zover geen problemen, toch? Fout! Het probleem met het op deze manier doen is dat het tabellen en rijen in je WordPress database kan achterlaten, en na verloop van tijd kan dit vrij snel oplopen, wat op zijn beurt de prestaties van je site kan beïnvloeden en je zelfs geld kan kosten aan schijfruimte. Vandaag laten we je een paar tips zien over hoe je een WordPress plugin op de juiste manier kunt verwijderen om ervoor te zorgen dat je database klein en snel blijft.

Een WordPress plugin verwijderen vanuit het dashboard

Voordat we ingaan op hoe je een WordPress plugin op de juiste manier verwijdert, laten we eerst de typische manieren bespreken waarop gebruikers plugins verwijderen in WordPress. De eerste is simpelweg vanuit het dashboard. Volg de onderstaande stappen om een WordPress plugin op de normale manier te verwijderen (zonder gegevens te verwijderen).

Stap 1

Navigeer naar “Installed Plugins” in je dashboard en klik op “Deactivate” naast de plugin. In dit voorbeeld verwijderen we de Wordfence beveiligingsplugin.

WordPress plugin deactiveren
WordPress plugin deactiveren

Stap 2

De laatste stap is om simpelweg op “Delete” te klikken.

WordPress plugin verwijderen
WordPress plugin verwijderen

Een WordPress plugin verwijderen via FTP

De tweede veelgebruikte methode is om plugins te verwijderen via FTP (zonder gegevens te verwijderen). Volg de onderstaande stappen.

Stap 1

Maak verbinding met je WordPress site via SFTP.

Stap 2

Blader naar je map /wp-content/plugins/. Verwijder vervolgens de plugin map van je server.

WordPress plugin verwijderen via FTP
WordPress plugin verwijderen via FTP

Niet heel moeilijk, toch? Nou, in de meeste gevallen zijn de bovenstaande methoden de verkeerde manier om plugins te verwijderen, vooral als je de plugin nooit meer gaat gebruiken.

Het grote probleem met het verwijderen van WordPress plugins

Wanneer je een WordPress plugin of thema installeert, worden de gegevens opgeslagen in de database. Het probleem is dat wanneer je een plugin verwijdert met behulp van een van de eenvoudige methoden hierboven, er meestal tabellen en rijen achterblijven in je database. Na verloop van tijd kan dit veel gegevens opleveren en zelfs je site beginnen te vertragen. In ons voorbeeld hebben we de Wordfence beveiligingsplugin verwijderd en die liet 24 tabellen achter in onze database (zoals hieronder te zien is)!

WordFence tabellen
Wordfence tabellen achtergelaten na het verwijderen van de plugin

En naast de database laten veel plugins ook extra mappen en bestanden achter. Onze ervaring is dat dit vaak voorkomt bij beveiligings- en cachingplugins die extra mappen aanmaken voor het loggen. Bijvoorbeeld, nadat de Wordfence plugin was verwijderd, bleven we achter met een “wflogs” map in onze wp-content directory. En we proberen Wordfence niet te pesten, de meeste plugins en thema’s die je kan vinden werken op deze manier.

Wordfence logs
Wordfence logs

Als je plugins hebt verwijderd met behulp van de eenvoudige methoden hierboven, dan is er helaas waarschijnlijk nog veel op te ruimen op je WordPress site. Onthoud dat het deactiveren/verwijderen van een plugin deze alleen inactief maakt. Hoeveel inactieve plugins heb je momenteel op je site? Als dat er meer zijn dan het aantal dat actief is, is dat waarschijnlijk geen goede zaak. Je zou moeten overwegen om inactieve plugins helemaal te verwijderen, omdat ze nog steeds veiligheidsrisico’s kunnen introduceren, zelfs als ze niet actief zijn, en simpelweg bloat achterlaten in je database.

Inactieve WordPress plugins
Inactieve WordPress plugins

Waarom doen developers dit?

Je vraagt je waarschijnlijk af waarom developers geen zelfreinigende opties bieden wanneer je een plugin verwijdert en verwijdert? Nou, feitelijk kunnen ze dat wel. Maar hier zijn een paar redenen waarom ze waarschijnlijk niet worden aangeboden.

Ze willen instellingen voor de gebruiker behouden

De eerste reden is dat veel WordPress gebruikers vaak wisselen tussen plugins en door de tabellen en rijen in je database achter te laten, blijven je instellingen bewaard. Dit betekent dat je de plugin op een later moment opnieuw kunt installeren en dat al je gegevens er nog steeds zijn. Of als de plugin om de een of andere reden per ongeluk wordt verwijderd, hoef je niet in paniek te raken. Voor minder technisch onderlegde gebruikers kan dit zeker als een voordeel worden gezien, maar het is niet de meest efficiënte manier.

Maar als je om de een of andere reden denkt dat je een plugin later nog eens zou kunnen gebruiken, dan is het verwijderen van de plugin met een van de bovenstaande methoden inderdaad de beste manier.

Ze geven niet om prestaties

Een andere reden die we helaas hebben gezien, is dat sommige developers beweren dat het achterlaten van tabellen geen invloed heeft op de prestaties van je site. Maar stel je een site voor die in de loop van 10 jaar honderden plugins heeft gebruikt, die mogelijk duizenden rijen of tabellen hebben gegenereerd. Databaseverzoeken hebben een grote invloed op de prestaties van je WordPress site, en plugins kunnen veel van deze verzoeken doen als de developer niet oppast. Over het algemeen zou een goed geschreven plugin alleen de tabellen of rijen moeten opvragen waaraan hij is gekoppeld, maar dit is niet altijd het geval.

We hebben dit met eigen ogen gezien bij Kinsta, langzame databaseverzoeken die een site zowat tot stilstand brengen door onnodige autoloaded data in de wp_options tabel die is achtergebleven.

En dan is er nog de kwestie van schijfruimte. De meeste webhosts brengen de hoeveelheid schijfruimte die je gebruikt in rekening of hebben limieten ingesteld, en dat geldt ook voor je database.

Ze hebben een fout gemaakt

Het WordPress Plugin Handbook is gemaakt voor developers, samen met best practices over hoe je een plugin deactiveert vs. een plugin de-installeren (gegevens verwijderen). Er staat zelfs:

Minder ervaren developers maken soms de fout om de deactiveringshook hiervoor te gebruiken.

Als deze fout door de developer wordt gemaakt, betekent dit dat wanneer de de-installatie alle gegevens had moeten verwijderen, hij gewoon het deactiveringsproces heeft uitgevoerd en alles heeft achtergelaten.

De meerderheid heeft opruimmethoden

Er is echter goed nieuws, want veel programma’s hebben een manier om goed op te ruimen, je gebruikt ze waarschijnlijk alleen niet. Maar dat gezegd hebbende, veel van deze plugin’s maken het gebruikers nog steeds niet duidelijk genoeg hoe ze hun plugin op de juiste manier kunnen verwijderen. Kevin Muldoon, een internet marketeer en blogger, heeft onlangs juist dit onderwerp aangesneden in zijn artikel over waarom WordPress.org de uninstall opties verplicht moet maken. In een ideale wereld zou je, wanneer je een WordPress plugin wilt verwijderen, drie verschillende opties moeten krijgen.

  • Plugin verwijderen
  • Plugin en gegevens verwijderen
  • Plugin, gegevens en instellingen verwijderen (volledige verwijdering)

Maar dat is nog niet helemaal hoe het werkt. Het zou mooi zijn als zoiets uiteindelijk verplicht zou zijn in de repository.

Een WordPress plugin verwijderen (op de juiste manier)

Vandaag laten we je een paar aanbevelingen en trucs zien over hoe je een WordPress thema en/of plugin op de juiste manier kunt verwijderen. Hoe je het doet kan verschillen per plugin, van het gebruik van het optionele volledige verwijderingsproces die de developer voor je heeft gemaakt tot het zelf uitvoeren van een opruiming in de database.

Stap 1

In dit voorbeeld gaan we verder met de Wordfence plugin. Een van de problemen met het op de juiste manier verwijderen van een WordPress plugin is dat elke developer dit een beetje anders aanvliegt. Dit betekent dat je waarschijnlijk een korte Google zoekopdracht moet uitvoeren, de documentatie van de developer op hun site moet bekijken of een e-mail moet sturen. Zoals je hieronder kunt zien hebben we gegoogled op “how to uninstall wordfence” en het eerste dat terugkwam was precies dat, hun officiële documentatie over hoe Wordfence volledig te verwijderen.

Hoe Wordfence verwijderen
Hoe Wordfence verwijderen

Stap 2

Een goed ontwikkelde plugin zou een optie moeten hebben in de instellingen van hun plugin om een volledige deïnstallatie uit te voeren. Een voorbeeld hiervan zie je hieronder bij de populaire Gravity Forms plugin. Een snelle klik op de knop “Uninstall Gravity Forms” en alle tabellen en gegevens zijn verdwenen.

Gravity Forms verwijderen
Gravity Forms verwijderen

Hier is nog een voorbeeld van de meertalige plugin Polylang. Je kunt zien dat er onder hun Tools sectie een optie is om alle gegevens te verwijderen als je de “Delete” link gebruikt. Het moet gewoon eerst worden ingeschakeld.

Polylang plugin gegevens verwijderen
Polylang plugin gegevens verwijderen

Als je meertalige plugins niet op de juiste manier verwijdert, blijven ze onnodig vertaalgegevens bijwerken voor andere externe plugins, zelfs nadat ze zijn verwijderd.

Oude vertaalgegevens in database
Oude vertaalgegevens in database

Vreemd genoeg raadt Wordfence je aan om een andere plugin te installeren, de Wordfence Assistant, die je zal helpen om de plugin, gegevens en instellingen volledig te verwijderen. Zoals je hieronder kunt zien, zijn er zodra de plugin is geïnstalleerd opties om de Wordfence gegevens en tabellen te verwijderen, alle geblokkeerde IP’s te wissen en live verkeersgegevens.

WordFence volledig verwijderen
WordFence volledig verwijderen

Andere WordPress plugins vereisen misschien een nog complexer verwijderingsproces, zoals WooCommerce, waarbij je de volgende code in je wp-config.php bestand moet zetten voordat je het verwijdert om alle gegevens volledig te verwijderen.

define( 'WC_REMOVE_ALL_DATA', true);

Maar dit is waarom het belangrijk is voordat je simpelweg een plugin deactiveert en verwijdert, dat je ervoor zorgt dat je het op de meest efficiënte manier doet. Hier zijn snelkoppelingen naar verwijderingsgidsen voor een aantal populaire WordPress plugins waar sommige mensen soms problemen mee hebben:

Ongebruikte shortcodes verwijderen

Als je een plugin gebruikt die shortcodes gebruikt en je verwijdert die plugin, dan kan je site er heel vreemd uitzien totdat je ze vervangt. Als je de shortcodes van de oude plugin tijdelijk wilt uitschakelen, gebruik dan de volgende code in je functions.php bestand; door ‘pluginshortcode’ te updaten met de eigenlijke shortcode tag van de plugin.

add_shortcode( 'pluginshortcode', '__return_false' );

Hierdoor worden ze helemaal niet meer weergegeven. Maar vergeet niet dat als je ze weer wilt gebruiken met de originele plugin, je de code weer moet verwijderen. Het kan echter een snelle manier zijn om je site op te schonen terwijl je de shortcodes vervangt door misschien een nieuwer shortcodeformat van de plugin.

Handmatig tabellen opruimen die zijn achtergelaten door plugins

Er zullen waarschijnlijk momenten zijn waarop je een plugin al hebt verwijderd en je deze gewoon moet opschonen. Of misschien verwijst de volledige verwijderingsmethode van de developer er juist naar dat je de databasetabellen handmatig moet verwijderen. Er zijn een paar manieren waarop je dit kunt doen, de ene is door een tabelopruimingsplugin te gebruiken, en de andere is door de tabellen rechtstreeks in phpMyAdmin te verwijderen.

In beide gevallen raden we je ten zeerste aan om vooraf een backup te maken van je WordPress site. Als je een Kinsta gebruiker bent, kun je eenvoudig met één klik een backup maken in het MyKinsta dashboard.

WordPress backup maken
WordPress backup maken

Of gebruik een van de vele populaire WordPress backupplugins.

Tabellen opruimen met plugin

Je beste optie voor een plugin is waarschijnlijk de Advanced Database Cleaner. Dit is een premium plugin, maar hij kan je WordPress installatie scannen en je in staat stellen om “verweesde” (orphan) tabellen te verwijderen. Zoals je hieronder kunt zien heeft het de EDD (wp_edd*), Gravity Forms (wp_gf*) en Bloom (et_bloom*, et_social*) tabellen gevonden van plugins die niet meer geïnstalleerd waren.

Orphan tabellen detecteren
Orphan tabellen detecteren

Tabellen opschonen in phpMyAdmin

Je kunt de tabellen ook handmatig opschonen in phpMyAdmin. We verkiezen deze methode boven het gebruik van een plugin. Veel plugins geven hun tabellen een naam die lijkt op de naam van hun plugin. In dit voorbeeld gaan we Yoast SEO volledig verwijderen volgens hun documentatie. In feite heeft Yoast SEO hiervoor geen optie in hun plugin, als je de plugin volledig wilt verwijderen en de gegevens wilt wissen, is je enige alternatief om dit in phpMyAdmin te doen. In hun documentatie staat dat:

Als je alle sporen van onze plugins wilt verwijderen, zoek dan in de database naar vermeldingen die wpseo bevatten en verwijder de gegevens handmatig.

Om dit te doen log je in op phpMyAdmin. Voer onder het tabblad “Search” “wpseo” in, selecteer alle tabellen en klik op “Go”

Zoek wpseo in database
Zoek wpseo in database

Op onze site zijn er overeenkomsten gevonden in de wp_options tabel, de wp_postmeta tabel en de wp_usermeta tabel. Je kunt dan op elke tabel klikken en de rijen verwijderen die “wpseo” bevatten

Yoast tabellen
Yoast tabellen

Hieronder zie je de wp_options tabel. Zorg ervoor dat je de rijen eerst filtert op “wpseo”, want er zijn andere WordPress specifieke rijen die “wpseo” kunnen bevatten in de option_value, zoals de WordPress cron job rij. Dit is erg belangrijk en moet niet over het hoofd worden gezien. Na het filteren kun je ze allemaal selecteren en verwijderen.

wp_options tabel Yoast SEO
wp_options tabel Yoast SEO

Hieronder zie je de wp_postmeta tabel. Verwijder de rijen die “wpseo” bevatten

wp_postmeta tabel Yoast SEO
wp_postmeta tabel Yoast SEO

En hier is de wp_usermeta tabel. Ook hier is het heel belangrijk dat je eerst de rijen filtert op “wpseo.” Selecteer dan de overgebleven rijen en verwijder ze.

wp_usermeta tabel Yoast SEO
wp_usermeta tabel Yoast SEO

En als je de nieuwe tekstlink-counterfeature gebruikt, moet je ook twee extra Yoast SEO tabellen verwijderen; wp_yoast_seo_links en wp_yoast_seo_meta.

Yoast SEO tabellen verwijderen
Yoast SEO tabellen verwijderen

En als laatste zou je de CRON taak moeten opschonen als er een is die met de plugin wordt uitgevoerd. Je kunt natuurlijk de cron job rij in de wp_options tabel bewerken, maar een eenvoudigere manier om er zeker van te zijn dat je niet de verkeerde regels aanpast is om de CRON job te verwijderen met de gratis WP Crontrol plugin. In het geval van de Yoast SEO plugin, gebruikt deze een Cron job genaamd “wpseo_onpage_fetch,” die eenvoudig verwijderd kan worden.

Wpseo_onpage_fetch cron job verwijderen
Wpseo_onpage_fetch cron job verwijderen

Samenvatting

Mocht je nog niks weten over het verwijderen van plugins, dan weet je nu hopelijk iets meer over hoe je een WordPress plugin op de juiste manier verwijdert. De meeste plugins hebben goede documentatie over hoe je ze volledig kunt verwijderen, of zelfs een optie in hun instellingen. En als al het andere faalt, probeer dan eens te googelen hoe je ze verwijdert.

Aanbevolen tutorial: Zo schakel je WordPress plugin uit (zonder toegang tot WP admin)

Dus als je de volgende keer een plugin wilt verwijderen, beslis dan of je de gegevens nodig hebt of niet. Zo niet, neem dan even de tijd en zoek de juiste manier op om de plugin volledig te verwijderen. Dit zorgt ervoor dat je je database klein houdt en de schijfgrootte tot een minimum beperkt. En vergeet niet om meteen ook je database te optimaliseren door revisies te verwijderen en te beperken.

Brian Jackson

Brian heeft een enorme passie voor WordPress, gebruikt het al meer dan tien jaar en heeft zelfs al aantal premium plugins ontwikkeld. Brian houdt van bloggen, films en hikes. Kom in contact met Brian op Twitter.