WordPress Cron en scheduled tasks: complete gids

WP-Cron verzorgt geplande taken in WordPress, maar wordt doorgaans pas geactiveerd door een bezoek aan de website. Ontdek hoe je vertragingen en mislukte taken opspoort, welke controles je uitvoert en wanneer een server-side cronjob passend is.

WordPress Cron, meestal WP-Cron genoemd, voert geplande taken uit zoals het publiceren van berichten, onderhoudsprocessen en taken van plugins. Het is geen continue serverklok: WP-Cron wordt normaal gesproken geactiveerd wanneer iemand een pagina op je website bezoekt. Daardoor kunnen taken bij weinig verkeer te laat starten. Controleer geplande events, achterhaal de oorzaak en kies alleen voor een server-side cronjob als die betrouwbaar is ingericht.

Wat zijn WP-Cron en scheduled tasks?

Een scheduled task is een taak die WordPress of een plugin op een gepland moment of met een herhaalinterval moet uitvoeren. Denk aan een ingepland bericht, een opruimtaak, een synchronisatie met een externe dienst of een back-up die door een plugin wordt gestart.

WP-Cron is het mechanisme waarmee WordPress zulke taken afhandelt. De officiële WordPress-documentatie legt uit dat WP-Cron bij een paginaverzoek wordt gecontroleerd. Zijn er taken die uitgevoerd moeten worden, dan probeert WordPress die te starten. Dat werkt voor veel websites prima, maar het is anders dan een echte cronservice op de server die op vaste momenten draait.

WP-Cron versus een server-side cronjob

SituatiePassende aanpakWaaromConcrete controle
Website met regelmatig bezoekersverkeer en weinig kritieke takenStandaard WP-CronBezoeken activeren de controle op vervallen taken.Controleer of de volgende uitvoertijd van belangrijke events logisch blijft opschuiven.
Website met weinig verkeer en geplande publicatiesWP-Cron aanvullen met een externe of server-side triggerEen publicatiemoment mag niet afhankelijk zijn van een toevallig bezoek.Plan een testbericht in en controleer na het publicatiemoment status en publicatiedatum.
Website met terugkerende back-ups, koppelingen of intensieve pluginprocessenServer-side cronjob, na technische controleEen vaste trigger is voorspelbaarder dan uitvoering via bezoekersverkeer.Controleer logboeken van hosting en plugin, plus de uitvoering van de taak zelf.
WP-Cron is uitgeschakeldAlleen zo laten als een werkend alternatief actief isZonder trigger blijven geplande WordPress-taken liggen.Verifieer de externe of servertaak en test een onkritisch gepland event.

Welke taken lopen via WordPress Cron?

De precieze lijst verschilt per website. WordPress-kern, thema’s en plugins kunnen eigen hooks en events registreren. Veelvoorkomende voorbeelden zijn:

  • geplande berichten die van concept naar gepubliceerd gaan;
  • periodieke controles, opruimacties en meldingen;
  • back-ups of synchronisaties die door een plugin zijn ingepland;
  • verwerking van wachtrijen, bijvoorbeeld voor e-mail, imports of koppelingen;
  • geplande updates of controles die een plugin uitvoert.

Niet elke taak die vertraagt is echter een algemeen WP-Cron-probleem. Een plugin kan een eigen wachtrij, externe API of achtergrondproces gebruiken. Onderzoek daarom altijd welk onderdeel de taak daadwerkelijk uitvoert.

Waarom geplande WordPress-taken te laat of niet uitvoeren

  • Weinig verkeer: er komt geen of te laat een verzoek binnen dat WP-Cron activeert.
  • WP-Cron is uitgeschakeld: bijvoorbeeld via de configuratie, zonder goed ingestelde vervangende trigger.
  • Een fout in plugin, thema of maatwerk: de geplande hook bestaat niet meer, veroorzaakt een fout of loopt vast.
  • Dubbel geplande events: maatwerk of een plugin plant dezelfde taak steeds opnieuw in.
  • Server- of verbindingsproblemen: een taak kan niet afronden door beperkte servercapaciteit, time-outs of een falende externe koppeling.
  • Een blokkade rond verzoeken: beveiligingsinstellingen, caching of een configuratiefout kunnen de benodigde aanvraag verstoren.

