asset 1
asset 2
asset 3
asset 2
asset 21

WP-Cron : comprendre le système de tâches automatiques de WordPress

16 mars 2026

Sur un site Word­Press, cer­taines actions sont cen­sées se déclen­cher auto­ma­ti­que­ment : publi­ca­tion d’un article à une heure pré­cise, envoi d’e‑mails pla­ni­fiés, sau­ve­garde auto­ma­tique d’une base de don­nées ou encore net­toyage de don­nées par une extension.

La plu­part du temps, ces tâches passent tota­le­ment inaper­çues. Elles fonc­tionnent en arrière-plan et le site conti­nue de tour­ner nor­ma­le­ment. Mais il arrive par­fois que quelque chose se dérègle : un article pro­gram­mé n’est publié qu’avec plu­sieurs heures de retard, une sau­ve­garde ne se lance pas ou une exten­sion signale qu’une tâche pla­ni­fiée n’a pas été exécutée.

Dans beau­coup de cas, l’origine du pro­blème se trouve dans le même méca­nisme : WP-Cron. Ce sys­tème interne à Word­Press est char­gé de déclen­cher les tâches auto­ma­tiques du site.

Dans cet article, nous allons voir com­ment fonc­tionne WP-Cron, pour­quoi Word­Press uti­lise ce sys­tème et dans quels cas il peut atteindre ses limites.

Dans un second article, nous ver­rons éga­le­ment com­ment rem­pla­cer WP-Cron afin de rendre ces tâches auto­ma­tiques plus fiables.

Qu’est-ce qu’une tâche automatique sur un site WordPress ?

Un site Word­Press ne se contente pas d’afficher des pages aux visi­teurs. En arrière-plan, il exé­cute éga­le­ment toute une série d’actions auto­ma­ti­sées des­ti­nées à assu­rer le bon fonc­tion­ne­ment du site.

Ces actions sont appe­lées tâches pla­ni­fiées. Elles consistent à déclen­cher une opé­ra­tion à un moment pré­cis ou à inter­valles régu­liers, sans inter­ven­tion manuelle de l’administrateur.

Par exemple, Word­Press peut publier auto­ma­ti­que­ment un article pro­gram­mé à une date et une heure défi­nies. Cer­taines exten­sions uti­lisent éga­le­ment ce prin­cipe pour envoyer des e‑mails, effec­tuer des sau­ve­gardes, net­toyer des don­nées tem­po­raires ou syn­chro­ni­ser des infor­ma­tions avec des ser­vices externes.

La plu­part du temps, ces tâches sont invi­sibles pour l’utilisateur. Elles se déclenchent auto­ma­ti­que­ment et le site conti­nue de fonc­tion­ner normalement.

Pour que ce sys­tème fonc­tionne, Word­Press doit cepen­dant dis­po­ser d’un méca­nisme capable de déclen­cher ces tâches au bon moment. C’est pré­ci­sé­ment le rôle de WP-Cron, le sys­tème interne de pla­ni­fi­ca­tion uti­li­sé par WordPress.

Exemple de tâches planifiées visibles avec l’extension WP Crontrol
Exemple de tâches pla­ni­fiées visibles avec l’extension WP Crontrol

Le cron : le système historique des serveurs

Une origine dans les systèmes Unix

Avant d’exister dans Word­Press, le prin­cipe du cron est appa­ru dans les sys­tèmes Unix et Linux. Il s’agit d’un méca­nisme très ancien qui per­met d’exécuter auto­ma­ti­que­ment des com­mandes à des moments précis.

Le mot cron vient du grec chro­nos (« temps »). Il désigne un ser­vice sys­tème, le démon crond, qui tourne en per­ma­nence sur le ser­veur et exé­cute des tâches à des moments définis.

Un principe simple : exécuter une commande à heure fixe

Sur un ser­veur, un cron fonc­tionne comme une hor­loge interne. L’administrateur peut lui indi­quer qu’une action doit être exé­cu­tée à une heure don­née ou selon une fré­quence défi­nie : toutes les heures, tous les jours, une fois par semaine, etc.

Par exemple, un cron peut être uti­li­sé pour :

  • lan­cer une sau­ve­garde auto­ma­tique chaque nuit ;
  • net­toyer des fichiers temporaires ;
  • géné­rer des rapports ;
  • exé­cu­ter des scripts de maintenance.

