WP Cron draaien vanuit crontab

Sommige taken in WordPress, zoals het publiceren van ingeplande artikelen en het controleren op updates, moeten op gezette tijden worden uitgevoerd. WordPress gebruikt een truc om dit soort terugkerende taken uit te voeren als websitebezoekers pagina's opvragen. Dit kan echter tot problemen leiden: je site kan onnodig als traag worden ervaren door sommige bezoekers en als je site weinig bezoekt trekt dan worden sommige taken misschien niet vaak genoeg uitgevoerd. Een beter alternatief is om te zorgen dat deze taken onafhankelijk van het bezoek aan je website worden uitgevoerd.

Een cronjob instellen

Je kunt bij NederHost 'cronjobs' configureren die op je webhostingaccount draaien. Een cronjob draait op gezette tijden volgens een in te stellen planning. Klassiek is om cronjobs in te stellen op de shell met crontab maar bij NederHost stel je je cronjobs in vanuit Mijn NederHost: gebruiksvriendelijker en bovendien zorgen we ervoor dat alle taken keurig binnen het hostingcluster worden verdeeld. Om een cronjob voor WP Cron in te stellen ga je naar de instellingen van je webhosting in Mijn NederHost en voer je de volgende stappen uit:

  • Kies bovenaan voor 'Cronjobs instellen' en selecteer 'Nieuwe cronjob'.
  • Voer als commando in: wp --path=sites/SITENAAM cron event run --all waar sites/SITENAAM het pad naar je WordPress-installatie is.
  • Kies voor een eigen crontab-schema en vul hier in: */15 * * * * (dit voert WP Cron iedere vijftien minuten uit).
  • Klik op Opslaan om de nieuwe cronjob op te slaan.

Vervolgens moet je nog wel WP Cron vanuit WordPress zelf uitschakelen.

WP Cron in WordPress zelf uitschakelen

Als je de cronjob hebt ingesteld dan is het niet meer nodig dat WordPress zelf WP Cron uitvoert. Om dit te doen moet de instelling DISABLE_WP_CRON worden gewijzigd naar de waarde true. Je kunt dit doen door zelf je wp-config.php-bestnad aan te passen of log in met SSH op shell.nederhost.nl en doe het volgende:

cd sites/SITENAAM
wp config set --raw DISABLE_WP_CRON true

Na het uitschakelen van de ingebouwde WP Cron kunnen sommige plugins een waarschuwing geven over deze configuratie: je kunt deze veilig negeren (zolang de ingestelde cronjob maar regelmatig draait).

Automatisch zo geregeld

Als je WordPress installeert vanuit Mijn NederHost dan worden sinds september 2020 bovenstaande handelingen automatisch voor je uitgevoerd. Zie voor meer informatie ook het artikel over het automatisch installeren van WordPress.