Site versnellen door WP-Cron automatisch uit te voeren

Site versnellen door WP-Cron automatisch uit te voeren

WP Cron is een onderdeel van WordPress die terugkerende taken uitvoert die eens in de zoveel tijd moeten gebeuren. Een voorbeeld van wat WP-Cron doet is om de 12 uur kijken of er nieuwe updates zijn.

Op het moment dat iemand je website bezoekt, wordt standaard WP-Cron ook wakker geschud. Deze kijkt of er nog taken zijn die langer dan een bepaalde tijd niet gedaan zijn, zoals het controleren op updates. Als die taak uitgevoerd moet worden, wordt deze in hetzelfde proces als de websitebezoeker uitgevoerd.

Bij kleinere websites zorgt dat vrijwel nooit voor problemen; maar zeker bij grotere websites, en voornamelijk webshops, heeft WP-Cron best veel te doen. Je kunt WP-Cron dan beter automatisch laten uitvoeren; in plaats van te wachten op bezoekers, zorgt onze server zelf periodiek dat de WP-Cron taken uitgevoerd worden. Hierdoor heeft een websitebezoeker geen last meer van eventuele zware taken.

Om dit in te stellen, moet je 2 stappen uitvoeren;
- Reguliere WP-Cron uitschakelen
- WP cron instellen in een cronjob

WP-Cron uitschakelen

Open het wp-config.php bestand. Hiervoor ga je in cPanel naar de File Manager (of Bestandsbeheer).

Open vervolgens het mapje waar de WordPress installatie in staat. Als het om het hoofddomein van een pakket gaat, dan is dat altijd 'public_html'. Selecteer wp-config.php en Bewerken. Onthoud/noteer ook even welk mapje dit is; deze heb je later nodig.

Voeg het volgende toe onderaan het bestand, en kies voor 'Opslaan'.

define('DISABLE_WP_CRON', true)

Cronjob instellen voor WP-Cron

Stel nu de cronjob in. Hiervoor ga je terug naar het hoofdscherm van cPanel, en kies je onder Geavanceerd voor Cron-taken. Je kunt ook de zoekfunctie rechtsbovenin gebruiken.

Stel vervolgens de cronjob als volgt in. Ik raad aan om hem op elk halfuur te zetten; zo draait hij vaak genoeg, maar ook niet dusdanig vaak dat het averechts werkt.
Vul bij opdracht het onderstaande in:
/usr/local/bin/php /usr/local/bin/wp cron event run --due-now --path=/home/cpanelgebruiker/public_html
Let op! Vervang hierboven 'cpanelgebruiker' met de cPanel-gebruiker waar het om gaat, en de locatie van je WordPress site. Als je WordPress site niet in de public_html map staat, vul dan daar de juiste map in. Bij een Extra domein, is dat vaak simpelweg 'extradomein.nl' of 'public_html/extradomein.nl'

Klik vervolgens op Nieuwe cron-taak toevoegen.

Verifiëren of het goed ingesteld is

Om te verifiëren dat het goed ingesteld is, maak ik gebruik van de terminal met WP-CLI.

Open de terminal via cPanel; hier kun je de zoekfunctie rechtsbovenin voor gebruiken. Tik allereerst het commando

cd locatie_van_website

dus bijvoorbeeld

cd public_html

en vervolgens

wp cron event list

Hier zie je de cron taken die nog open staan, en wanneer die uitgevoerd moeten worden. Als er bij 'next_run_relative' 'now' staat, wordt de taak dus bij de volgende keer dat WP-Cron aangeroepen wordt, uitgevoerd.


Als de cron juist is ingesteld; zou het schemaatje van boven als het goed is er als volgt uit moeten zien, en is het juist ingesteld!


Contact

Liever persoonlijk contact?


Staat het antwoord op je vraag er niet tussen, of heb je liever persoonijk contact? Neem dan contact met ons op. We helpen je graag verder.