Wat is WP-Cron en wanneer zijn "echte" cron-jobs nuttig voor jouw WordPress-website?

Wat is WP-Cron en wanneer zijn "echte" cron-jobs nuttig voor jouw WordPress-website?

Het plannen van de publicatie van berichten in WordPress , het controleren van Plugins op updates, het maken van back-ups - dit zijn allemaal typische voorbeelden van taken die herhaaldelijk voorkomen. En dit is waar WP-Cron van pas komt in WordPress . Wat dit betekent en wanneer server-side cron jobs zinvoller zijn, leggen we uit in dit artikel.

Zoals u weet, voert uw computer voortdurend en in razend tempo ontelbare berekeningen uit met enen en nullen, die allemaal een taak hebben. Veel van deze taken moeten worden herhaald. Keer op keer - zoals je tanden poetsen. Dus heb ik de volgende vraag voor u:

Als je je tanden poetsen kon automatiseren, zou je dat doen?

Je WordPress website heeft geautomatiseerde onderhoudstaken die hij regelmatig moet uitvoeren. In dit artikel bekijken we wat deze taken zijn, welke problemen ze kunnen veroorzaken en hoe Raidboxes het je supermakkelijk maakt om ze te beheren.

Telkens wanneer uw lokale machine u een popup meldt dat er een update is gevonden of een e-mail in uw inbox is aangekomen, is dat vrijwel zeker een cronjob die achter de schermen aan het werk is.

"*" geeft verplichte velden aan

Ik wil me abonneren op de nieuwsbrief om op de hoogte te blijven van nieuwe blogartikelen, ebooks, features en nieuws over WordPress. Ik kan mijn toestemming te allen tijde intrekken. Bekijk ons Privacybeleid.
Dit veld dient ter validatie en mag niet worden gewijzigd.

Wat is Cron? 

Cron is een taakplanningscommando dat is geïntegreerd in op Linux gebaseerde systemen - zoals Ubuntu, Debian of ook Mac OSX - en ook op servers. Onder Windows heet de functionaliteit "Taakplanner".

Documentatie over het gebruik van de cron-functie in deze systemen is hier te vinden: 

Wat doet Cron eigenlijk?

Het doel van cron is om repetitieve taken uit te voeren - bijvoorbeeld controleren op beschikbare updates of het verzenden en ontvangen van e-mails. Dit is meestal standaard voor u ingesteld. Maar hoe meer software u op uw machine hebt geïnstalleerd, hoe meer jobs er waarschijnlijk zullen bijkomen. De schermafbeelding hieronder toont bijvoorbeeld een cronjob in Taakplanner in Windows 10. 

Windows Cron

Vraag je je af hoe dit werkt? Cron werkt door taken te plannen op basis van de tijd van uw apparaat, en kan worden ingesteld per minuut, uur, dag, week, maand en jaar. In Cron stel je een specifieke tijd in waarop een actie moet worden uitgevoerd. 

Wat is WP-Cron?

WordPress Cron, ook bekend als WP-Cron, is een PHP-bestand dat meestal te vinden is in de root directory van uw WordPress installatie. 

Wp Cron Locatie

En wat doet WP-Cron?

Het WordPress cron bestand (wp-cron.php) bevat de geautomatiseerde taken die uw WordPress installatie moet uitvoeren. Bijvoorbeeld dingen als het controleren op updates van Plugins en WordPress of het publiceren van geplande berichten. Voor meer informatie, zie de documentatie"Wat is WP-Cron" in het officiële WordPress Plugin Handboek. 

WP-Cron versus Cron

Het belangrijkste verschil tussen WordPress cron en de cron scheduler is dat wp-cron.php alleen wordt uitgevoerd wanneer een gebruiker uw website bezoekt en een pagina laadt. Dit betekent dat WordPress een HTTP/HTTPS-verzoek van uw website nodig heeft om geplande taken uit te voeren. De cron taak wordt dan in een wachtrij geplaatst om te worden uitgevoerd. 

Je vraagt het je misschien af, en terecht:

Waarom draait WP Cron alleen als een gebruiker mijn site bezoekt! 

Nou, veel WordPress hosts bieden alleen gedeelde hosting, wat meestal betekent dat de host je geen toegang geeft tot het cron commando. Want als ze dat deden, zou je toegang hebben tot de commando's van de server en zouden alle gegevens op de server mogelijk gecompromitteerd zijn. Dus WordPress Cron is de workaround voor dit probleem.

