WordPress-cronjobs controleren en beheren

Gewijzigd op Vr, 5 Jun om 5:28 PM

WordPress gebruikt WP-Cron om geplande taken uit te voeren, zoals het publiceren van geplande berichten, het versturen van e-mail en het uitvoeren van plugintaken. Werkt WP-Cron niet goed, dan blijven taken liggen. In dit artikel controleert en beheert u cronjobs en vervangt u WP-Cron zo nodig door een betrouwbare servercron.

Probleem

Geplande taken in WordPress worden niet of onregelmatig uitgevoerd: geplande berichten verschijnen niet, e-mails blijven liggen of plugintaken lopen niet.

Oorzaak

WP-Cron is geen echte servercron, maar wordt geactiveerd door bezoekers van de site. Komen er weinig bezoekers, dan lopen geplande taken vertraging op of blijven ze liggen.

Op drukke sites kan WP-Cron juist te vaak afgaan, wat de server onnodig belast.

Een vastgelopen of foutieve cron-taak kan andere taken blokkeren, waardoor de hele wachtrij stilvalt.

Oplossing

Controleer de geplande taken, los vastgelopen taken op en vervang WP-Cron door een echte servercron die op vaste tijden draait. Zo worden taken betrouwbaar en op tijd uitgevoerd, ongeacht het bezoek.

Stappenplan

  1. Bekijk de geplande taken met een cron-beheerplugin of via WP-CLI.
  2. Controleer of er taken vastlopen of foutmeldingen geven.
  3. Verwijder of herstel vastgelopen of dubbele taken.
  4. Schakel de ingebouwde WP-Cron uit in wp-config.php.
  5. Stel een echte servercron in via het hostingpaneel die wp-cron.php op vaste tijden aanroept.
  6. Kies een passend interval, bijvoorbeeld elke vijf of tien minuten.
  7. Test of geplande taken nu betrouwbaar worden uitgevoerd.
  8. Controleer periodiek of de cron-wachtrij gezond blijft.

Configuratievoorbeeld: WP-Cron uitschakelen en servercron instellen

Schakel de ingebouwde WP-Cron uit en roep wp-cron.php aan via een echte servercron:

Voorbeeld:

// In wp-config.php: ingebouwde WP-Cron uitschakelen
define( ’DISABLE_WP_CRON’, true );

# Servercron (crontab), elke 10 minuten:
*/10 * * * * wget -q -O - \
  https://www.uwsite.nl/wp-cron.php?doing_wp_cron \
  >/dev/null 2>&1

# Geplande taken bekijken met WP-CLI
wp cron event list
wp cron event run --due-now

Waarom WP-Cron geen echte cron is

Veel beheerders denken dat WP-Cron een echte, tijdgestuurde taakplanner is, maar dat is het niet. WP-Cron wordt pas geactiveerd wanneer iemand de site bezoekt. WordPress controleert dan of er taken openstaan en voert die uit. Op een site met weinig bezoek betekent dit dat geplande taken pas laat of helemaal niet worden uitgevoerd.

Dit ontwerp heeft twee tegengestelde problemen. Op rustige sites lopen taken vertraging op, terwijl op zeer drukke sites WP-Cron bij vrijwel elke paginaweergave wordt gecontroleerd, wat onnodige serverbelasting veroorzaakt. In beide gevallen is een echte servercron de betere oplossing.

Door WP-Cron uit te schakelen en wp-cron.php via de servercron op vaste tijden aan te roepen, ontkoppelt u de taakuitvoering van het bezoek. Taken draaien dan betrouwbaar op het ingestelde interval, ongeacht hoeveel bezoekers de site heeft. Dit is vooral belangrijk voor webshops en sites die afhankelijk zijn van tijdige automatische taken.

Veelgemaakte fouten

  • Aannemen dat WP-Cron altijd op tijd draait, ook zonder bezoekers.
  • WP-Cron uitschakelen zonder een vervangende servercron in te stellen.
  • Een te kort interval kiezen, wat de server onnodig belast.
  • Vastgelopen of dubbele taken niet opruimen.
  • Geen controle doen of geplande taken daadwerkelijk worden uitgevoerd.
  • De cron-wachtrij nooit meer nakijken na het instellen.

Controle na afloop

  1. Controleer of geplande berichten op tijd worden gepubliceerd.
  2. Controleer of e-mails en plugintaken op het verwachte moment draaien.
  3. Controleer of er geen vastgelopen taken in de wachtrij staan.
  4. Controleer of de servercron op het ingestelde interval draait.

Praktische tips

  • Vervang WP-Cron door een echte servercron voor betrouwbaarheid.
  • Kies een interval dat past bij de behoefte, niet te kort.
  • Gebruik een cron-beheerplugin om de wachtrij overzichtelijk te houden.

Veelgestelde vragen

Waarom verschijnt mijn geplande bericht niet?

WP-Cron draait alleen bij bezoek; zonder bezoekers blijft de taak liggen. Een servercron lost dit op.

Belast WP-Cron mijn server?

Op drukke sites kan WP-Cron bij elke paginaweergave afgaan; een servercron met vast interval is efficiënter.

Hoe stel ik een servercron in?

Schakel WP-Cron uit in wp-config.php en roep wp-cron.php aan via de crontab in uw hostingpaneel.

Samenvatting

WP-Cron voert geplande WordPress-taken uit, maar draait alleen bij bezoek aan de site, wat tot vertraging of overbelasting leidt. U lost dit op door WP-Cron uit te schakelen en wp-cron.php via een echte servercron op een vast interval aan te roepen. Controleer de wachtrij op vastgelopen taken en test of taken betrouwbaar draaien.

Gerelateerde artikelen


Komt u er niet uit? Plan een gratis strategiegesprek via https://www.bdmnl.nl/plan.

Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen
CAPTCHA-verificatie is vereist.

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren