Scroll Top

WordPress onderhoud: de vergeten cronjobs die je site vertragen

avif formaat

Je hebt een WordPress-site gebouwd, ingericht en live gezet. Alles werkt. Maar onder de motorkap stapelt zich stilletjes een probleem op — een probleem dat niemand ziet totdat de server vastloopt, het CPU-gebruik door het dak gaat en bezoekers een foutpagina te zien krijgen. De oorzaak? Vergeten cronjobs van plugins die allang zijn verwijderd.

Dit artikel legt uit wat wees-cronjobs zijn, hoe ze ontstaan, waarom ze gevaarlijk zijn — en hoe je ze structureel opruimt als onderdeel van je reguliere WordPress-onderhoud.

Wat zijn wees-cronjobs?

Elke WordPress-plugin die terugkerende taken uitvoert — denk aan beveiligingsscans, back-ups, e-mailrapporten of database-opruiming — registreert een cronjob in de WordPress-database. Die taak wordt op een vast tijdstip uitgevoerd.

Het probleem ontstaat op het moment dat je een plugin deactiveert of verwijdert. WordPress verwijdert de plugin, maar 

de bijbehorende cronjobs blijven gewoon in de database staan.

Bij elk volgend uitvoeringsmoment probeert WordPress de taak uit te voeren. Het start een PHP-proces op, raadpleegt de database, zoekt de plugin — en stuit op een fout. De taak mislukt, maar het CPU-gebruik is al verbruikt. Dit herhaalt zich eindeloos, dag na dag, week na week.

Hoe ontstaan ze op jouw site?

Wees-cronjobs zijn het onvermijdelijke bijproduct van normaal WordPress-gebruik. Ze ontstaan bij:

  • Het testen en vervolgens verwijderen van plugins
  • Het wisselen van beveiligingsplugins (van Wordfence naar iThemes, of andersom)
  • Het vervangen van cacheplugins
  • Het uitproberen van SEO-plugins voordat je de definitieve keuze maakt
  • Het verwijderen van WooCommerce of andere grote plugins na een websitewijziging

Na jaren van onderhoud, experimenten en doorontwikkeling kan een gemiddelde WordPress-site tientallen van dit soort verlaten taken bevatten — elk met hun eigen uitvoeringsschema en elk met hun eigen CPU-belasting.

Waarom zijn wees-cronjobs gevaarlijk?

Op een kleine site met weinig verkeer merk je er nauwelijks iets van. Maar zodra een site groeit — meer bezoekers, meer content, meer actieve plugins — stapelen de gevolgen zich op.

Elke mislukte cronjob verbruikt rekenkracht. Bij tientallen verlaten taken die elk uur, elk kwartier of zelfs elke minuut worden aangeroepen, loopt het totale CPU-verbruik snel op. Op gedeelde hosting — waar meerdere websites dezelfde servercapaciteit delen — kan dit ertoe leiden dat jouw site de beschikbare resources opslokt en andere sites verstoort.

In het ergste geval leidt dit tot een cascadeprobleem: het CPU-gebruik bereikt het maximum, nieuwe PHP-processen kunnen niet meer starten, de databaseverbinding valt weg en bezoekers zien een foutpagina. De server is niet kapot — hij is simpelweg overspoeld met zinloze taken.

Het verraderlijke is dat dit probleem onzichtbaar opbouwt. Er is geen foutmelding, geen waarschuwing. Totdat het te laat is.

Hoe ruim je wees-cronjobs op?

De meest toegankelijke manier is via de gratis plugin WP Crontrol. Deze plugin maakt de volledige inhoud van de WordPress cron-wachtrij inzichtelijk. Je ziet precies welke taken er ingepland staan, wanneer ze voor het laatst zijn uitgevoerd en — cruciaal — of er een actieve plugin achter zit.

Taken die rood gemarkeerd zijn als ‘Geen actie’ of ‘Onbekend schema’ zijn verdachte kandidaten. Dit zijn taken waarvan de bijbehorende plugin niet meer bestaat. Je verwijdert ze als volgt:

  • Installeer WP Crontrol via Plugins → Nieuwe plugin → Zoeken naar ‘WP Crontrol’
  • Ga naar Extra → Cron gebeurtenissen
  • Klik bovenaan op ‘Gebeurtenissen zonder actie’ om te filteren
  • Selecteer alle verdachte taken en verwijder ze via Bulkacties → Verwijderen
  • Controleer ook de tab ‘Gedupliceerde gebeurtenissen’ voor overbodige dubbele taken

Maak het onderdeel van je onderhoudschecklist

Het opruimen van wees-cronjobs is geen eenmalige actie — het is een terugkerend onderhoudspunt. Net zoals je regelmatig je database optimaliseert, verlopen transients opruimt en ongebruikte plugins verwijdert, hoort het controleren van de cron-wachtrij bij professioneel WordPress-beheer.

Een goede kwartaalchecklist bevat minimaal:

  • Database optimaliseren en overbodige revisies verwijderen
  • Verlopen transients opruimen
  • Wees-cronjobs identificeren en verwijderen via WP Crontrol
  • Ongebruikte plugins en thema’s verwijderen (niet alleen deactiveren)
  • Controleren of WP-Cron is uitgeschakeld en vervangen door een echte server-cron
  • Afbeeldingen comprimeren voordat ze worden geüpload (max. 200-250KB)

Preventie: stop het probleem aan de bron

De beste manier om wees-cronjobs te voorkomen is simpel: verwijder plugins altijd volledig in plaats van alleen te deactiveren. Bij het volledig verwijderen via het WordPress-dashboard krijgen goed gebouwde plugins de kans om hun cronjobs netjes op te ruimen. Deactiveren doet dit niet.

Daarnaast is het verstandig om bij elke pluginverwijdering even een blik te werpen in WP Crontrol en te controleren of er taken zijn achtergebleven. Het kost dertig seconden en voorkomt uren aan probleemoplossing later.

Conclusie: onzichtbaar, maar niet onschuldig

Wees-cronjobs zijn een van de meest onderschatte oorzaken van WordPress-prestatieproblemen. Ze zijn onzichtbaar voor beheerders die er niet actief naar zoeken, ze bouwen langzaam op en ze kunnen uiteindelijk een complete servercrash veroorzaken — ook voor andere sites op dezelfde server.

De oplossing is gelukkig eenvoudig: controleer de cron-wachtrij regelmatig, ruim verlaten taken op en maak er een vast onderdeel van je onderhoud van. Je server, je bezoekers en je buren op de gedeelde hosting zullen je dankbaar zijn.

Dit artikel is gebaseerd op praktijkervaring met WordPress-sitebeheer op gedeelde hosting. Voor vragen over WordPress-onderhoud en optimalisatie kunt u contact opnemen.

support → Hulp nodig bij je mailinstellingen?
Klik hier en meld het op onze supportpagina.

Reageer!

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie gegevens worden verwerkt.

SUPPORT-AANVRAAG