
Vous avez programmé un articleUn contenu dynamique et temporel (ex. : billets de blog) aff... More pour 9h. Vous revenez à midi, et il est toujours en statut « Programmé ». Votre sauvegardeUne copie des fichiers et de la base de données de votre si... More hebdomadaire par email n’est jamais arrivée. La file d’attente de la newsletter est bloquée. Vos données d’analyse ont plusieurs jours de retard. Le coupable est presque certainement le même : le système de planification intégré de WordPress, WP-Cron.
Le problème n’est pas que WP-Cron soit une mauvaise idée. Le problème est que c’est un pseudo-cron, pas un vrai. Il repose sur la visite de quelqu’un sur votre site pour déclencher les tâches planifiées . Si votre site est calme, les tâches ne s’exécutent tout simplement pas.
WordPress utilise le fichier wp-cron.php pour gérer les tâches programmées. À chaque chargement de pageUn contenu statique (ex. : "À propos", "Contact") qui ne fa... More, WordPress vérifie si des tâches sont dues et les exécute. Cette approche est astucieuse pour les hébergements mutualisés qui n’autorisent pas les vrais cron, mais elle comporte des inconvénients majeurs .
Lorsque WP-Cron échoue, les symptômes sont généralement évidents : des articles programmés qui ne sont jamais publiés (l’erreur classique « Missed Schedule »), des mises à jour de plugins qui ne se font pas, des emails automatisés qui ne sont jamais envoyés, et des processus en arrière-plan qui s’arrêtent simplement .
Avant d’appliquer une solution, vous devez confirmer la cause.
Outils > Santé du site dans votre administration WordPress. Recherchez les avertissements concernant les événements planifiés ou les requêtes de bouclage (loopback) .wp-config.php et recherchez define('DISABLE_WP_CRON', true);. Si cette ligne existe, WP-Cron est manuellement désactivé .https://votresite.com/wp-cron.php?doing_wp_cron. Une pageUn contenu statique (ex. : "À propos", "Contact") qui ne fa... More blanche signifie que WP-Cron est accessible. Une erreur 403 ou une erreur de connexion signifie que quelque chose le bloque .La seule solution fiable à long terme est de désactiver le WP-Cron par défaut et de configurer un vrai cron côté serveur . Cela supprime la dépendance au trafic du site.
wp-config.php situé à la racine de votre WordPress./* C'est tout, ne modifiez plus ! */ :define('DISABLE_WP_CRON', true);Cette étape nécessite un accès à votre panneau de contrôle d’hébergement (cPanel, Plesk, etc.) ou à la ligne de commande.
**Option A : Utiliser cPanel (le plus courant) **
votresite.com par votre URL réelle :wget -q -O - http://votresite.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1Option B : Utiliser WP-CLI (ligne de commande)
Pour les développeurs avec un accès SSH, cette méthode est plus propre et ne dépend pas des requêtes HTTP :* * * * * cd /var/www/votre_site/htdocs; /usr/local/bin/wp cron event run --due-now > /dev/null 2>&1
Cette commande utilise WP-CLI pour exécuter les tâches dues, ce qui peut offrir de meilleurs rapports d’erreurs et ne dépend pas des configurations du serveur web .
**Option C : Utiliser PHP-CLI ***/5 * * * * cd /var/www/votre_site/htdocs; php /var/www/votre_site/htdocs/wp-cron.php > /dev/null 2>&1
Cette méthode utilise PHP pour exécuter le script cron directement sans effectuer de requête HTTP.
Si les tâches sont toujours bloquées, la ligne de commande est votre meilleur outil de diagnostic.
wp cron event list — Cela vous montre ce qui est dans la file d’attente, quand ils sont programmés, et si certains sont bloqués (next_run_relative affichera « now » ou « 1 hour ago ») .wp cron event run <nom_du_crochet> — Cela force l’exécution d’un événement spécifique et affiche les éventuelles erreurs PHP directement dans votre terminal .wp cron event run --due-now — Cela vide le backlog de toutes les tâches en retard en une seule fois .Se fier à WP-Cron est un pari sur la fiabilité de votre site. Pour tout site où les tâches planifiées sont critiques, le remplacer par un vrai cron n’est pas facultatif. C’est une configuration fondamentale qui garantit que votre site fonctionne comme vous l’attendez, que vous ayez dix visiteurs ou dix mille.