L’avantage de ce sys­tème est sa fia­bi­li­té. Une fois la tâche pro­gram­mée, elle s’exécute à l’heure pré­vue, indé­pen­dam­ment du tra­fic sur le site ou de la pré­sence de visi­teurs. Autre­ment dit, même si per­sonne ne consulte le site à ce moment-là, la tâche sera exé­cu­tée par le serveur.

Sur de nom­breux ser­veurs, ces tâches pla­ni­fiées sont gérées direc­te­ment par le sys­tème d’exploitation. Dans un envi­ron­ne­ment d’hébergement web, elles sont sou­vent confi­gu­rables via des outils d’administration comme cPa­nel.

Word­Press pour­rait théo­ri­que­ment uti­li­ser ce méca­nisme. Pour­tant, le CMS a fait un autre choix : il uti­lise son propre sys­tème interne appe­lé WP-Cron. Dans la sec­tion sui­vante, nous allons voir pourquoi.

Pourquoi WordPress a créé WP-Cron

Un CMS conçu pour fonctionner partout

À pre­mière vue, Word­Press pour­rait sim­ple­ment uti­li­ser le sys­tème de cron du ser­veur pour exé­cu­ter ses tâches pla­ni­fiées. Pour­tant, le CMS uti­lise un méca­nisme différent.

La rai­son est essen­tiel­le­ment liée à la com­pa­ti­bi­li­té avec les envi­ron­ne­ments d’hébergement. Word­Press a été conçu pour fonc­tion­ner sur une grande varié­té de confi­gu­ra­tions ser­veur, sans néces­si­ter d’accès par­ti­cu­lier à l’administration du système.

Or, tous les héber­ge­ments ne per­mettent pas de confi­gu­rer des tâches cron au niveau du ser­veur. Dans cer­tains cas, l’utilisateur n’a tout sim­ple­ment pas accès à cette confi­gu­ra­tion, ou la pla­te­forme ne pro­pose pas cette fonc­tion­na­li­té directement.

Une solution intégrée directement dans WordPress

Pour garan­tir que les tâches auto­ma­tiques puissent fonc­tion­ner dans tous les cas, les déve­lop­peurs de Word­Press ont inté­gré leur propre sys­tème de pla­ni­fi­ca­tion direc­te­ment dans le CMS. Ce méca­nisme interne est ce que l’on appelle WP-Cron.

Grâce à ce sys­tème, Word­Press peut gérer des tâches pla­ni­fiées sans dépendre de la confi­gu­ra­tion du ser­veur. En contre­par­tie, son fonc­tion­ne­ment repose sur un prin­cipe dif­fé­rent de celui d’un cron classique.

Dans la sec­tion sui­vante, nous allons voir com­ment WP-Cron fonc­tionne concrè­te­ment.

Comment WP-Cron fonctionne concrètement

Un déclenchement lors des visites du site

Contrai­re­ment à un cron ser­veur clas­sique, WP-Cron ne s’exécute pas en per­ma­nence sur le ser­veur. Son déclen­che­ment dépend des visites sur le site.

Concrè­te­ment, lorsque quelqu’un charge une page du site, Word­Press véri­fie s’il existe des tâches pla­ni­fiées dont l’heure d’exécution est atteinte. Si c’est le cas, ces tâches sont alors déclenchées.

schema fonctionnement wp cron
Sché­ma sim­pli­fié du déclen­che­ment de WP-Cron lors d’une visite sur le site

Pour cela, Word­Press uti­lise un fichier spé­ci­fique appe­lé wp-cron.php. Ce fichier est char­gé de lan­cer l’exécution des tâches pla­ni­fiées lorsque Word­Press détecte qu’une action doit être effectuée.

Le fichier wp-cron.php présent à la racine de WordPress est chargé de déclencher les tâches planifiées.
Le fichier wp-cron.php pré­sent à la racine de Word­Press est char­gé de déclen­cher les tâches planifiées.

Où sont stockées les tâches programmées

Les dif­fé­rentes tâches pro­gram­mées sont enre­gis­trées dans la base de don­nées du site dans la table wp_options. Word­Press y stocke notam­ment l’heure pré­vue pour l’exécution de chaque tâche ain­si que l’action qui doit être réalisée.

Ce méca­nisme per­met à Word­Press de gérer des tâches pla­ni­fiées sans dépendre d’un cron au niveau du ser­veur. Mais il intro­duit aus­si une par­ti­cu­la­ri­té impor­tante : si per­sonne ne visite le site, aucune tâche ne sera déclenchée.

C’est pré­ci­sé­ment ce fonc­tion­ne­ment qui peut entraî­ner cer­tains com­por­te­ments inat­ten­dus, notam­ment sur les sites qui reçoivent peu de trafic.

À quoi sert WP-Cron dans la pratique

Sur un site Word­Press, de nom­breuses fonc­tion­na­li­tés reposent sur des tâches pla­ni­fiées. C’est WP-Cron qui se charge de les déclen­cher au moment prévu.

Les publications programmées

L’exemple le plus connu est la publi­ca­tion pro­gram­mée d’articles. Lorsque vous pla­ni­fiez un article pour une date et une heure pré­cises, Word­Press crée une tâche qui sera exé­cu­tée au moment pré­vu afin de publier auto­ma­ti­que­ment le contenu.

Les tâches internes de WordPress

WP-Cron est éga­le­ment uti­li­sé par Word­Press lui-même pour dif­fé­rentes opé­ra­tions internes. Le sys­tème peut par exemple véri­fier la dis­po­ni­bi­li­té de nou­velles mises à jour pour le cœur de Word­Press, les exten­sions ou les thèmes.

Les tâches planifiées par les extensions

De nom­breuses exten­sions uti­lisent aus­si ce méca­nisme pour auto­ma­ti­ser cer­taines actions. Cela peut inclure l’envoi d’e‑mails, la géné­ra­tion de sau­ve­gardes, la sup­pres­sion de don­nées tem­po­raires ou encore la syn­chro­ni­sa­tion avec des ser­vices externes.

La plu­part du temps, ces opé­ra­tions passent tota­le­ment inaper­çues et contri­buent sim­ple­ment au bon fonc­tion­ne­ment du site.

Dans la sec­tion sui­vante, nous allons voir pour­quoi ce sys­tème peut par­fois mon­trer ses limites.

Les limites du système WP-Cron

Le fonc­tion­ne­ment de WP-Cron pré­sente un avan­tage impor­tant : il per­met à Word­Press de gérer des tâches pla­ni­fiées sans dépendre de la confi­gu­ra­tion du ser­veur. Dans la majo­ri­té des cas, ce sys­tème fonc­tionne correctement.

Cepen­dant, son prin­cipe de déclen­che­ment basé sur les visites du site peut aus­si entraî­ner cer­taines limites.

Les sites avec peu de visiteurs

Comme WP-Cron est déclen­ché lors du char­ge­ment d’une page, une tâche pla­ni­fiée ne pour­ra être exé­cu­tée que si quelqu’un visite le site à ce moment-là.

Sur un site peu fré­quen­té, il peut donc arri­ver qu’une tâche pré­vue à une heure pré­cise ne soit exé­cu­tée que plus tard, au moment de la pro­chaine visite. Cela peut par exemple retar­der la publi­ca­tion d’un article pro­gram­mé ou le lan­ce­ment d’une sau­ve­garde automatique.

L’impact des systèmes de cache

Cer­tains sys­tèmes de cache peuvent éga­le­ment modi­fier le com­por­te­ment de WP-Cron.

Lorsque les pages du site sont ser­vies direc­te­ment depuis un cache, Word­Press n’est pas tou­jours char­gé entiè­re­ment. Dans cer­taines confi­gu­ra­tions, cela peut empê­cher le déclen­che­ment nor­mal des tâches planifiées.

Les sites avec beaucoup de trafic

À l’inverse, sur des sites très fré­quen­tés, le méca­nisme de déclen­che­ment de WP-Cron peut être sol­li­ci­té très sou­vent. Plu­sieurs requêtes peuvent ten­ter de lan­cer l’exécution des tâches en même temps, ce qui peut créer des appels inutiles au fichier wp-cron.php.

Dans la plu­part des cas, Word­Press gère cor­rec­te­ment cette situa­tion, mais sur cer­tains sites très actifs, il peut être pré­fé­rable d’utiliser un cron ser­veur clas­sique pour mieux contrô­ler l’exécution des tâches.

Faut-il remplacer WP-Cron ?

Dans la plu­part des cas, WP-Cron fonc­tionne très bien et ne néces­site aucune inter­ven­tion. Mais sur cer­tains pro­jets, uti­li­ser un cron ser­veur clas­sique ou un ser­vice de type cron-job, qui exé­cute les tâches à inter­valles régu­liers indé­pen­dam­ment du tra­fic, peut deve­nir indispensable.

Dans l’article sui­vant, nous ver­rons deux méthodes simples pour rem­pla­cer WP-Cron et rendre ces tâches auto­ma­tiques plus fiables.

1 Comment

  1. Mer­ci, vos conseils rendent WP-Cron beau­coup plus com­pré­hen­sible pour les débutants.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *