Een cron voor WordPress

Met een Cron wordt ervoor gezorgd dat bepaalde taken worden uitgevoerd. Bijvoorbeeld het versturen van een e-mail na een registratie op de website of een bestelbon na een bestelling in een webshop. Ook andere taken binnen een website kunnen via een Cron lopen. Aan een Cron via bijvoorbeeld een WordPress website (WP-Cron) kleeft wel een nadeel. WordPress is een webapplicatie en die wordt pas acties als er een webpagina wordt opgevraagd. Dan pas wordt de Cron in WordPress actief, eerder niet. Daar merk je zelf niets van behalve dat wanneer de pagina getoond wordt deze nog wat langer aan het laden is. Maar als WP-Cron zijn werk doet nadat de pagina geladen is dan gebeurt er niets.

Een cron op de server

Vooral bij websites met wat minder activiteiten kan dit ervoor zorgen dat Crons niet (op tijd) worden uitgevoerd en dat je klant geen e-mail krijgt van zijn bestelling. Dit kan opgelost worden door een Cron te (laten) installeren bij je webhoster. Deze kan een Cron-commando plaatsen die bijvoorbeeld iedere minuut kijkt of er nog iets moet gebeuren. Op deze pagina lees je hoe dit ingesteld kan worden in CPanel en Plesk, twee veelgebruikte webbeheerprogramma’s. Je kunt het ook regelen met een externe dienst, zoals cron-job.org.

Meer performance

Ook voor website die veel bezoekers hebben kan WP Cron een verbetering zijn. Je krijgt hierdoor een behoorlijk performance verbetering. Bijvoorbeeld bij een drukke webshop draaien op de achtergrond allerlei processen die via Cron worden afgehandeld. Dat kost tijd en vertraagt je webshop. Dan kun je beter WP Cron uitzetten en dit voortaan door een Cron-job laten uitvoeren. Het voordeel is dat de processen op de achtergrond plaats vinden.

WP-Cron instellen of uitzetten.

De WP-Cron uitzetten kan via de wp-config.php file. Wanneer je ‘wp-config.php’ opent voeg je hieraan de volgende regel toe: define(‘DISABLE_WP_CRON’, true);
De exacte positie is minder belangrijk, zolang het maar voor de regel is met de volgende inhoud: /* That’s all, stop editing! Happy blogging. */
Wanneer je nu het bestand weer opslaat, zal voortaan ‘WP Cron’ niet meer vanuit de website worden opgestart.

Zelf doen of uitbesteden

Als we WP Cron uitschakelen en de Cron van ons hostingpakket de taak uit laten voeren, hebben we nog een probleem. Hoe komen we erachter dat WP-Cron ook daadwerkelijk wordt uitgevoerd. Dit kan door een WP Cron beheerplugin te installeren, zoals WP Crontrol en Advanced Cron Manager. Bij beide plugins kun je zien welke jobs er ‘in de queue’ staan en op welke tijd deze hierin geplaatst zijn.

Nu wordt niet bij iedere call naar het wp-cron.php script gelijk de hele queue leeg gemaakt. Een job die is gepland om uitgevoerd te worden op een bepaalde tijd, kan best nog een tijdje ‘in de queue’ staan, omdat er nog meer te doen is. Maar zie je na een drie, viertal aanroepen van WP Cron niets opschuiven, dan kan je er gevoeglijk vanuit gaan, dat er iets mis is. Meestal werkt dan de ‘command line’ die je bij je hoster hebt opgegeven niet goed. Ga dit herstellen of haal een expert erbij.

Over deze blog

Wij schrijven regelmatig blogs over onze producten en interesses. Ook mailen we dat regelmatig naar onze klanten en relaties. Wilt u op de hoogte blijven? Dat kan door een gratis abonnement op onze nieuwsbrief.

Offerte aanvragen?

Wij bieden producten en diensten voor uiterst concurrerende prijzen met een hoge service.