Een gemiste geplande publicatie is dus een signaal om te onderzoeken, geen reden om direct instellingen te wijzigen. Controleer eerst de taak, de foutmeldingen en de manier waarop de website WP-Cron triggert.

WP-Cron controleren: praktisch stappenplan

  1. Leg vast welke taak faalt. Noteer wat er had moeten gebeuren, wanneer dat moest gebeuren en welke plugin of WordPress-functie erbij hoort. Test bij een geplande publicatie bijvoorbeeld met een nieuw testbericht, niet met een belangrijk commercieel bericht.
  2. Controleer de geplande events. Gebruik een betrouwbare beheerplugin voor cron-events of, als je technische toegang hebt, WP-CLI. Let op de hooknaam, het schema, de volgende uitvoering en eventuele dubbele vermeldingen.
  3. Beoordeel de volgende uitvoertijd. Een event dat steeds in het verleden staat of niet opnieuw wordt ingepland, verdient nader onderzoek. Een event dat wel opnieuw wordt gepland maar zijn doel niet bereikt, wijst mogelijk naar de betrokken plugin of externe dienst.
  4. Bekijk Site Health en foutlogboeken. Zoek naar aanwijzingen voor PHP-fouten, time-outs, problemen met loopback-verzoeken of pluginfouten. Werk eerst op een testomgeving wanneer je conflicten gaat uitsluiten.
  5. Test het event gecontroleerd. WP-CLI biedt commando’s om cron-events te bekijken en uit te voeren. Voer geen onbekende of bedrijfskritische taak handmatig uit zonder te weten wat die doet: een import, e-mailtaak of synchronisatie kan dan dubbel lopen.
  6. Controleer dubbele planning. Bij maatwerk hoort code eerst te controleren of een event al gepland staat. De WordPress-documentatie noemt hiervoor onder meer wp_next_scheduled(). Dubbele events kunnen onnodige verwerking en een groeiende database veroorzaken.
  7. Bepaal of de trigger past bij je website. Als lage bezoekersaantallen of kritieke timing het probleem zijn, bespreek dan een externe of server-side cronjob met je hostingpartij of developer.
  8. Test na elke wijziging. Controleer niet alleen of het event in de planning staat, maar ook of het gewenste resultaat werkelijk optreedt: het bericht is gepubliceerd, de back-up bestaat of de synchronisatie is afgerond.

WP-CLI gebruiken voor geplande events

WP-CLI is een command-line-interface voor beheerders en developers. Volgens de officiële WP-CLI-documentatie kun je cron-events onder meer bekijken, uitvoeren, plannen en verwijderen. Dit is vooral nuttig wanneer je een event niet goed via de beheeromgeving kunt beoordelen.

wp cron event list
wp cron event run --due-now

Het eerste commando toont geplande events. Het tweede probeert events uit te voeren die verschuldigd zijn. Gebruik dit alleen met passende toegangsrechten en op een moment waarop je begrijpt welke processen kunnen starten. Voor een website met actieve bestellingen, formulieren of koppelingen is technische begeleiding verstandig.

Wanneer kies je voor een server-side cronjob?

Een server-side cronjob wordt door de server op een vast schema gestart en is daardoor niet afhankelijk van websitebezoek. Dat is vooral relevant als taken op tijd moeten starten of als een site weinig verkeer heeft. De exacte inrichting verschilt per hostingomgeving. Volg daarom de documentatie van je host en laat de configuratie controleren wanneer je niet verantwoordelijk bent voor serverbeheer.

Een veelgemaakte fout is WP-Cron uitschakelen via DISABLE_WP_CRON zonder alternatief. Daarmee stop je niet alleen één probleemtaak, maar de standaardtrigger voor alle geplande WordPress-events. Geplande berichten, processen van plugins en bijvoorbeeld WordPress-back-ups kunnen daardoor uitblijven.

