Parce que WordPress doit fonctionner sur toutes sortes de plateformes, OS et configurations différentes, il ne peut pas compter sur le fait qu’il y aura un service cronjob sur le serveur qui pourra gérer les tâches planifiées. C’est pourquoi les développeurs de WordPress ont créé une solution de contournement – le fichier wp-cron.php dans votre dossier principal de WordPress est exécuté chaque fois que quelqu’un charge une page. Il vérifie ensuite s’il y a une tâche planifiée à effectuer et l’exécute si nécessaire.
Cependant, dans certains cas, ce fichier peut devenir la cible d’une attaque DOS, ou les plugins de mise en cache peuvent interférer avec son exécution, ce qui peut entraîner soit une charge importante du serveur, soit les tâches planifiées peuvent ne pas s’exécuter correctement et en temps voulu. C’est pourquoi vous pouvez remplacer cette exécution constante du fichier par une véritable tâche cron.
D’abord, vous devez désactiver le script à exécuter chaque fois que quelqu’un charge une de vos pages. Pour ce faire, ouvrez le fichier wp-config.php dans votre dossier principal WordPress et ajoutez la ligne suivante avant le « /* C’est tout, arrêtez de modifier ! Bon blogage. */ » :
define('DISABLE_WP_CRON', true);
Une fois que vous avez fait cela, vous devez mettre en place une véritable tâche cron et exécuter le fichier wp-cron.php avec elle. Vous ne voulez pas le déclencher trop souvent – 30 minutes devraient être suffisantes pour la plupart des sites Web. Pour ce faire, allez dans vos Outils de site > Devs > Cron Jobs.
Puis, ajoutez la commande suivante à exécuter toutes les 30 minutes:
wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Remplacez votredomaine.com par votre nom de domaine réel. L’outil Cron jobs a certains des horaires les plus courants prédéfinis, vous pouvez donc simplement sélectionner Twice Per Hour dans le menu déroulant de l’intervalle.
.