Mettre en place le Cron de WordPress chez O2switch

WordPress intègre en son cœur une gestion des tâches planifiée afin d’exécuter à intervalles réguliers différentes tâches : sauvegardes, mises à jour, envoi d’une newsletter, etc.

Les extensions ou les développeurs peuvent ajouter des actions dans ce système afin d’ajouter leurs propres tâches.

Fonctionnement natif

Trop ou pas assez de visiteurs !?

Lorsque vous installez WordPress, par défaut, le système de cron fonctionne grâce aux visiteurs de votre site internet.

Ainsi, si vous n’avez pas de visiteurs, les tâches risquent ne pas s’exécuter au bon moment. Par exemple, si une tache de sauvegarde doit s’exécuter à 3 h du matin, mais qu’il n’y a pas de visiteurs avant 7 h du matin, alors celle-ci s’exécutera avec 4 heures de retard.

Au contraire, avec trop de visites, WordPress aura tendance à aller vérifier un peu trop souvent s’il y a des tâches à exécuter et pourrait ainsi ralentir les performances du serveur.

Afin d’exécuter les tâches en temps et en heure, il faut donc une visite ou un appel au fichier wp-cron.php régulièrement.

Autres cas de figure : MainWP et autres applicatifs

Si vous utilisez votre installation WordPress pour faire tourner le dashboard de MainWp 1, alors vous aurez probablement protégé l’accès au public via un .htpasswd. Même si ce n’est pas le cas, il est fort probable que vous soyez le seul à accéder à ce site.

Par conséquent, le cron n’est appelé que lorsque consultez le site, ce qui est problématique car MainWP a besoin de se synchroniser régulièrement avec ses sites « enfants ».

La création d’un cron côté hébergement est donc nécessaire.

Mettre en place le cron côté hébergement

Désactiver l’appel à wp-Cron via les visites

Afin d’éviter que le cron ne se déclenche ET par l’hébergement ET par les visiteurs, on va pouvoir altérer le comportement natif et désactiver ainsi la vérification du cron par le biais des visites.

Dans votre fichier wp-config.php, il va vous falloir ajouter cette ligne ;

define('DISABLE_WP_CRON', true);
Langage du code : PHP (php)

Créer une tâche chez O2switch

Dans le Cpanel, le plus rapide est de chercher la page « Tâches Cron ». J’utilise le moteur de recherche interne à cette fin.

Une fois sur la page dédiée à la création de tâche Cron, vous pouvez choisir un intervalle (par exemple 5 min), puis saisir la commande à appeler.

Pour éviter des différences d’environnement dans l’exécution des tâches entre PHP en ligne de commande et PHP via appel HTTP, je vous recommande de faire un appel cron via la fonction wget.

wget -q -O /dev/null 'https://www.monsite.fr/wp-cron.php'
Langage du code : Apache (apache)

Comme l’indique O2switch dans sa documentation, voici quelques précisions :

  • Ne pas oublier la partie -o /dev/null sinon un fichier va se générer à la racine de votre hébergement à chaque exécution de la tâche.
  • Placer l’adresse web entre guillemets
  • Ne pas oublier l’option -q pour quiet (ne rien renvoyer)

Notes de bas de page

  1. MainWP est une extension permettant de gérer à distance de multiples installations de WordPress, très pratique lorsque vous avez un parc de site dont vous gérez la maintenance et que vous devez mettre à jour régulièrement[]
Partagez cet article
Renaud
Renaud

Passionné d'internet depuis le plus jeune âge, je me suis lancé dans le développement web en 2008, et je me suis spécialisé dans WordPress depuis lors.

Je suis là pour vous aider dans votre stratégie en ligne, de la planification à la mise en œuvre et à l'optimisation technique et SEO. Travaillons ensemble pour faire de votre site web un succès !

Publications: 11

2 commentaires

    • Merci pour ton commentaire.

      Je dirais qu’à 95% je mets en place la tâche cron sur les sites que je réalise.

      Le 5% restant : soit le site n’a pas de plugin de sauvegarde, soit c’est un oubli.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.