Het tweede verschil is dat wanneer je Cron gebruikt, je specifieke tijden kunt instellen (bijvoorbeeld dagelijks 17:00 om een taak uit te voeren). In WP-Cron daarentegen, stel je intervallen in (bijvoorbeeld, 14:00 & interval X daarna). WP-Cron voert dan de taak uit op die intervallen zolang een gebruiker de site heeft bezocht. Voor meer info, zie ook: WP-Cron Scheduling begrijpen

WP-Cron en prestaties

Vanwege het feit dat WP-Cron geactiveerd wordt telkens wanneer een gebruiker je website bezoekt, kan dit problemen opleveren voor zowel kleine als grote websites. Ik zal nu uitleggen waarom.

Kleine & geografisch specifieke websites

Voor kleinere websites met weinig verkeer is het probleem dat de crontaak niet vaak genoeg wordt uitgevoerd. Voorbeeld: Wat als uw website om 2:00 uur 's nachts een back-up moet maken, maar u een kleine reisgidssite hebt die slechts in één stad actief is. In dit geval is het onwaarschijnlijk dat uw doelpubliek uw site om 2 uur 's nachts bezoekt en de cronjob activeert. En als het in het laagseizoen is, kan het zijn dat je dagenlang geen bezoeker op je site krijgt. 

Grotere websites & wereldwijd bereik

Voor sites met een groot aantal gebruikers kan WP-Cron echter prestatieproblemen veroorzaken en je site zelfs kwetsbaar maken voor een DDoS-aanval. Als je nu waarschijnlijk in paniek naar je muis of koffiekopje greep bij het horen van een DDoS-aanval: maak je niet te veel zorgen, want er is een oplossing voor alles.

Wat is de oorzaak van het probleem?

De hoeveelheid verkeer is de oorzaak van het probleem. Voor grote websites is verkeer natuurlijk een must en belangrijk voor de zaken, dus het aan banden leggen van de oproepen is geen optie om het probleem op te lossen. 

Onthoud dat elk paginabezoek resulteert in het triggeren van WP-Cron - en dat is natuurlijk belastend voor je server omdat het resources vereist.

Is er een betere manier?

Gelukkig is het antwoord "ja". We kunnen het verkeer niet gemakkelijk afremmen, geen fysieke winkels over de hele wereld openen of de bouw van WordPress veranderen. Maar we kunnen veranderen wat WP-Cron laat draaien. 

In plaats van wp-cron.php te draaien op basis van paginabezoeken, kunnen we een cron taak instellen op de hosting server die WP-Cron draait op specifieke intervallen. Ik zal je laten zien hoe je dat moet doen.

Configureer de server-side uitvoering van wp-cron.php bij Raidboxes

Om je werk zo gemakkelijk mogelijk te maken, heeft het team van Raidboxes deze functie ingebouwd in de RB-Dashboard . Je hebt letterlijk vijf klikken nodig om de server-side uitvoering van WordPress cronjobs in te stellen! Als je als ontwikkelaar tijd wilt besparen, is dit een van de gemakkelijkste dingen om te doen.

Om server-side cronjobs te activeren in je Raidboxes Dashboard ga je eerst naar de instellingen van je BOX en klik je vervolgens op "Cronjobs" in de zijbalk.

raidboxes dashboard wp-cron

Nu zie je alle instellingen voor je cronjobs. 

Cron Jobs Raidboxes


Nu moet je het volgende configureren in de cronjobs:

  1. Schakel "Run WP-Cron" uit (dit voorkomt dat WP-Cron getriggerd wordt door websitebezoekers).
  2. Zet "Run WP-Cron server-side" aan (dit voegt een cron taak toe aan de server om wp-cron.php te triggeren met de door jou opgegeven interval). 

Dat is alles wat er is!

Let op:

Als je WP-Cron uitvoeren uitschakelt en ook de optie WP-Cron server-side uitvoeren is uitgeschakeld, zullen er geen cron jobs meer worden uitgevoerd op je site.

Voor deze aanpassing is het dus niet nodig om contact op te nemen met je hoster, in het cPanel te gaan of handmatig je wp-cron.php bestand aan te passen. Bij Raidboxes hoef je maar een paar keer te klikken en kun je de cronjobs direct in de RB-Dashboard controleren en beheren. Dit betekent dat je geen extra plugin hoeft te installeren om je cronjobs weer te geven.

