Home / WordPress Woordenlijst / Wat is WP-Cron? (WordPress Cron Jobs)

Wat is WP-Cron? (WordPress Cron Jobs)

WP-Cron is een standaard functionaliteit in WordPress die altijd geactiveerd is. WP-Cron is er om geplande taken uit te voeren en te beheren.

Zo wordt WP-Cron bijvoorbeeld gebruikt voor belangrijke taken als het controleren op updates, maken van automatische back-ups en het publiceren van ingeplande artikelen op je website.

De naam WP-Cron staat voor WordPress Cron. Waar WordPress vandaan komt weet je natuurlijk wel. De naam Cron komt van het cron-systeem voor taakplanning op UNIX-systemen.

Los van dat het fijn is dat geplande taken worden uitgevoerd, heeft WP-Cron ook enkele nadelen. In dit artikel zal ik je meer vertellen over hoe het precies werkt en welke nadelen er onder andere zijn.

Inhoudsopgave: WordPress Cron Jobs, wat is het?

Wat is WP-Cron?

In de intro hierboven heb ik eigenlijk al kort uitgelegd wat WP-Cron is.

WP-Cron is een functionaliteit om geplande taken uit te voeren en te beheren, zodat je niet alles handmatig zelf hoeft te doen.

Je kunt WP-Cron dus zien als een handige tijdbespaarder van WordPress. Deze functionaliteit doet al het werk voor je, terwijl jij je op andere dingen kunt richten. Je kunt het bekijken als je eigen virtuele assistent waar je nooit last van hebt en niet aan pauze doet.

Hoe werkt WP-Cron?

WP-Cron wordt actief bij iedere paginabezoek. Het controleert dan een lijst met geplande taken om te zien wat er uitgevoerd moet worden. Alle taken die moeten worden uitgevoerd, worden dan ook aangeroepen.

WP-Cron werkt dus anders als een cron op serverniveau. Het draait niet constant, maar wordt enkel geactiveerd bij een paginabezoek. Dit kan ook een nadeel zijn, want wanneer je weinig bezoek krijgt, kan het zijn dat er planningsfouten optreden. Stel bijvoorbeeld dat je een taak plant om 14:00, maar je krijgt van 12:00 tot 17:00 geen paginabezoek, dan zal de taak pas na 17:00 worden uitgevoerd. Het is belangrijk om hier altijd rekening mee te houden. Mocht je meer informatie over WP-Cron willen, dan kun je altijd de WP-Cron documentatie op WordPress.org bekijken.

Waarom WP-Cron gebruiken?

WordPress en veel WordPress plugins plannen taken in die op basis van tijd uitgevoerd mogen worden. Veel hosting providers bieden shared hosting aan en daar kunnen systeem cronjobs gelimiteerd zijn. Met de WordPress API kunnen er dan ook veel makkelijker taken ingepland worden met WP-Cron.

Het mooie aan WP-Cron is dat alle geplande taken in een wachtrij geplaatst worden en uitgevoerd worden bij het volgende paginabezoek. Het nadeel is dus dat het niet altijd stipt op tijd uitgevoerd wordt, maar dat het uiteindelijk uitgevoerd wordt is 100% zeker. WP-Cron wordt daarom onder andere gebruikt door WordPress Core en veel plugins.

Wat zijn de nadelen van WP-Cron?

Tot nu toe klinkt alles top, maar net als met alles zijn er ook een aantal nadelen bij het gebruik van WP-Cron. Ik zal de nadelen voor je op een rijtje zetten:

  • Afhankelijk van paginabezoeken: Dit heb ik al vaker genoemd in dit artikel. WP-Cron wordt uitgevoerd wanneer een pagina bezocht en dus geladen wordt. Het kan daardoor zijn dat geplande taken op een later moment worden uitgevoerd indien je weinig bezoekers hebt.
  • Kan veel van de server vragen: Heb je juist veel bezoekers en niet veel serververmogen, dan kan het zijn dat WP-Cron juist jouw server te zwaar belast.
  • Beperkte controle: WP-Cron is ingebouwd in WordPress, maar je kunt niet makkelijk terugvinden welke taken allemaal uitgevoerd zouden moeten worden in het WordPress dashboard. Je hebt helaas dus weinig controle.

Wat mij betreft zijn de voordelen groter dan de nadelen, maar wanneer dit voor jou anders is kun je actie ondernemen.

Hoe kun je WP-Cron uitschakelen?

Vertraagd WP-Cron je website of wil je via je hosting provider een cronjob instellen omdat je te weinig bezoekers krijgt? Het is dan verstandig om WP-Cron uit te schakelen, zodat het elkaar niet in de weg zit. Om WP-Cron uit te schakelen zal je een extra regel aan het wp-config.php-bestand van je WordPress installatie moeten toevoegen. De code die je moet toevoegen is:

define('DISABLE_WP_CRON', true);

Persoonlijk plaats ik deze regel altijd net voor de regel ‘That’s all, stop editing! Happy blogging‘.

Eenmaal de regel toegevoegd is WP-con uitgeschakeld op je website en zullen geplande taken niet meer uitgevoerd worden bij elke paginabezoek. Wanneer je het direct via WP-Cron aanroept zal het echter nog wel werken.

In plaats van de automatisch uitgevoerde geplande taken via WP-Cron zal je nu handmatig een cronjob moeten instellen via je hostingomgeving. Bij een goede WordPress hosting provider zal dit geen probleem zijn. Hoe dit precies in te stellen is wisselt echter sterk per hostingbedrijf, dus kijk altijd even in de documentatie van je hosting provider.

Ingeplande taken via WP-Cron beheren in WordPress

Standaard heb je weinig controle over de ingeplande taken die via WP-Cron worden uitgevoerd op je WordPress website. Wanneer je de ingeplande taken wil bekijken en beheren, kun je echter wel een handige plugin installeren. De plugin die je hiervoor kunt gebruiken heet WP Crontol.

Zodra je de plugin hebt geïnstalleerd kun je naar Gereedschap → Cron Events waar je alle taken kunt zien die op je WordPress website worden uitgevoerd. Je kunt tevens zien hoe vaak het wordt uitgevoerd.

WP Crontol taken bekijken

Wanneer je naar het tabblad Cron Schedules gaat kun je eventueel ook nog zelf extra taken invoeren die je kunt laten uitvoeren.


WordPress Hulp Nodig? Join Het WP Lab

Het WordPress Lab Mockup

Heb je vragen aan de hand van dit artikel of wil je verder op weg geholpen worden met je website?

Sluit je aan bij Het WordPress lab, een community voor WordPress-liefhebbers waarin ik antwoord geef op jouw WordPress vragen en je toegang krijgt tot al mijn WordPress cursussen.