Avez-vous des problèmes avec les actions planifiées qui ne fonctionnent pas dans WordPress ?
WordPress dispose d’un système de planification appelé wp-cron, mais il lui arrive de rater une tâche planifiée comme la publication d’articles programmés, l’envoi d’e-mails expédiés, etc. Les tâches cron appropriées exécutées par le système d’exploitation de votre serveur sont souvent plus fiables.
Dans cet article, nous allons vous afficher comment désactiver facilement wp-cron dans WordPress et couvrir deux façons dont vous pouvez configurer des tâches cron appropriées.
Pourquoi désactiver wp-cron ?
Votre site 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 de posts 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 la vue et le contrôle des tâches cron de WordPress.
Le problème est que WordPress est uniquement invité à vérifier les tâches planifiées lorsque quelqu’un visite votre site. Cela fonctionne assez bien pour la plupart des sites, mais cela peut parfois poser des problèmes pour les plus petits.
Par exemple, si votre site a un faible trafic, alors vos publications planifiées peuvent ne pas être publiées à temps. Si votre site a beaucoup de trafic, alors wp-cron sera vérifié fréquemment, ce qui peut avoir un impact sur les performances de votre site.
Maintenant, si vous voulez juste corriger l’erreur des publications programmées manquantes, alors vous pouvez utiliser l’extension gratuite Missed Planifié Publisher. Mais si vous voulez résoudre tous les problèmes d’actions planifiées, alors vous avez besoin d’un véritable travail cron.
Une véritable tâche cron est exécutée par le système d’exploitation de votre serveur hébergeur, et non par WordPress. Vous pouvez le configurer pour vérifier les tâches planifiées de manière plus fiable. Par défaut, WordPress n’a pas accès à la possibilité de configurer cela au niveau du serveur, mais vous pouvez facilement le faire en suivant notre abonné.
Cela étant dit, voyons comment désactiver facilement wp-cron et configurer un travail cron approprié. Voici ce que nous allons couvrir dans ce tutoriel :
Désactiver wp-cron dans WordPress
Pour désactiver wp-cron, vous devez modifier wp-config.php, qui est un fichier de configuration du cœur 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 de mauvaises modifications peuvent endommager votre site WordPress. Nous vous recommandons de faire d’abord une sauvegarde du fichier, juste au cas où. Vous pouvez apprendre à le faire en suivant notre guide sur la façon de modifier wp-config.php dans WordPress.
Vous devez coller le code suivant dans le fichier wp-config.php, juste avant la ligne qui dit « C’est tout, arrêtez de modifier ! Bon blog » :
define('DISABLE_WP_CRON', true);
Voici à quoi il devrait ressembler.
Ensuite, enregistrez le fichier et téléversez-le sur votre site.
WordPress ne déclenchera plus wp-cron lorsque quelqu’un visitera votre site.
Méthode 1 : Réglages d’une tâche Cron appropriée sur votre hébergeur WordPress
Maintenant, vous aurez besoin de configurer un travail cron approprié pour exécuter vos tâches planifiées. La façon de procéder varie en fonction des outils fournis par votre fournisseur d’hébergement WordPress.
La façon la plus simple de configurer des tâches cron est d’utiliser cPanel, un panneau de contrôle de site Web populaire inclus dans de nombreuses offres 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 ne vous permettent même pas de créer des tâches cron. En cas de doute, vous devez contacter votre fournisseur d’hébergement ou consulter sa documentation de support. Vous pouvez toujours utiliser un service cron tiers (voir la méthode 2).
Une fois que vous vous êtes connecté à votre compte d’hébergeur et que vous avez accédé à la page « Sites », passez à l’onglet « Avancé » en haut de la page.
Défilez vers le bas jusqu’à la section ‘Cron Jobs’ et cliquez sur le bouton ‘Manage’ à côté. Gardez à l’esprit que la position de cette section peut varier en fonction de votre fournisseur d’hébergement.
Vous accéderez à une nouvelle page où vous pourrez créer de nouvelles tâches cron.
Ne vous inquiétez pas de l’avertissement qui vous indique que vous devez avoir une bonne connaissance des commandes Linux. Une seule commande est nécessaire, et nous allons vous afficher exactement ce qu’elle est ci-dessous.
Si nécessaire, vous pouvez modifier l’adresse e-mail à laquelle les notifications des tâches cron seront envoyées. L’adresse par défaut est celle que vous avez utilisée lors de votre inscription à l’hébergeur, ce qui convient à la plupart des sites.
Défilons maintenant jusqu’à la section « Ajouter un nouveau job cron » et configurons un job cron.
Tout d’abord, vous devez décider de la fréquence d’exécution de la tâche cron. Vous pouvez choisir n’importe quelle fréquence, mais nous recommandons des intervalles de 30 minutes.
Vous devez cliquer sur le bouton « Réglages communs » et sélectionner un intervalle de temps dans la liste déroulante. Deux fois par heure’ est un bon choix pour la plupart des sites si vous n’êtes pas sûr.
Vous pouvez maintenant saisir 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
Confirmez-vous que vous remplacez « exemple.com » par l’URL de votre propre site.
Une fois que vous avez fait cela, cliquez sur le bouton « Ajouter un nouveau job cron », et vous verrez le nouveau job cron ajouté à la liste ci-dessous.
WordPress vérifiera et exécutera désormais les tâches planifiées toutes les 30 minutes et non plus lorsque quelqu’un visite votre site.
Méthode 2 : Configurer une tâche Cron appropriée à l’aide d’un service tiers
Si votre offre d’hébergement ne propose pas de tâches cron appropriées, ou si elles sont difficiles à configurer, vous pouvez utiliser un service cron tiers.
Il s’agit de services dédiés qui vous permettent de configurer des tâches cron à l’aide d’une interface simple. Voici quelques-uns des meilleurs d’entre eux :
- EasyCron propose une offre gratuite 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 job cron
- SetCronJob propose des offres payantes à partir de 10 $/an.
Pour ce tutoriel, nous utiliserons EasyCron car il est facile à utiliser, et l’offre gratuite convient à la plupart des cas d’utilisation des débutants.
Une fois que vous avez créé un compte gratuit, vous pouvez créer une nouvelle tâche cron en cliquant sur le bouton « + Cron Job » à gauche.
L’écran « Create Cron Job » (Créer une tâche Cron) s’affiche. Tout d’abord, vous devez coller l’URL suivante dans le champ « URL à appeler » :
https://example.com/wp-cron.php?doing_wp_cron
Confirmez-vous que vous remplacez « exemple.com » par l’URL de votre propre site.
Choisissez ensuite « Toutes les 30 minutes » dans la liste déroulante « Quand exécuter ». Lorsque vous avez terminé, n’oubliez pas de cliquer sur le bouton « Créer une tâche Cron » pour stocker vos réglages.
Le nouveau job cron sera ajouté à la liste et exécutera wp-cron sur votre site toutes les 30 minutes.
Bonus : Planifier automatiquement les publications de votre blog WordPress
Une fois que vous avez configuré des tâches cron appropriées, toutes vos tâches planifiées sur le blog WordPress seront exécutées sans problème. Vous pouvez même planifier automatiquement vos publications de blog.
Cela vous permettra de sélectionner un article à publier de manière aléatoire à votre date de publication présélectionnée. Pour ce faire, vous devez installer et activer l’extension PublishPress Planner.
Une fois activé, rendez-vous sur la page Planificateur » Réglages et passez à l’onglet ‘Calendrier de contenu’ en haut de la page. Cochez la case » Planifié » à côté de l’option » Statuts à afficher à l’heure de publication « .
Ensuite, vous devez choisir un format horaire pour la publication de votre article et cliquer sur le champ situé à côté de l’option » Heure de publication par défaut pour les articles créés dans le calendrier « .
Cela ouvrira un prompt à partir duquel vous pourrez choisir l’heure, la minute et le moment précis où vos publications planifiées seront publiées chaque jour. Pour avoir des idées, vous pouvez consulter notre tutoriel sur le meilleur moment pour publier un blog.
Cliquez ensuite sur le bouton « Enregistrer les modifications » pour stocker vos réglages.
Vous pouvez maintenant vous rendre dans l’éditeur de blocs où vous pouvez sélectionner l’option » Planifié » dans le menu déroulant » État de la publication « .
En savoir plus, consultez notre tutoriel sur la façon de planifier automatiquement les publications de votre blog WordPress.
Nous espérons que ce tutoriel vous a aidé à apprendre à désactiver wp-cron dans WordPress et à configurer des tâches cron appropriées. Vous pouvez également consulter notre guide étape par étape sur le référencement de WordPress ou consulter notre liste d’erreurs WordPress courantes et comment les corriger.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
Beth Alexander
Is there a way to check that the new corn job running from Control Panel is working?
WPBeginner Support
To check a cron job, we would recommend taking a look at our article below!
https://www.wpbeginner.com/plugins/how-to-view-and-control-wordpress-cron-jobs/
Administrateur
Anita Richards
I am confused.
Woocommerce recommends setting the command as without the “?doing_wp_cron” part.
What is the difference?
WPBeginner Support
Unless we hear otherwise, the ?doing_wp_cron allows for some background processing that without would not be able to do.
Administrateur
Anita Richards
Ok, that makes some sense. I guess that it must be the difference between the WP and Woo processes being run?
I ended up creating two corn jobs in cPanel one with and one without. Is that going to cause problems?
WPBeginner Support
It should be a slightly different method to achieve the same result.
It would depend on your site’s size for how multiple cron jobs would affect your hosting site, as your site becomes larger it may become an issue