Sur un site WordPress, certaines actions sont censées se déclencher automatiquement : publication d’un article à une heure précise, envoi d’e‑mails planifiés, sauvegarde automatique d’une base de données ou encore nettoyage de données par une extension.
La plupart du temps, ces tâches passent totalement inaperçues. Elles fonctionnent en arrière-plan et le site continue de tourner normalement. Mais il arrive parfois que quelque chose se dérègle : un article programmé n’est publié qu’avec plusieurs heures de retard, une sauvegarde ne se lance pas ou une extension signale qu’une tâche planifiée n’a pas été exécutée.
Dans beaucoup de cas, l’origine du problème se trouve dans le même mécanisme : WP-Cron. Ce système interne à WordPress est chargé de déclencher les tâches automatiques du site.
Dans cet article, nous allons voir comment fonctionne WP-Cron, pourquoi WordPress utilise ce système et dans quels cas il peut atteindre ses limites.
Dans un second article, nous verrons également comment remplacer WP-Cron afin de rendre ces tâches automatiques plus fiables.
Qu’est-ce qu’une tâche automatique sur un site WordPress ?
Un site WordPress ne se contente pas d’afficher des pages aux visiteurs. En arrière-plan, il exécute également toute une série d’actions automatisées destinées à assurer le bon fonctionnement du site.
Ces actions sont appelées tâches planifiées. Elles consistent à déclencher une opération à un moment précis ou à intervalles réguliers, sans intervention manuelle de l’administrateur.
Par exemple, WordPress peut publier automatiquement un article programmé à une date et une heure définies. Certaines extensions utilisent également ce principe pour envoyer des e‑mails, effectuer des sauvegardes, nettoyer des données temporaires ou synchroniser des informations avec des services externes.
La plupart du temps, ces tâches sont invisibles pour l’utilisateur. Elles se déclenchent automatiquement et le site continue de fonctionner normalement.
Pour que ce système fonctionne, WordPress doit cependant disposer d’un mécanisme capable de déclencher ces tâches au bon moment. C’est précisément le rôle de WP-Cron, le système interne de planification utilisé par WordPress.

Le cron : le système historique des serveurs
Une origine dans les systèmes Unix
Avant d’exister dans WordPress, le principe du cron est apparu dans les systèmes Unix et Linux. Il s’agit d’un mécanisme très ancien qui permet d’exécuter automatiquement des commandes à des moments précis.
Le mot cron vient du grec chronos (« temps »). Il désigne un service système, le démon crond, qui tourne en permanence sur le serveur et exécute des tâches à des moments définis.
Un principe simple : exécuter une commande à heure fixe
Sur un serveur, un cron fonctionne comme une horloge interne. L’administrateur peut lui indiquer qu’une action doit être exécutée à une heure donnée ou selon une fréquence définie : toutes les heures, tous les jours, une fois par semaine, etc.
Par exemple, un cron peut être utilisé pour :
- lancer une sauvegarde automatique chaque nuit ;
- nettoyer des fichiers temporaires ;
- générer des rapports ;
- exécuter des scripts de maintenance.
L’avantage de ce système est sa fiabilité. Une fois la tâche programmée, elle s’exécute à l’heure prévue, indépendamment du trafic sur le site ou de la présence de visiteurs. Autrement dit, même si personne ne consulte le site à ce moment-là, la tâche sera exécutée par le serveur.
Sur de nombreux serveurs, ces tâches planifiées sont gérées directement par le système d’exploitation. Dans un environnement d’hébergement web, elles sont souvent configurables via des outils d’administration comme cPanel.
WordPress pourrait théoriquement utiliser ce mécanisme. Pourtant, le CMS a fait un autre choix : il utilise son propre système interne appelé WP-Cron. Dans la section suivante, nous allons voir pourquoi.
Pourquoi WordPress a créé WP-Cron
Un CMS conçu pour fonctionner partout
À première vue, WordPress pourrait simplement utiliser le système de cron du serveur pour exécuter ses tâches planifiées. Pourtant, le CMS utilise un mécanisme différent.
La raison est essentiellement liée à la compatibilité avec les environnements d’hébergement. WordPress a été conçu pour fonctionner sur une grande variété de configurations serveur, sans nécessiter d’accès particulier à l’administration du système.
Or, tous les hébergements ne permettent pas de configurer des tâches cron au niveau du serveur. Dans certains cas, l’utilisateur n’a tout simplement pas accès à cette configuration, ou la plateforme ne propose pas cette fonctionnalité directement.
Une solution intégrée directement dans WordPress
Pour garantir que les tâches automatiques puissent fonctionner dans tous les cas, les développeurs de WordPress ont intégré leur propre système de planification directement dans le CMS. Ce mécanisme interne est ce que l’on appelle WP-Cron.
Grâce à ce système, WordPress peut gérer des tâches planifiées sans dépendre de la configuration du serveur. En contrepartie, son fonctionnement repose sur un principe différent de celui d’un cron classique.
Dans la section suivante, nous allons voir comment WP-Cron fonctionne concrètement.
Comment WP-Cron fonctionne concrètement
Un déclenchement lors des visites du site
Contrairement à un cron serveur classique, WP-Cron ne s’exécute pas en permanence sur le serveur. Son déclenchement dépend des visites sur le site.
Concrètement, lorsque quelqu’un charge une page du site, WordPress vérifie s’il existe des tâches planifiées dont l’heure d’exécution est atteinte. Si c’est le cas, ces tâches sont alors déclenchées.
Pour cela, WordPress utilise un fichier spécifique appelé wp-cron.php. Ce fichier est chargé de lancer l’exécution des tâches planifiées lorsque WordPress détecte qu’une action doit être effectuée.

