WordPress-cronjobs: wat ze doen en waarom ze vaak niet werken
Geplande taken die WordPress automatisch op vaste momenten uitvoert — back-ups, het publiceren van ingeplande berichten, het versturen van e-mails, het opschonen van revisies — lopen via een systeem dat "WP-Cron" heet. Het probleem is dat WP-Cron niet werkt zoals de meeste mensen denken, en die aanname is precies waarom taken soms simpelweg niet op tijd (of helemaal niet) uitgevoerd worden.
Hoe WP-Cron eigenlijk werkt
In tegenstelling tot een traditionele server-cronjob, die op de achtergrond draait ongeacht wat er verder gebeurt, is WP-Cron volledig afhankelijk van bezoekersverkeer. Elke keer dat iemand een pagina op je site laadt, controleert WordPress of er geplande taken klaarstaan om uitgevoerd te worden. Geen bezoeker, geen controle — en dus ook geen uitgevoerde taak, ongeacht hoe dringend die was.
Waarom dit een probleem wordt
Op een drukbezochte site valt dit nauwelijks op, omdat er voortdurend bezoekers zijn die de controle triggeren. Maar op een rustige site — bijvoorbeeld 's nachts, of een site met weinig verkeer in het algemeen — kan een geplande taak uren te laat lopen, of soms zelfs helemaal niet, als er precies op dat moment geen bezoeker langskomt. Een ingepland blogbericht dat om 3:00 uur 's nachts had moeten verschijnen, publiceert dan pas zodra de eerste bezoeker van de ochtend de site opent.
WP-Cron draait niet "op de achtergrond" zoals veel mensen aannemen — het draait alleen op het moment dat iemand toevallig een pagina laadt.
De oplossing: een echte servercronjob
De structurele oplossing is WordPress' ingebouwde, bezoeker-afhankelijke cron uitschakelen en te vervangen door een echte cronjob op serverniveau, die op een vaste tijd draait ongeacht bezoekersverkeer — bijvoorbeeld elke 5 of 15 minuten. Dat maakt geplande taken betrouwbaar en voorspelbaar, en heeft als bijkomend voordeel dat WordPress niet meer bij elke paginalading hoeft te controleren of er iets te doen is, wat een kleine snelheidswinst oplevert op drukke sites.
Signalen dat je cron-systeem niet goed werkt
- Ingeplande berichten die te laat of helemaal niet gepubliceerd worden.
- Back-up-plugins die aangeven dat de laatste back-up "mislukt" of ongewoon lang geleden is.
- E-mailmeldingen (bijvoorbeeld van formulieren of abonnementen) die vertraagd binnenkomen.
- Plugin-updates of onderhoudstaken die in de plugin zelf als "wachtend" blijven staan.
Kort samengevat
WP-Cron lijkt op een normale cronjob, maar werkt fundamenteel anders: zonder bezoekers geen uitgevoerde taken. Voor de meeste sites is het vervangen door een echte servercronjob de betrouwbaarste oplossing. Bij RN Hosting zetten we dit standaard goed in binnen onze hostingomgevingen, zodat geplande taken op tijd lopen — ongeacht hoeveel bezoekers je site op dat moment heeft.
Twijfel je of geplande taken op jouw site wel betrouwbaar lopen? We checken en zetten het goed voor je in.
Bekijk WordPress onderhoud