De veilige volgorde is: richt eerst de alternatieve trigger in, controleer dat deze werkt met een onkritische taak en schakel WP-Cron pas daarna uit als dat onderdeel is van de gekozen technische oplossing. Documenteer ook wie de servertaak beheert en hoe je storingen signaleert.

Veelgemaakte fouten bij scheduled tasks

  • Een cron-event verwijderen zonder te weten welke plugin of functie ervan afhankelijk is.
  • Een probleem oplossen door WP-Cron uit te schakelen, zonder een vervangende trigger te testen.
  • Een taak direct als WP-Cron-probleem bestempelen terwijl de fout in een externe koppeling of pluginwachtrij zit.
  • Meerdere keren handmatig een taak starten, waardoor berichten, e-mails of synchronisaties dubbel kunnen worden verwerkt.
  • Na een pluginupdate niet controleren of essentiële geplande processen nog functioneren.

Checklist voor WordPress Cron-onderhoud

  • Weet welke geplande taken bedrijfskritisch zijn, zoals publicaties, back-ups en koppelingen.
  • Controleer periodiek of belangrijke events een logische volgende uitvoertijd hebben.
  • Onderzoek achterstallige of dubbele hooks voordat je ze verwijdert.
  • Controleer Site Health, foutlogboeken en pluginmeldingen bij vertragingen.
  • Test een alternatief voor WP-Cron voordat je DISABLE_WP_CRON gebruikt.
  • Test herstelprocedures rond back-ups, niet alleen de planning ervan.
  • Neem cron-controles op in je bredere technische onderhoudsproces.

WordPress Cron in relatie tot onderhoud en websitekwaliteit

Een goed functionerende planning is slechts één onderdeel van een betrouwbare WordPress-site. Ook updates, toegangsbeheer, back-ups, prestaties en foutafhandeling verdienen structurele aandacht. Dat geldt net zo goed voor fouten die bezoekers en zoekmachines tegenkomen, zoals 404- en soft-404-fouten.

Heb je een nieuwe website nodig of wil je technische keuzes direct goed inrichten? Bekijk dan hoe LYNX werkt als strategisch en creatief webdesignbureau. Voor het volledige overzicht van webdesign, SEO en online marketing kun je ook onze diensten bekijken.

Veelgestelde vragen

Wat is WP-Cron?

WP-Cron is het planningsmechanisme van WordPress voor terugkerende en eenmalige taken. Het wordt normaal gesproken bij paginaverzoeken gecontroleerd, in plaats van continu door de server te draaien.

Waarom verschijnt mijn geplande WordPress-bericht niet?

Dat kan komen doordat WP-Cron niet wordt getriggerd, is uitgeschakeld, of doordat een plugin- of serverprobleem de uitvoering verhindert. Controleer eerst de status van het bericht, geplande events en relevante foutmeldingen.

Is een server-side cronjob altijd beter dan WP-Cron?

Nee. Voor veel websites is standaard WP-Cron voldoende. Een server-side cronjob is vooral passend als timing belangrijk is, er weinig verkeer is of geplande processen betrouwbaar en voorspelbaar moeten starten.

Kan ik WP-Cron zomaar uitschakelen?

Nee. Schakel WP-Cron alleen uit wanneer er eerst een werkende alternatieve trigger is ingericht en getest. Zonder alternatief kunnen geplande WordPress-taken blijven liggen.

Hulp nodig bij een betrouwbare WordPress-inrichting? Bespreek je website of online groeikansen met LYNX Media.

Bronnen

Bespreek je website of online groeikansen met LYNX Media

Heb je een vraag over dit onderwerp, of wil je weten wat er voor jouw site nodig is? Neem contact op.

Neem contact op

Klaar om te groeien?

Laten we samenwerken en jouw online succes bouwen!

LYNX Media, gratis consult