Où sont stockées les tâches programmées
Les différentes tâches programmées sont enregistrées dans la base de données du site dans la table wp_options. WordPress y stocke notamment l’heure prévue pour l’exécution de chaque tâche ainsi que l’action qui doit être réalisée.
Ce mécanisme permet à WordPress de gérer des tâches planifiées sans dépendre d’un cron au niveau du serveur. Mais il introduit aussi une particularité importante : si personne ne visite le site, aucune tâche ne sera déclenchée.
C’est précisément ce fonctionnement qui peut entraîner certains comportements inattendus, notamment sur les sites qui reçoivent peu de trafic.
À quoi sert WP-Cron dans la pratique
Sur un site WordPress, de nombreuses fonctionnalités reposent sur des tâches planifiées. C’est WP-Cron qui se charge de les déclencher au moment prévu.
Les publications programmées
L’exemple le plus connu est la publication programmée d’articles. Lorsque vous planifiez un article pour une date et une heure précises, WordPress crée une tâche qui sera exécutée au moment prévu afin de publier automatiquement le contenu.
Les tâches internes de WordPress
WP-Cron est également utilisé par WordPress lui-même pour différentes opérations internes. Le système peut par exemple vérifier la disponibilité de nouvelles mises à jour pour le cœur de WordPress, les extensions ou les thèmes.
Les tâches planifiées par les extensions
De nombreuses extensions utilisent aussi ce mécanisme pour automatiser certaines actions. Cela peut inclure l’envoi d’e‑mails, la génération de sauvegardes, la suppression de données temporaires ou encore la synchronisation avec des services externes.
La plupart du temps, ces opérations passent totalement inaperçues et contribuent simplement au bon fonctionnement du site.
Dans la section suivante, nous allons voir pourquoi ce système peut parfois montrer ses limites.
Les limites du système WP-Cron
Le fonctionnement de WP-Cron présente un avantage important : il permet à WordPress de gérer des tâches planifiées sans dépendre de la configuration du serveur. Dans la majorité des cas, ce système fonctionne correctement.
Cependant, son principe de déclenchement basé sur les visites du site peut aussi entraîner certaines limites.
Les sites avec peu de visiteurs
Comme WP-Cron est déclenché lors du chargement d’une page, une tâche planifiée ne pourra être exécutée que si quelqu’un visite le site à ce moment-là.
Sur un site peu fréquenté, il peut donc arriver qu’une tâche prévue à une heure précise ne soit exécutée que plus tard, au moment de la prochaine visite. Cela peut par exemple retarder la publication d’un article programmé ou le lancement d’une sauvegarde automatique.
L’impact des systèmes de cache
Certains systèmes de cache peuvent également modifier le comportement de WP-Cron.
Lorsque les pages du site sont servies directement depuis un cache, WordPress n’est pas toujours chargé entièrement. Dans certaines configurations, cela peut empêcher le déclenchement normal des tâches planifiées.
Les sites avec beaucoup de trafic
À l’inverse, sur des sites très fréquentés, le mécanisme de déclenchement de WP-Cron peut être sollicité très souvent. Plusieurs requêtes peuvent tenter de lancer 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 plupart des cas, WordPress gère correctement cette situation, mais sur certains sites très actifs, il peut être préférable d’utiliser un cron serveur classique pour mieux contrôler l’exécution des tâches.
Faut-il remplacer WP-Cron ?
Dans la plupart des cas, WP-Cron fonctionne très bien et ne nécessite aucune intervention. Mais sur certains projets, utiliser un cron serveur classique ou un service de type cron-job, qui exécute les tâches à intervalles réguliers indépendamment du trafic, peut devenir indispensable.
Dans l’article suivant, nous verrons deux méthodes simples pour remplacer WP-Cron et rendre ces tâches automatiques plus fiables.














Merci, vos conseils rendent WP-Cron beaucoup plus compréhensible pour les débutants.