Als je verdere configuraties wilt maken, kun je in Raidboxes Dashboard ook het interval aangeven waarmee wp-cron.php moet worden uitgevoerd.

Cron Tijd

Er wordt veel gespeculeerd over het "beste" interval voor je cronjobs. Meestal raden we aan niet onder de 5 minuten te gaan. 

Wijzig uw WordPress cronjobs

Zonder Plugins

Als je geen plugin wilt installeren om je wp-cron.php bestand aan te passen, is dat geen probleem! Bij Raidboxes kun je je cronjobs gemakkelijk beheren via de RB-Dashboard zoals hierboven beschreven. Natuurlijk kun je ook toegang krijgen tot je cronjobs via een SSH verbinding. Zodra je verbinding hebt gemaakt met je account, kun je wp-cron.php bewerken in de root directory van je WordPress website.

Als je wilt weten hoe je je werkstroom nog efficiënter kunt maken met SSH, dan kun je het beste ons artikel"De Perfecte WordPress Ontwikkel Werkstroom met Git & SSH" bekijken. 

Met Plugins

Momenteel is de meest populaire Plugin voor het beheren van WP cronjobs"WP Crontrol". U kunt de Plugin ook rechtstreeks in uw WordPress zoeken en installeren op Plugins en installeer het. 

Plugin Wp-besturing

Op WP Crontrol's Plugin pagina op WordPress .org kunt u ook nuttige documentatie vinden over het juiste gebruik van Plugin

Stel de server handmatig in om WP-Cron te activeren (niet nodig met Raidboxes)

Met een beetje moeite kun je ook je server zelf configureren om wp-cron.php op bepaalde intervallen te laten draaien.

  1. Bewerk de wp-cron.php 

In wp-cron.php

  • Schakel je wp-cron.php bestand uit door de volgende code aan het bestand toe te voegen:
define('DISABLE_WP_CRON', 'true');

Daarna wordt wp-cron.php niet meer geactiveerd als een gebruiker je website bezoekt.

  1. Voeg een cronjob toe aan je server

In je serveromgeving

Afhankelijk van je hostingomgeving kan een van de twee onderstaande opties van toepassing zijn op jouw specifieke situatie: 

  • Als u gebruik maakt van een gedeelde WordPress hosting service, neem dan contact op met uw hosting provider en vraag hen om een server-side cron trigger toe te voegen voor wp-cron.php als u zelf geen toegang heeft tot de Linux commando's.
  • Of, als je je site met cPanel draait en toegang hebt tot je commandoregel, kijk dan in de betreffende cPanel documentatie

Het WP cron-bestand wordt gemakkelijk over het hoofd gezien bij het bouwen van een WordPress website, maar kan leiden tot merkbare fouten als uw site een behoorlijke hoeveelheid verkeer krijgt.

WordPress Bereid u voor op verkeerspieken

Verwacht je veel verkeer op je WordPress website, bijvoorbeeld als gevolg van een marketingcampagne? Dan heb je de juiste voorbereiding nodig! Onze Head of Development Matthias laat je zien welke 13 maatregelen je kunt nemen om je WordPress voor te bereiden op hoge belastingen.

Conclusie

Ik hoop dat dit artikel je helpt te begrijpen wat de WordPress cron functie is en hoe het werkt. Als u het goed gebruikt, kunt u belangrijke taken op betrouwbare wijze automatiseren, zodat u zich kunt concentreren op wat belangrijk is.

Ons doel is om het beheer van je WP cronjobs via Raidboxes Dashboard zo eenvoudig en gemakkelijk mogelijk te maken. Zo kun je door deze snelle en directe toegang de ontwikkeling en het beheer van je site verder optimaliseren.

Heeft u meer vragen over WP-Cron of ons dashboard? Laat gerust een reactie achter! Wilt u op de hoogte gehouden worden van nieuwe berichten op WordPress ? Volg ons dan op Twitter, Facebook of via onze nieuwsbrief.

Vond je het artikel leuk?

Met jouw beoordeling help je ons om onze inhoud nog verder te verbeteren.

Eén reactie op"Wat is WP-Cron en wanneer zijn "echte" cron jobs nuttig voor je WordPress website?"

  1. Ist der Eintrag DISABLE_WP_CRON tatsächlich – wie im Artikel beschrieben – in der wp-cron.php einzufügen? Ich hätte einen solchen define-Eintrag eher in der wp-config.php vermutet.
    Viele Grüße Stefan

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *.