Hoe wp-cron in WordPress uit te schakelen (en in plaats daarvan een echte cron-taak te gebruiken)

Wilt u wp-cron uitschakelen en vervangen door uw eigen cron echt cronjob?

Door wp-cron te vervangen door uw eigen cron-taak, kunt u de geplande taken van uw site betrouwbaarder uitvoeren en ook de belasting van uw server verminderen voor sites met veel verkeer.

In dit bericht leggen we uit wat wp-cron is en waarom je het misschien wilt uitschakelen als je niet bekend bent met deze tactiek. Vervolgens laten we u stap voor stap zien hoe u wp-cron uitschakelt en vervangt door een echte cron-taak.

Als je al bekend bent met wat wp-cron is en waarom je het zou willen uitschakelen, dan kan dat klik hier om direct naar de tutorial te gaan.

Wat is wp-cron?

Wp-cron is een bestand/functie die verantwoordelijk is voor het beheer van de tijdgevoelige taken van je WordPress-site.

Stel dat u een bericht hebt gepland om aanstaande woensdag om 9.30 uur te publiceren. Wp-cron zorgt ervoor dat dit op tijd gebeurt (of in ieder geval zo dicht mogelijk bij “op tijd” – meer daarover in een seconde).

Naast het waarborgen van de werking van de kernfuncties van WordPress, vertrouwen veel WordPress-plug-ins ook op wp-cron om planningsgevoelige delen van de plug-in af te handelen.

Als u alle geplande taken op uw site wilt bekijken, kunt u een gratis plug-in zoals WP-Crontrol. Als je gaat naar Hulpmiddelen → Cron-gebeurtenissenkun je alle automatische taken zien die WordPress heeft gepland om uit te voeren en hoe vaak ze worden uitgevoerd:

Met de plug-in WP-Crontol kunt u taken zien voordat u wp-cron uitschakelt

Zoals de naam al doet vermoeden, komt wp-cron van het meer algemene cronschedulingssysteem dat wordt gebruikt door Unix-besturingssystemen. Wp-cron verschilt echter van die planningssystemen en wp-cron is geen echte cron-taak.

Het grote verschil is dat wp-cron alleen wordt uitgevoerd wanneer u of een andere persoon uw website bezoekt (op de front-end of in uw dashboard). Telkens wanneer iemand uw site bezoekt, zal WordPress het bestand wp-cron.php uitvoeren en controleren op geplande taken. Als er een taak is, wordt deze uitgevoerd.

Dit kan echter een probleem vormen voor sites met weinig verkeer, omdat wp-cron alleen draait als er bezoek is. Stel dat u die post hebt gepland voor woensdag om 9.30 uur, maar uw site wordt op dat moment niet bezocht. In feite ontvangt uw site het volgende bezoek pas om 11:30 uur.

Welnu, in dat scenario zou je bericht pas om 11.30 uur worden gepubliceerd omdat wp-cron niet kon worden uitgevoerd als er geen bezoeken waren. Het zou nog steeds de tijdstempel weergeven als 9.30 uur – het zou pas om 11.30 uur daadwerkelijk op uw site verschijnen.

Waarom zou je wp-cron uitschakelen?

Er zijn twee redenen om wp-cron uit te schakelen en te vervangen door uw eigen speciale cron-taak:

  1. Betrouwbaarheid – zoals het voorbeeld hierboven illustreerde, is wp-cron niet altijd betrouwbaar op sites met weinig verkeer, omdat het een websitebezoek nodig heeft om uit te voeren. Met een echte cronjob kunt u instellen dat uw taken elke X minuten worden uitgevoerd maakt niet uit wat – ook als er geen bezoek is.
  2. Uitvoering – op sites met veel verkeer houden sommige mensen niet van wp-cron omdat WordPress het bestand wp-cron.php bij bijna elk bezoek uitvoert. WordPress probeert dit te beperken door het niet vaker dan één keer per 60 seconden uit te voeren, maar er kunnen om verschillende technische redenen nog steeds prestaties optreden, zoals gelijktijdige bezoeken die beide wp-cron activeren.

Kortom, leren hoe u wp-cron kunt uitschakelen, kan nuttig zijn voor zowel sites met weinig verkeer als sites met veel verkeer, maar om verschillende redenen.

Hoe wp-cron uit te schakelen (en een echte cron-taak in te stellen)

Nu je het ‘wat’ en ‘waarom’ kent, gaan we in op het ‘hoe’. We laten u zien hoe u wp-cron kunt uitschakelen en vervolgens kunt vervangen door uw eigen servercron-taak (of een andere oplossing).

Het proces bestaat uit twee delen:

  1. U moet de ingebouwde wp-cron-functie uitschakelen, zodat WordPress niet bij elk bezoek wp-cron.php uitvoert. Om dit te doen, hoeft u alleen maar een regel code toe te voegen aan het wp-config.php-bestand van uw site.
  2. U moet uw eigen cron-taak instellen om wp-cron.php aan te roepen volgens het schema dat u hebt ingesteld. Hiermee kunt u wp-cron.php volgens een specifiek schema uitvoeren, ongeacht of uw site verkeer ontvangt.

Schakel wp-cron uit in WordPress

Om wp-cron uit te schakelen, moet u één regel code toevoegen aan het bestand wp-config.php van uw site. Omdat dit een belangrijk configuratiebestand is, raden we u ten zeerste aan een back-up van uw site te maken voordat u wijzigingen aanbrengt (of maak in ieder geval een kopie van het originele wp-config.php-bestand, zodat u de werkkopie opnieuw kunt uploaden als er iets misgaat ).

Om toegang te krijgen tot het bestand wp-config.php, kunt u:

  • Maak via FTP verbinding met uw server en zoek het bestand in de hoofdmap (dezelfde map die de mappen wp-admin en wp-content bevat).
  • Gebruik zoiets als cPanel File Manager om vanuit uw webbrowser door de bestanden van uw server te bladeren.

Zodra u een back-up van uw site en/of het originele bestand wp-config.php heeftvoeg het volgende codefragment toe boven de regel die zegt /* That's all, stop editing! Happy publishing. */

define('DISABLE_WP_CRON', true);

Zoals zo:

Hoe wp-cron in WordPress uit te schakelen

Sla de wijzigingen op en upload het bestand indien nodig opnieuw.

Zodra je dit hebt gedaan, zal WordPress niet langer het bestand wp-cron.php aanroepen wanneer mensen je website bezoeken.

Stel uw eigen cronjob in

Als je wp-cron hebt uitgeschakeld, moet je je eigen cron-taak instellen zodat de automatische taken van je site nog steeds worden uitgevoerd.

Er zijn twee manieren waarop u dit kunt doen:

  1. U kunt uw eigen cronjob op serverniveau maken met behulp van uw hosting. Het exacte proces varieert afhankelijk van de hostingprovider.
  2. U kunt een online cron-service gebruiken, dit zijn cloudgebaseerde tools waarmee u de cron-taak kunt uitvoeren met behulp van de servers van de service. Meestal hebben deze services beperkte gratis abonnementen, dus mogelijk moet u betalen. Gelukkig zijn zelfs de betaalde diensten redelijk betaalbaar (bijv. $ 12 per jaar).

Ik zal je laten zien hoe je beide kunt instellen, maar je hoeft maar één van deze methoden te gebruiken.

Stel een servercronjob in via uw hosting

Het proces van het instellen van een cron-taak voor een server varieert afhankelijk van uw host. Sommigen maken het heel gemakkelijk, anderen niet.

Ik gebruik cPanel voor dit voorbeeld omdat dit de meest populaire oplossing is, maar ik raad aan om de ondersteuningsdocumenten van uw host te raadplegen als uw host geen cPanel gebruikt of als u anderszins niet zeker weet waar u deze functie kunt vinden (of als uw gastheer het zelfs toestaat).

