WordPress inclut un système de planification intégré connu sous le nom de WP-Cron, responsable de la gestion des tâches planifiées telles que la publication d'articles à une heure précise, l'envoi d'e-mails déclenchés ou l'exécution de sauvegardes automatisées.
Bien que WP-Cron soit pratique et fonctionne bien pour de nombreux sites Web, il présente des limites. Un problème courant est qu'il manque parfois des tâches planifiées, en particulier sur les sites à faible trafic.
Une alternative plus fiable consiste à configurer des tâches cron appropriées gérées par le serveur de votre fournisseur d'hébergement Web. Ces tâches cron sont indépendantes des visites de site et s'exécutent selon un calendrier précis, garantissant que les tâches sont exécutées de manière cohérente et à temps.
Chez WPBeginner, nous nous appuyons sur des tâches cron appropriées configurées directement sur notre serveur pour garantir que toutes nos tâches planifiées sont exécutées à temps, et cette approche nous a constamment donné d'excellents résultats. Cela signifie que nous n'avons pas à nous soucier des retards ou des tâches manquées, même pendant les périodes de faible trafic ou d'activité serveur élevée.
Dans cet article, nous vous montrerons comment désactiver facilement wp-cron dans WordPress et nous aborderons deux façons de configurer des tâches cron appropriées.

Pourquoi désactiver wp-cron ?
Votre site Web WordPress dispose d'un système de planification intégré appelé wp-cron. Il effectue des tâches sensibles au temps telles que la vérification des mises à jour, la publication d'articles planifiés, la création automatique de sauvegardes régulières, l'envoi d'e-mails déclenchés, et plus encore.
Vous pouvez en savoir plus dans notre guide sur comment afficher et contrôler les tâches Cron WordPress.

Le problème est que WordPress n'est invité à vérifier les tâches planifiées que lorsque quelqu'un visite votre site Web. Cela fonctionne assez bien pour la plupart des sites, mais cela peut parfois causer des problèmes pour les plus petits.
Par exemple, si votre site a peu de trafic, alors vos publications programmées peuvent ne pas être publiées à temps. Si votre site Web reçoit beaucoup de trafic, wp-cron sera vérifié fréquemment, ce qui peut avoir un impact sur les performances de votre site Web.
Maintenant, si vous voulez juste corriger l'erreur de publication programmée manquante, vous pouvez utiliser le plugin gratuit Missed Scheduled Publisher. Mais si vous voulez résoudre tous les problèmes d'actions programmées, vous avez besoin d'une vraie tâche cron.
Une vraie tâche cron est exécutée par le système d'exploitation du serveur de votre hébergeur Web, pas par WordPress. Vous pouvez la configurer pour vérifier les tâches programmées de manière plus fiable. Par défaut, WordPress n'a pas accès pour configurer cela au niveau du serveur, mais vous pouvez facilement le faire en suivant notre tutoriel.
Cela étant dit, examinons comment désactiver facilement wp-cron et configurer une tâche cron appropriée. Voici ce que nous allons couvrir dans ce tutoriel :
- Désactiver wp-cron dans WordPress
- Méthode 1 : Configurer une tâche cron appropriée sur votre hébergeur WordPress
- Méthode 2 : Configurer une tâche cron appropriée à l'aide d'un service tiers
- Bonus : Planifier automatiquement vos publications de blog WordPress
Désactiver wp-cron dans WordPress
Pour désactiver wp-cron, vous devez modifier wp-config.php, qui est un fichier de configuration principal de WordPress. Il est situé dans le dossier racine de votre site WordPress, et vous devrez utiliser un client FTP ou le gestionnaire de fichiers de votre panneau de contrôle d'hébergement Web.
Ce fichier contient beaucoup d'informations sensibles, et apporter les mauvaises modifications peut casser votre site WordPress. Nous vous recommandons de faire une sauvegarde du fichier d'abord, juste au cas où. Vous pouvez apprendre comment en suivant notre guide sur comment modifier wp-config.php dans WordPress.
Vous devrez coller le code suivant dans le fichier wp-config.php juste avant la ligne qui dit : « C'est tout, arrêtez d'éditer ! Bon blogging » :
define('DISABLE_WP_CRON', true);
Voici à quoi cela devrait ressembler.

