Qu’est-ce que le CRON de WordPress ?

Avez-vous déjà entendu parler du CRON de WordPress ?

Pour résumer, le CRON de WordPress vous permettra de planifier des évènements de manière automatique à une heure donnée. Si vous avez suivi toutes les bonnes pratiques sur WordPress, vous avez surement programmé des sauvegardes automatiques à l'aide d'une extension comme BackWPup.

C'est justement de ce genre d'évènements dont nous parlons ici !

 

Qu'est-ce que vous pouvez faire avec le CRON de WordPress.

Comme je le disais au début de l'article vous avez surement déjà rencontré le CRON sans le savoir, voici quelques exemples d'utilisation que vous auriez pu en faire.

Les tâches régulièrement exécutées :

  • Planification d'un job de sauvegarde de votre site (extension BackWPup par exemple).
  • Planification de l'optimisation de la base de données (extension WP-Optimize).
  • Mise à jour automatique de votre version de WordPress,

Les tâches exécutées une fois :

  • Publication d'un article planifié.
  • Planification d'un envoi d'emails (extension MailPoet).

D'autres extensions qui utilisent le CRON : Akismet, Broken Link Checker, ...

Pourquoi planifier une tâche et ne pas la lancer manuellement ? Il y a au moins deux raisons à cela.

  1. Déjà vous êtes libérés de la contrainte de devoir y penser régulièrement.
  2. Ensuite, quelque soit l'opération effectuée, il y a de fortes chances que cela ralentisse le site.

Afin de ne pas perturber l'utilisateur, il vaut mieux ralentir le site lorsqu'il y a le moins de chance d'avoir un visiteur. Ce meilleur moment, c'est la nuit.

 

Comment fonctionne le CRON de WordPress.

Le CRON n'est pas une notion purement WordPress. Vous le retrouvez en général sur tous les serveurs et à la base, il a été fait pour les serveurs de type UNIX.

Ce CRON déclenche un évènement à une heure bien précise sans que vous ayez à faire une action manuelle.

Le CRON de WordPress a un fonctionnement légèrement différent. Le fonctionnement est le suivant :

  • Planification d'une tâche à une heure donnée
  • Un visiteur vient sur votre site
  • Le CRON passe en revue toutes ses tâches et si il y en a une dont l'heure de début est dans le passé, il la déclenche.

Vous avez déjà compris l'inconvénient majeur de ce genre de fonctionnement : le manque de précision.

Effectivement si personne ne vient sur votre site, cela signifie que la tâche planifiée ne sera pas accomplie. A l'inverse, si vous avez beaucoup de visiteurs, lancer systématiquement ce script de CRON peut ralentir votre site web pour rien.

Pas de panique, je vous explique plus bas comment desactiver le CRON natif de WordPress et l'améliorer.

 

Comment améliorer le fonctionnement du CRON de WordPress.

Vous avez la possibilité d'améliorer manuellement le CRON ou par l'intermédiaire d'une extension.

Manuellement, nous allons pouvoir modifier la fréquence de déclenchement du CRON.

Commencez par desactiver le CRON natif en modifiant le fichier wp-config.php et rajoutez ces lignes dans le fichier :

define('DISABLE_WP_CRON', 'true');

Maintenant, il faut exécuter autrement le script wp-cron.php car sinon, des fonctions natives et vitales de WordPress ne fonctionneront plus (planification des articles par exemple).

Pour planifier manuellement l’exécution du script, cela dépendra de votre hébergement. Toutes les heures suffira largement pour un blog personnel (sauf exceptions).

Pour OVH, vous pouvez suivre ce lien qui explique comment planifier l’exécution d'un script ou regarder ce qui suit :

Commencez par cliquer sur hébergement dans le panneau latéral de gauche.

planifier une tache sur OVH

 

Ensuite, si vous n'avez pas déjà créé de planification, cliquez sur "Création".

creer-une-tache-sur-OVH

 

Enfin, remplissez les détails ci-dessous pour terminer la création de votre nouvelle planification. Essayez de déclencher le CRON toutes les heures au minimum car comme je le disais plus haut, le CRON pilote des fonctionnalités de base de WordPress.

detail-lors-de-la-planification-de-tache

 

Pour 1&1, cela semble un peu plus technique (ouverture de connexion SSH), vous pouvez jeter un oeil ici pour planifier le CRON manuellement sur 1&1.

Vous pouvez également améliorer le CRON automatiquement à l'aide d'extensions WordPress.

Par exemple, le plugin WP-Cron Control permet de modifier la planification des tâches. Il y a d'autres alternatives à ce plugin, pour cela, jetez un œil sur le post de WPmayor qui donne quelques exemples.

Je vous invite vivement à faire quelques essais sur votre site pour trouver quelle est la meilleurs alternative (car cela dépend de votre nombre de visiteurs, votre hébergement, ...).

 

Sources : Smashingmagazine, InmotionHosting - Image pendule CC0.

A propos de l'auteur...

Chenot Mathieu

Mathieu, passionné de web depuis 2008, est l’auteur du blog Toolsinweb.fr. Depuis cette année, il veille régulièrement sur internet à propos des technologies du web et profite de ces outils pour partager sa passion et aider les internautes.

6 commentaires pertinents à ce jour ;)

  • Sébastien dit :
    Hello Mathieu,
    Si j’ai bien compris, on pourrait traduire CRON par planificateur. Par analogie, sous Windows, on peut le comparer au planificateurs de tâches ? Non ?
  • WPFormation dit :
    Voilà un article qui me donne envie de me pencher sur le CRON ! Ce terme tout droit sorti de cronos et encore aujourd’hui méconnu.

    Merci Mathieu pour l’éclairage ;)

  • Mathieu Chenot dit :
    Salut,

    ce n’est pas réellement le planificateur car il permet d’exécuter les tâches planifiées en amont dans différentes applications.
    Par contre, le plugin WP-Cron Contrôle peut se substituer à un planificateur sachant qu’il permet de consolider l’ensemble des tâches planifiées (et donc liées au CRON) dans les différentes applications.

    A+

  • akismetuser166836971 dit :
    Pour un pense bête c’est royal tout comme l’exemple avec WpBackUp ;)
  • Mathieu Chenot dit :
    Nickel merci pour le complément !
    A+
Tweet89
Share10
Share8
Buffer81