Log om te beginnen in op uw hostingdashboard en ga naar cPanel. In de cPanel-interface zou je een tool moeten vinden met de naam Cron-banen (of iets dergelijks). Meestal is het onder de Geavanceerd categorie, maar het kan verschillen, afhankelijk van uw host.

Selecteer dat hulpmiddel:

De cron-tool van cPanel

Zoek op de volgende pagina de Nieuwe cron-taak toevoegen sectie. U zou opties moeten zien om de timing op te geven, evenals een Opdracht.

De timing is aan jou, maar meestal is het een goed uitgangspunt om het elke 30 minuten uit te voeren, vooral bij shared hosting. Sommige gedeelde hosts laten je ze zelfs niet vaker uitvoeren.

Je kan kiezen Twee keer per uur van de Veelvoorkomende instellingen vervolgkeuzelijst, waarmee de rest van de timinginstellingen vooraf worden geconfigureerd. Of u kunt gebruiken Crontab.goeroe om de syntaxis zelf te genereren – u hoeft alleen maar de details in de overeenkomstige vakken in te pluggen.

Voeg vervolgens de volgende coderegel toe aan het Opdracht doos:

wget -q -O - >/dev/null 2>&1

Zorg ervoor dat u vervangt met de daadwerkelijke URL van uw website.

Als uw website bijvoorbeeld is https://basketballfanatic.comdan zou het juiste commando zijn:

wget -q -O - >/dev/null 2>&1

Een nieuwe cronjob aanmaken in cPanel

Zorg ervoor dat u op de klikt Nieuwe cron-taak toevoegen knop om uw cronjob op te slaan. Dan zou je het moeten zien verschijnen in de lijst met Huidige Cron-taken onderstaand.

Gebruik een online cron-service

Als uw host u geen cron-taken laat instellen of als u liever een eenvoudigere ervaring wilt, kunt u in plaats daarvan een speciale cron-service gebruiken.

Er zijn hier verschillende populaire opties, waaronder de volgende:

We gebruiken EasyCron voor deze zelfstudie.

EasyCron is gratis voor maximaal 200 dagelijkse cron-oproepen met een interval van maximaal 20 minuten (waarmee u elke dag elke 20 minuten een enkele taak kunt uitvoeren), wat voldoende zou moeten zijn voor een enkele WordPress-site. De betaalde abonnementen zijn ook redelijk betaalbaar, beginnend bij slechts $ 12 per jaar.

Starten, registreer voor een gratis account.

Klik vervolgens op de + Cronjob knop in de EasyCron-interface:

Maak een nieuwe cron-taak aan nadat je wp-cron hebt uitgeschakeld

U ziet dan een pop-up waarin u uw cronjob kunt instellen.

In de URL om te bellen veld, voer in zorg ervoor dat u deze vervangt met uw daadwerkelijke website-URL.

Dan, onder Wanneer uitvoerenKiezen Elke 30 minuten (u kunt indien nodig vaker kiezen, maar 30 minuten is een goed uitgangspunt voor de meeste websites).

Dan klikken Cron-taak maken om uw instellingen op te slaan en uw cronjob live te maken:

Een cronjob toevoegen met EasyCron

Gedaan!

Schakel wp-cron vandaag nog uit voor een betrouwbaardere taakplanning

Wp-cron is het ingebouwde WordPress-planningssysteem dat ervoor zorgt dat de verschillende taken van uw site op tijd worden uitgevoerd, zoals geplande blogposts.

De ingebouwde functie heeft echter enkele nadelen als het gaat om betrouwbaarheid (voor sites met weinig verkeer) en prestaties (voor sites met veel verkeer). Om die redenen wil je misschien wp-cron uitschakelen en vervangen door een echte cron-taak, wat we je in dit bericht hebben laten zien.

Bekijk onze volledige gids voor het verbeteren van de prestaties van WordPress voor enkele andere manieren om de prestaties van uw site te verbeteren.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Geverifieerd door MonsterInsights
Яндекс.Метрика