Après cela, enregistrez le fichier et téléchargez-le à nouveau sur votre site web.
WordPress ne déclenchera plus wp-cron lorsque quelqu'un visitera votre site web.
Méthode 1 : Configurer une tâche cron appropriée sur votre hébergeur WordPress
Maintenant, vous devrez configurer un cron job approprié pour exécuter vos tâches planifiées. La façon dont vous le ferez variera en fonction des outils fournis par votre fournisseur d'hébergement WordPress.
La manière la plus simple de configurer des tâches cron est d'utiliser cPanel, un panneau de contrôle de site web populaire inclus avec de nombreux plans d'hébergement web, y compris Bluehost. Nous utiliserons le cPanel de Bluehost dans ce tutoriel.
Note : Certains hébergeurs n'utilisent pas cPanel, et certains peuvent même ne pas vous permettre de créer de tâches cron. En cas de doute, vous devriez contacter votre fournisseur d'hébergement ou consulter sa documentation d'assistance. Vous pouvez toujours utiliser un service cron tiers (voir méthode 2).
Une fois que vous vous connectez à votre compte d'hébergement et que vous accédez à la page « Sites web », passez à l'onglet « Avancé » en haut.
Ici, faites défiler jusqu'à la section « Tâches Cron » et cliquez sur le bouton « Gérer » à côté. Gardez à l'esprit que la position de cette section peut varier en fonction de votre fournisseur d'hébergement.

Cela vous mènera à une nouvelle page où vous pourrez créer de nouvelles tâches cron.
Ne vous inquiétez pas de l'avertissement que vous verrez concernant la nécessité d'une bonne connaissance des commandes Linux. Une seule commande est nécessaire, et nous vous montrerons exactement laquelle ci-dessous.
Si vous le souhaitez, vous pouvez modifier l'adresse e-mail où les notifications de tâches cron seront envoyées. L'adresse par défaut est celle que vous avez utilisée lors de votre inscription à votre hébergement web, et cela fonctionnera bien sur la plupart des sites web.

Maintenant, faisons défiler jusqu'à la section « Ajouter une nouvelle tâche Cron » et configurons une tâche cron.
Tout d'abord, vous devez décider à quelle fréquence la tâche cron sera exécutée. Cela peut être ce que vous voulez, mais nous recommandons des intervalles de 30 minutes.
Vous devrez cliquer sur le bouton « Paramètres courants » et sélectionner un intervalle de temps dans le menu déroulant. « Deux fois par heure » est un bon choix pour la plupart des sites si vous n'êtes pas sûr.

Maintenant, vous pouvez entrer la commande qui demandera à WordPress d'exécuter ses tâches planifiées. Vous devez coller le code suivant dans le champ « Commande » :
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Assurez-vous de remplacer « example.com » par l'URL de votre propre site web.
Une fois que vous avez fait cela, cliquez sur le bouton « Ajouter un nouveau Cron Job », et vous verrez le nouveau cron job ajouté à la liste ci-dessous.

WordPress vérifiera et exécutera maintenant les tâches planifiées toutes les 30 minutes au lieu de lorsque quelqu'un visite votre site web.
Méthode 2 : Configurer une tâche cron appropriée à l'aide d'un service tiers
Si votre plan d'hébergement n'offre pas de cron jobs appropriés, ou s'ils sont difficiles à configurer, vous pouvez utiliser un service de cron tiers à la place.
Ce sont des services dédiés qui vous permettent de configurer des cron jobs à l'aide d'une interface simple. Voici quelques-uns des meilleurs :
- EasyCron propose un plan gratuit qui nécessite un renouvellement mensuel
- cron-job.org est un service gratuit
- Cronitor est gratuit si vous n'avez besoin que d'un seul cron job
- SetCronJob propose des plans payants à partir de 10 $/an
Pour ce tutoriel, nous utiliserons EasyCron car il est facile à utiliser, et le plan gratuit convient à la plupart des cas d'utilisation pour débutants.
Une fois que vous avez créé un compte gratuit, vous pouvez créer un nouveau cron job en cliquant sur le bouton « + Cron Job » sur la gauche.

Cela ouvrira l'écran « Créer un Cron Job ». Tout d'abord, vous devez coller l'URL suivante dans le champ « URL à appeler » :
https://example.com/wp-cron.php?doing_wp_cron
Assurez-vous de remplacer « example.com » par l’URL de votre propre site.

Après cela, vous devriez choisir « Toutes les 30 minutes » dans le menu déroulant « Quand exécuter ». Lorsque vous avez terminé, n’oubliez pas de cliquer sur le bouton « Créer un Cron Job » pour enregistrer vos paramètres.
Le nouveau cron job sera ajouté à la liste et exécutera wp-cron sur votre site Web toutes les 30 minutes.

Bonus : Planifier automatiquement vos publications de blog WordPress
Une fois que vous avez configuré des cron jobs appropriés, toutes vos tâches planifiées sur le blog WordPress seront effectuées sans accroc. Vous pouvez même planifier automatiquement vos articles de blog.
Cela vous permettra de choisir un article à publier aléatoirement à votre date de publication présélectionnée. Pour ce faire, vous devez installer et activer le plugin PublishPress Planner.
Après activation, visitez la page Planner » Paramètres et basculez vers l'onglet ‘Calendrier de contenu’ en haut. Ici, cochez la case ‘Planifié’ à côté de l'option ‘Statuts à afficher pour l'heure de publication’.

Après cela, vous devrez choisir un format d'heure pour la publication de votre article et cliquer sur le champ à côté de l'option ‘Heure de publication par défaut pour les éléments créés dans le calendrier’.
Cela ouvrira une invite à partir de laquelle vous pourrez choisir l'heure, la minute et la seconde spécifiques pour la publication quotidienne de vos articles planifiés. Pour des idées, vous pouvez consulter notre tutoriel sur quand est le meilleur moment pour publier un blog.
Ensuite, cliquez sur le bouton « Enregistrer les modifications » pour sauvegarder vos paramètres.

Vous pouvez maintenant vous rendre dans l'éditeur de blocs où vous pouvez sélectionner l'option ‘Planifié’ dans le menu déroulant ‘Statut de l'article’.
Pour plus d'informations, consultez notre tutoriel sur comment planifier automatiquement vos articles de blog WordPress.

Nous espérons que ce tutoriel vous a aidé à apprendre comment désactiver wp-cron dans WordPress et à configurer correctement les tâches cron. Vous pourriez également vouloir consulter notre tutoriel sur comment ajouter un utilisateur administrateur dans WordPress avec FTP et notre guide pour débutants sur comment visualiser et contrôler les tâches cron.
Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Jiří Vaněk
Merci pour les étapes précises. J'ai utilisé la méthode 1, où j'ai désactivé CRON via wp-config, et comme j'ai mon propre serveur, rien ne m'empêchait d'utiliser le CRON du serveur pour les tâches planifiées. La seule chose dont je n'étais pas sûr avant était quelle URL utiliser pour CRON. Donc, merci aussi pour la commande spécifique que je pouvais entrer dans CRON.
Phil Daley
J'ai un site woocommerce qui a besoin d'exécuter une autre tâche cron toutes les 5 minutes
Si je suis la méthode 1 – dois-je également configurer wp_cron.php pour qu'il s'exécute au moins toutes les 5 minutes (ou plus rapidement) ? ou toutes les 30 minutes sera-t-il toujours acceptable ?
Support WPBeginner
La méthode de notre article affecterait toutes les tâches cron de votre site. Lorsque vous avez besoin qu'une tâche cron spécifique se produise plus souvent, nous vous recommandons de vérifier auprès du support de ce qui nécessite la tâche cron et ils pourront vous aider à la configurer !
Admin
kzain
C'est un excellent article ! Désactiver wp-cron et utiliser des tâches cron externes est quelque chose que j'envisage depuis un moment pour améliorer la vitesse du site web. Les instructions claires sur la désactivation de wp-cron et la configuration des tâches externes sont géniales. Merci de partager !
Paula Coombes
Hello,

I’d just like to say thank you so much for this straightforward help.
I used Method 1.
I’ve carried out your instructions after reading everything at least 3 times and, for the first time ever, my WP health state has no problems!!
Thanks again.
Support WPBeginner
You’re welcome, glad our guide was helpful!
Admin
Beth Alexander
Y a-t-il un moyen de vérifier que la nouvelle tâche cron exécutée depuis le panneau de contrôle fonctionne ?
Support WPBeginner
Pour vérifier une tâche cron, nous vous recommandons de consulter notre article ci-dessous !
https://014.leahstevensyj.workers.dev/plugins/how-to-view-and-control-wordpress-cron-jobs/
Admin
Anita Richards
Je suis confuse.
Woocommerce recommande de définir la commande sans la partie « ?doing_wp_cron ».
Quelle est la différence ?
Support WPBeginner
Sauf indication contraire, le ?doing_wp_cron permet un traitement en arrière-plan que sans il ne serait pas possible de faire.
Admin
Anita Richards
Ok, cela a un peu de sens. Je suppose que cela doit être la différence entre les processus WP et Woo qui s'exécutent ?
J'ai fini par créer deux tâches cron dans cPanel, une avec et une sans. Cela va-t-il causer des problèmes ?
Support WPBeginner
Ce devrait être une méthode légèrement différente pour obtenir le même résultat.
Cela dépendra de la taille de votre site pour savoir comment plusieurs tâches cron affecteraient votre site d'hébergement, car plus votre site devient grand, plus cela peut devenir un problème.