Wat is WP-Cron
WP-Cron is een ingebouwde functionaliteit in WordPress die standaard geactiveerd is. Het is ontworpen om geplande taken uit te voeren en te beheren.
Deze tool wordt gebruikt voor verschillende belangrijke taken, zoals het controleren op updates, het maken van automatische back-ups en het publiceren van ingeplande artikelen op je website.
De naam WP-Cron is afgeleid van WordPress Cron. Het woord "Cron" komt van het cron-systeem voor taakplanning op UNIX-systemen.
Hoewel het handig is dat geplande taken automatisch worden uitgevoerd, heeft WP-Cron ook enkele nadelen. In dit artikel zal ik meer vertellen over hoe het systeem werkt en welke nadelen het met zich mee kan brengen.
Wat is het?
In de bovenstaande introductie heb ik al kort uiteengezet wat WP-Cron is.
WP-Cron is een functionaliteit die geplande taken uitvoert en beheert, waardoor je niet alles handmatig hoeft te doen.
Het is dus eigenlijk een handige tijdbesparende tool van WordPress. Deze functie neemt het werk voor je uit handen, zodat jij je kunt concentreren op andere zaken. Het is als het hebben van je eigen virtuele assistent die altijd beschikbaar is en nooit een pauze neemt.
Hoe werkt het?
WP-Cron wordt geactiveerd bij elk paginabezoek. Het scant dan een lijst met geplande taken om te zien welke moeten worden uitgevoerd. Alle geplande taken die moeten worden uitgevoerd, worden vervolgens aangeroepen.
In tegenstelling tot een server-side cron werkt WP-Cron anders. Het draait niet continu, maar wordt alleen geactiveerd wanneer er een paginabezoek plaatsvindt. Dit kan echter een nadeel zijn, vooral als je website weinig bezoekers krijgt. In dat geval kunnen er planningsfouten optreden. Stel je plant een taak om 14:00 uur, maar er is geen paginabezoek tussen 12:00 en 17:00 uur, dan wordt de taak pas na 17:00 uur uitgevoerd. Het is belangrijk om hier altijd rekening mee te houden.
Als je meer informatie over WP-Cron wilt, kun je altijd de documentatie over WP-Cron op WordPress.org raadplegen.
Waarom WP-Cron gebruiken?
WordPress en diverse WordPress-plugins plannen taken in die op basis van tijd moeten worden uitgevoerd. Veel hostingproviders bieden gedeelde hosting aan, waarbij systeem-cronjobs beperkt kunnen zijn. Met behulp van de WordPress API kunnen taken echter veel gemakkelijker worden ingepland met WP-Cron.
Het mooie van WP-Cron is dat alle geplande taken in een wachtrij worden geplaatst en worden uitgevoerd bij het volgende paginabezoek. Het nadeel is dat het niet altijd precies op tijd wordt uitgevoerd, maar dat het uiteindelijk wordt uitgevoerd, is 100% zeker. WP-Cron wordt daarom onder andere gebruikt door de WordPress Core en veel plugins.
De nadelen
Tot dusver klinkt alles goed, maar zoals met alles zijn er ook enkele nadelen verbonden aan het gebruik van WP-Cron. Hier zijn de nadelen op een rijtje:
- Afhankelijk van paginabezoeken: Zoals eerder vermeld in dit artikel, wordt WP-Cron uitgevoerd wanneer een pagina wordt bezocht en geladen. Dit kan betekenen dat geplande taken op een later tijdstip worden uitgevoerd als je weinig bezoekers hebt.
- Kan een zware belasting voor de server zijn: Als je veel bezoekers hebt maar niet veel serververmogen, kan WP-Cron je server te zwaar belasten.
- Beperkte controle: Hoewel WP-Cron is ingebouwd in WordPress, is het moeilijk om in het WordPress-dashboard precies te zien welke taken moeten worden uitgevoerd. Je hebt dus helaas weinig controle.
Wat mij betreft wegen de voordelen zwaarder dan de nadelen, maar als dit voor jou anders is, kun je actie ondernemen.
Hoe schakel je het uit?
Als WP-Cron je website vertraagt of wil je een cronjob instellen via je hostingprovider omdat je te weinig bezoekers krijgt? Dan is het verstandig om WP-Cron uit te schakelen om conflicten te voorkomen. Om WP-Cron uit te schakelen, moet je een extra regel toevoegen aan het wp-config.php-bestand van je WordPress-installatie. De code die je moet toevoegen is:
define('DISABLE_WP_CRON', true);
Ik plaats deze regel persoonlijk altijd net voor de regel ‘That’s all, stop editing! Happy blogging‘.
Nadat de regel is toegevoegd, wordt WP-Cron uitgeschakeld op je website, en zullen geplande taken niet langer worden uitgevoerd bij elk paginabezoek. Als je echter direct via WP-Cron taken aanroept, zal dit nog steeds werken.
In plaats van geautomatiseerde taken via WP-Cron zul je nu handmatig een cronjob moeten instellen via je hostingomgeving. Bij een goede WordPress-hostingprovider zou dit geen probleem moeten zijn. De precieze stappen om dit in te stellen verschillen echter per hostingbedrijf, dus raadpleeg altijd de documentatie van je hostingprovider.
Ingeplande taken via WP-Cron beheren in WordPress
Standaard heb je weinig zicht op de geplande taken die via WP-Cron worden uitgevoerd op je WordPress-website. Als je meer controle wilt over deze taken en ze wilt beheren, kun je echter een handige plugin installeren. De plugin die hiervoor geschikt is, heet WP Crontol.
Nadat je de plugin hebt geïnstalleerd, kun je naar het tabblad 'Gereedschap' gaan en vervolgens naar 'Cron Events'. Daar kun je alle taken bekijken die op je WordPress-website worden uitgevoerd, inclusief hoe vaak ze worden uitgevoerd.
Als je naar het tabblad "Cron Schedules" gaat, kun je zelfs extra taken toevoegen die je wilt laten uitvoeren.