{"id":412,"date":"2026-02-27T10:30:31","date_gmt":"2026-02-27T09:30:31","guid":{"rendered":"https:\/\/ssdhosters.com\/blog\/?p=412"},"modified":"2026-08-25T12:32:16","modified_gmt":"2026-08-25T10:32:16","slug":"wp-cron-ne-fonctionne-pas","status":"publish","type":"post","link":"https:\/\/ssdhosters.com\/blog\/wp-cron-ne-fonctionne-pas\/","title":{"rendered":"WP-Cron ne fonctionne pas : diagnostic WordPress en 2026"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Une publication planifi\u00e9e reste en attente, une sauvegarde ne d\u00e9marre plus ou une synchronisation s\u2019ex\u00e9cute avec plusieurs heures de retard. Le message \u00ab <strong>WP-Cron ne fonctionne pas<\/strong> \u00bb d\u00e9crit le sympt\u00f4me, pas encore la cause. Le d\u00e9clencheur peut manquer, le hook peut \u00e9chouer, une requ\u00eate sortante peut \u00eatre bloqu\u00e9e ou une t\u00e2che peut simplement attendre la prochaine visite.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un bon diagnostic s\u00e9pare donc quatre niveaux : l\u2019\u00e9v\u00e9nement existe-t-il, est-il arriv\u00e9 \u00e0 \u00e9ch\u00e9ance, WordPress peut-il le d\u00e9clencher et la fonction appel\u00e9e termine-t-elle son travail ? Cette distinction \u00e9vite de supprimer une file saine ou de lancer plusieurs fois une op\u00e9ration non idempotente.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Sommaire<\/h2><nav><ul><li class=\"\"><a href=\"#la-reponse-courte\">La r\u00e9ponse courte<\/a><\/li><li class=\"\"><a href=\"#principes-qui-restent-valables\">Principes qui restent valables<\/a><\/li><li class=\"\"><a href=\"#comprendre-les-quatre-etats-possibles\">Comprendre les quatre \u00e9tats possibles<\/a><\/li><li class=\"\"><a href=\"#verifier-le-fuseau-horaire-avant-le-retard\">V\u00e9rifier le fuseau horaire avant le retard<\/a><\/li><li class=\"\"><a href=\"#inventorier-la-file-sans-la-modifier\">Inventorier la file sans la modifier<\/a><\/li><li class=\"\"><a href=\"#identifier-le-proprietaire-du-hook\">Identifier le propri\u00e9taire du hook<\/a><\/li><li class=\"\"><a href=\"#tester-un-evenement-de-facon-controlee\">Tester un \u00e9v\u00e9nement de fa\u00e7on contr\u00f4l\u00e9e<\/a><\/li><li class=\"\"><a href=\"#lire-lerreur-au-bon-endroit\">Lire l\u2019erreur au bon endroit<\/a><\/li><li class=\"\"><a href=\"#verifier-le-declenchement-en-boucle-locale\">V\u00e9rifier le d\u00e9clenchement en boucle locale<\/a><\/li><li class=\"\"><a href=\"#distinguer-faible-trafic-et-panne\">Distinguer faible trafic et panne<\/a><\/li><li class=\"\"><a href=\"#remplacer-le-declencheur-sans-creer-un-trou\">Remplacer le d\u00e9clencheur sans cr\u00e9er un trou<\/a><\/li><li class=\"\"><a href=\"#traiter-les-doublons-avec-prudence\">Traiter les doublons avec prudence<\/a><\/li><li class=\"\"><a href=\"#surveiller-un-resultat-metier-pas-seulement-une-horloge\">Surveiller un r\u00e9sultat m\u00e9tier, pas seulement une horloge<\/a><\/li><li class=\"\"><a href=\"#ordre-de-diagnostic-recommande\">Ordre de diagnostic recommand\u00e9<\/a><\/li><li class=\"\"><a href=\"#les-erreurs-a-eviter\">Les erreurs \u00e0 \u00e9viter<\/a><\/li><li class=\"\"><a href=\"#checklist-wp-cron-ne-fonctionne-pas\">Checklist WP-Cron ne fonctionne pas<\/a><\/li><li class=\"\"><a href=\"#conclusion\">Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 id=\"la-reponse-courte\" class=\"wp-block-heading\">La r\u00e9ponse courte<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Commencez par relever l\u2019heure WordPress, le hook concern\u00e9, sa prochaine ex\u00e9cution et sa r\u00e9currence. V\u00e9rifiez ensuite si d\u2019autres \u00e9v\u00e9nements sont \u00e9galement en retard. Testez uniquement le hook vis\u00e9 dans un environnement contr\u00f4l\u00e9, observez l\u2019erreur produite et contr\u00f4lez l\u2019effet m\u00e9tier attendu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sur un site peu visit\u00e9 ou soumis \u00e0 un cache agressif, un d\u00e9clenchement par un planificateur fiable peut \u00eatre pertinent. Ne d\u00e9sactivez toutefois le d\u00e9clenchement natif qu\u2019apr\u00e8s avoir prouv\u00e9 que le nouveau m\u00e9canisme appelle effectivement WordPress. Ne publiez jamais dans un article les URL techniques, cl\u00e9s, journaux ou chemins utilis\u00e9s pour cette configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La documentation officielle rappelle que <a href=\"https:\/\/developer.wordpress.org\/plugins\/cron\/\" rel=\"noopener\">WP-Cron v\u00e9rifie les t\u00e2ches lors des chargements de page<\/a> : ce n\u2019est pas un d\u00e9mon qui tourne continuellement.<\/p>\n\n\n\n<h2 id=\"principes-qui-restent-valables\" class=\"wp-block-heading\">Principes qui restent valables<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le principe de WP-Cron n\u2019a pas chang\u00e9 : WordPress stocke des \u00e9v\u00e9nements, d\u00e9tecte ceux qui sont dus et appelle leurs hooks lorsqu\u2019une occasion de d\u00e9clenchement se pr\u00e9sente. Une heure planifi\u00e9e est donc une \u00e9ch\u00e9ance, pas une garantie d\u2019ex\u00e9cution \u00e0 la seconde.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les usages, eux, sont devenus plus nombreux. Publications diff\u00e9r\u00e9es, renouvellements, e-mails, files e-commerce, imports et sauvegardes peuvent s\u2019appuyer sur ce m\u00e9canisme ou sur une couche qui lui ressemble. Cette diversit\u00e9 rend le diagnostic par supposition encore moins fiable.<\/p>\n\n\n\n<h2 id=\"comprendre-les-quatre-etats-possibles\" class=\"wp-block-heading\">Comprendre les quatre \u00e9tats possibles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Premier cas : aucun \u00e9v\u00e9nement n\u2019est enregistr\u00e9. Le code d\u2019activation, la configuration ou l\u2019extension n\u2019a peut-\u00eatre jamais planifi\u00e9 le hook. Deuxi\u00e8me cas : l\u2019\u00e9v\u00e9nement existe, mais sa date est encore future ou l\u2019heure affich\u00e9e est mal interpr\u00e9t\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troisi\u00e8me cas : l\u2019\u00e9v\u00e9nement est d\u00fb, mais aucune requ\u00eate ne d\u00e9clenche correctement WP-Cron. Quatri\u00e8me cas : le hook d\u00e9marre et \u00e9choue pendant son traitement. Dans ce dernier cas, modifier la fr\u00e9quence ne corrige ni une exception PHP, ni une API distante indisponible, ni un verrou applicatif.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9crivez l\u2019\u00e9tat observ\u00e9 avant toute action. \u00ab Hook absent \u00bb, \u00ab prochaine ex\u00e9cution d\u00e9pass\u00e9e \u00bb et \u00ab ex\u00e9cution lanc\u00e9e mais r\u00e9sultat absent \u00bb conduisent \u00e0 des pistes diff\u00e9rentes.<\/p>\n\n\n\n<h2 id=\"verifier-le-fuseau-horaire-avant-le-retard\" class=\"wp-block-heading\">V\u00e9rifier le fuseau horaire avant le retard<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Comparez l\u2019heure actuelle, le fuseau configur\u00e9 dans WordPress et la valeur affich\u00e9e par l\u2019outil d\u2019inspection. Les timestamps internes et les dates pr\u00e9sent\u00e9es \u00e0 l\u2019administrateur ne sont pas toujours rendus dans le m\u00eame format.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un d\u00e9calage d\u2019une ou deux heures autour d\u2019un changement saisonnier ne prouve pas que la file est bloqu\u00e9e. Utilisez une r\u00e9f\u00e9rence explicite, notez le fuseau et calculez le retard r\u00e9el. Pour une publication programm\u00e9e, v\u00e9rifiez aussi son statut et sa date locale.<\/p>\n\n\n\n<h2 id=\"inventorier-la-file-sans-la-modifier\" class=\"wp-block-heading\">Inventorier la file sans la modifier<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Une inspection en lecture seule doit montrer au minimum le nom du hook, la prochaine ex\u00e9cution, le retard \u00e9ventuel et la r\u00e9currence. <a href=\"https:\/\/developer.wordpress.org\/cli\/commands\/cron\/event\/\" rel=\"noopener\">WP-CLI documente `wp cron event list`<\/a> pour lister les \u00e9v\u00e9nements et choisir les champs utiles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cherchez un motif plut\u00f4t qu\u2019une seule ligne. Si presque tous les hooks sont en retard, suspectez le m\u00e9canisme de d\u00e9clenchement. Si un seul hook stagne, examinez son extension, ses arguments, ses verrous et ses d\u00e9pendances. Si des milliers d\u2019occurrences identiques existent, la planification peut \u00eatre dupliqu\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ne copiez pas une liste brute dans un ticket public. Elle peut r\u00e9v\u00e9ler des noms d\u2019extensions, des int\u00e9grations ou des identifiants m\u00e9tier.<\/p>\n\n\n\n<h2 id=\"identifier-le-proprietaire-du-hook\" class=\"wp-block-heading\">Identifier le propri\u00e9taire du hook<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reliez le hook au c\u0153ur WordPress, \u00e0 une extension, au th\u00e8me ou \u00e0 un d\u00e9veloppement sp\u00e9cifique. Consultez la documentation et le code maintenu ; ne d\u00e9duisez pas la fonction \u00e0 partir d\u2019un nom ressemblant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La documentation de planification recommande de v\u00e9rifier <a href=\"https:\/\/developer.wordpress.org\/plugins\/cron\/scheduling-wp-cron-events\/\" rel=\"noopener\">`wp_next_scheduled()` avant d\u2019ajouter un \u00e9v\u00e9nement r\u00e9current<\/a>. Sans cette garde, un code ex\u00e9cut\u00e9 plusieurs fois peut accumuler des doublons.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avant de supprimer quoi que ce soit, d\u00e9terminez aussi ce qui d\u00e9senregistre proprement l\u2019\u00e9v\u00e9nement lors d\u2019une d\u00e9sactivation. Un hook orphelin peut signaler une ancienne extension, mais il faut le prouver.<\/p>\n\n\n\n<h2 id=\"tester-un-evenement-de-facon-controlee\" class=\"wp-block-heading\">Tester un \u00e9v\u00e9nement de fa\u00e7on contr\u00f4l\u00e9e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9ez une sauvegarde appropri\u00e9e et pr\u00e9f\u00e9rez un staging repr\u00e9sentatif lorsque la t\u00e2che modifie des commandes, des abonnements, des fichiers ou des services externes. Neutralisez e-mails, paiements et webhooks avant le test.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WP-CLI permet d\u2019ex\u00e9cuter un hook choisi ou les \u00e9v\u00e9nements dus. Commencez par la cible la plus \u00e9troite. Une commande qui \u00ab s\u2019ex\u00e9cute \u00bb prouve seulement que l\u2019appel a \u00e9t\u00e9 tent\u00e9 ; v\u00e9rifiez ensuite le r\u00e9sultat attendu dans l\u2019application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9vitez de lancer plusieurs fois une t\u00e2che inconnue. Certaines op\u00e9rations sont idempotentes, d\u2019autres peuvent envoyer deux messages, cr\u00e9er deux exports ou retraiter une transaction.<\/p>\n\n\n\n<h2 id=\"lire-lerreur-au-bon-endroit\" class=\"wp-block-heading\">Lire l\u2019erreur au bon endroit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Corr\u00e9lez l\u2019heure du test avec les journaux applicatifs et la sant\u00e9 du site. Cherchez une erreur fatale, une limite de m\u00e9moire, un d\u00e9lai d\u00e9pass\u00e9, une r\u00e9ponse HTTP, un verrou non lib\u00e9r\u00e9 ou une d\u00e9pendance manquante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Activez une collecte de diagnostic limit\u00e9e dans le temps et retirez-la apr\u00e8s l\u2019analyse. Ne laissez pas l\u2019affichage des erreurs expos\u00e9 aux visiteurs. Masquez les donn\u00e9es personnelles, jetons, URL priv\u00e9es et d\u00e9tails d\u2019infrastructure avant tout partage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une t\u00e2che qui d\u00e9passe syst\u00e9matiquement la dur\u00e9e acceptable doit parfois \u00eatre d\u00e9coup\u00e9e en lots avec reprise, plut\u00f4t que relanc\u00e9e plus souvent.<\/p>\n\n\n\n<h2 id=\"verifier-le-declenchement-en-boucle-locale\" class=\"wp-block-heading\">V\u00e9rifier le d\u00e9clenchement en boucle locale<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WP-Cron peut \u00eatre appel\u00e9 par une requ\u00eate que le site initie vers lui-m\u00eame. Une r\u00e9solution DNS incoh\u00e9rente, une authentification globale, une r\u00e8gle de pare-feu ou un certificat invalide peut perturber cette boucle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilisez les diagnostics WordPress et un test autoris\u00e9 pour confirmer la r\u00e9ponse, sans d\u00e9sactiver durablement une protection. Si une barri\u00e8re est n\u00e9cessaire sur un staging, pr\u00e9voyez une exception contr\u00f4l\u00e9e ou un autre d\u00e9clencheur pour les t\u00e2ches de test.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une page servie par le cache n\u2019implique pas n\u00e9cessairement que PHP a re\u00e7u une occasion de v\u00e9rifier la file. Mesurez le m\u00e9canisme r\u00e9el.<\/p>\n\n\n\n<h2 id=\"distinguer-faible-trafic-et-panne\" class=\"wp-block-heading\">Distinguer faible trafic et panne<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Puisque WP-Cron d\u00e9pend des occasions de d\u00e9clenchement, un site sans visite peut ex\u00e9cuter une t\u00e2che apr\u00e8s son heure pr\u00e9vue. La documentation officielle cite pr\u00e9cis\u00e9ment ce retard possible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sur un blog o\u00f9 quelques minutes importent peu, le comportement natif peut suffire. Pour des \u00e9ch\u00e9ances importantes, un planificateur externe ou syst\u00e8me peut appeler r\u00e9guli\u00e8rement le point d\u2019entr\u00e9e pr\u00e9vu. Sa fr\u00e9quence doit correspondre au besoin m\u00e9tier, pas \u00e0 un chiffre universel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avant de basculer, documentez qui surveille ce d\u00e9clencheur, comment une alerte appara\u00eet et comment le comportement natif sera restaur\u00e9 si n\u00e9cessaire.<\/p>\n\n\n\n<h2 id=\"remplacer-le-declencheur-sans-creer-un-trou\" class=\"wp-block-heading\">Remplacer le d\u00e9clencheur sans cr\u00e9er un trou<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La s\u00e9quence s\u00fbre est simple : pr\u00e9parer le nouveau d\u00e9clencheur, tester son appel, observer plusieurs cycles, puis seulement d\u00e9sactiver le d\u00e9clenchement sur visite si l\u2019architecture le demande. Inversez la s\u00e9quence pour revenir en arri\u00e8re.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ne confondez pas la constante de configuration qui d\u00e9sactive l\u2019appel automatique avec la suppression de la file. Les \u00e9v\u00e9nements restent des donn\u00e9es WordPress ; vous changez la mani\u00e8re de leur donner une occasion de s\u2019ex\u00e9cuter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conservez la commande, la fr\u00e9quence et les secrets hors du contenu public. Une documentation interne peut contenir les param\u00e8tres n\u00e9cessaires avec un acc\u00e8s limit\u00e9.<\/p>\n\n\n\n<h2 id=\"traiter-les-doublons-avec-prudence\" class=\"wp-block-heading\">Traiter les doublons avec prudence<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Une file dupliqu\u00e9e peut consommer des ressources et reproduire des effets. Identifiez d\u2019abord pourquoi l\u2019\u00e9v\u00e9nement est replanifi\u00e9 : activation r\u00e9p\u00e9t\u00e9e, absence de contr\u00f4le, option corrompue ou comportement voulu avec des arguments diff\u00e9rents.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sauvegardez avant une correction de masse. D\u00e9senregistrez via l\u2019API ou l\u2019outil propri\u00e9taire lorsque cela est possible, puis laissez le code recr\u00e9er une occurrence saine. Supprimer aveugl\u00e9ment toutes les lignes d\u2019un nom peut effacer des t\u00e2ches l\u00e9gitimes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s nettoyage, surveillez la r\u00e9apparition. Si les doublons reviennent, la cause est encore active.<\/p>\n\n\n\n<h2 id=\"surveiller-un-resultat-metier-pas-seulement-une-horloge\" class=\"wp-block-heading\">Surveiller un r\u00e9sultat m\u00e9tier, pas seulement une horloge<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Une file \u00ab \u00e0 l\u2019heure \u00bb peut ex\u00e9cuter une fonction qui n\u2019aboutit pas. Choisissez un signal utile : publication devenue publique, sauvegarde termin\u00e9e et v\u00e9rifi\u00e9e, export g\u00e9n\u00e9r\u00e9, file r\u00e9duite ou synchronisation confirm\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9finissez un seuil et une alerte raisonnables. Un \u00e9v\u00e9nement horaire en retard de deux minutes n\u2019a pas la m\u00eame gravit\u00e9 qu\u2019une commande non trait\u00e9e depuis une journ\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la sauvegarde, le succ\u00e8s d\u2019une t\u00e2che n\u2019est pas le succ\u00e8s d\u2019une restauration. Le guide <a href=\"https:\/\/ssdhosters.com\/blog\/restaurer-sauvegarde-wordpress\/\">restaurer une sauvegarde WordPress<\/a> explique pourquoi un test complet reste n\u00e9cessaire.<\/p>\n\n\n\n<h2 id=\"ordre-de-diagnostic-recommande\" class=\"wp-block-heading\">Ordre de diagnostic recommand\u00e9<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>D\u00e9finir le r\u00e9sultat attendu et l\u2019heure de r\u00e9f\u00e9rence.<\/li>\n\n\n\n<li>Lister la file en lecture seule.<\/li>\n\n\n\n<li>V\u00e9rifier pr\u00e9sence, \u00e9ch\u00e9ance, r\u00e9currence et \u00e9ventuels doublons.<\/li>\n\n\n\n<li>Identifier le code propri\u00e9taire et ses d\u00e9pendances.<\/li>\n\n\n\n<li>Contr\u00f4ler la sant\u00e9 du d\u00e9clenchement et de la boucle locale.<\/li>\n\n\n\n<li>Tester un seul hook dans un contexte s\u00fbr.<\/li>\n\n\n\n<li>Corr\u00e9ler l\u2019appel avec journaux et effet m\u00e9tier.<\/li>\n\n\n\n<li>Corriger la cause, puis observer plusieurs cycles.<\/li>\n\n\n\n<li>Documenter le m\u00e9canisme de retour arri\u00e8re.<\/li>\n<\/ol>\n\n\n\n<h2 id=\"les-erreurs-a-eviter\" class=\"wp-block-heading\">Les erreurs \u00e0 \u00e9viter<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Installer plusieurs extensions de contr\u00f4le sans diagnostic initial.<\/li>\n\n\n\n<li>Supprimer toute la file parce qu\u2019un hook est en retard.<\/li>\n\n\n\n<li>Relancer une t\u00e2che non idempotente plusieurs fois.<\/li>\n\n\n\n<li>D\u00e9sactiver WP-Cron avant que le rempla\u00e7ant soit prouv\u00e9.<\/li>\n\n\n\n<li>Confondre fuseau horaire et retard r\u00e9el.<\/li>\n\n\n\n<li>Publier des journaux, URL techniques ou commandes contenant des secrets.<\/li>\n\n\n\n<li>D\u00e9clarer le probl\u00e8me r\u00e9solu sans v\u00e9rifier l\u2019effet attendu.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"checklist-wp-cron-ne-fonctionne-pas\" class=\"wp-block-heading\">Checklist WP-Cron ne fonctionne pas<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[ ] Le hook et son propri\u00e9taire sont identifi\u00e9s.<\/li>\n\n\n\n<li>[ ] L\u2019heure WordPress et le fuseau sont not\u00e9s.<\/li>\n\n\n\n<li>[ ] La prochaine ex\u00e9cution et la r\u00e9currence sont v\u00e9rifi\u00e9es.<\/li>\n\n\n\n<li>[ ] Les autres \u00e9v\u00e9nements servent de comparaison.<\/li>\n\n\n\n<li>[ ] Les doublons \u00e9ventuels sont expliqu\u00e9s avant suppression.<\/li>\n\n\n\n<li>[ ] Le test est limit\u00e9 et ses sorties externes sont neutralis\u00e9es.<\/li>\n\n\n\n<li>[ ] L\u2019erreur technique est corr\u00e9l\u00e9e \u00e0 l\u2019heure du test.<\/li>\n\n\n\n<li>[ ] Le r\u00e9sultat m\u00e9tier est confirm\u00e9.<\/li>\n\n\n\n<li>[ ] Le d\u00e9clencheur de remplacement est test\u00e9 avant bascule.<\/li>\n\n\n\n<li>[ ] Une surveillance et un retour arri\u00e8re existent.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"conclusion\" class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Quand <strong>WP-Cron ne fonctionne pas<\/strong>, augmenter la fr\u00e9quence ou vider la file ne constitue pas un diagnostic. V\u00e9rifiez successivement l\u2019existence de l\u2019\u00e9v\u00e9nement, son \u00e9ch\u00e9ance, l\u2019occasion de d\u00e9clenchement et l\u2019ex\u00e9cution r\u00e9elle du hook.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette m\u00e9thode transforme un sympt\u00f4me flou en preuve reproductible. Elle prot\u00e8ge aussi les donn\u00e9es et les int\u00e9grations, car chaque test poss\u00e8de un p\u00e9rim\u00e8tre, un contr\u00f4le du r\u00e9sultat et un retour arri\u00e8re. Pour replacer cette maintenance dans un choix d\u2019exploitation plus large, consultez le guide <a href=\"https:\/\/ssdhosters.com\/blog\/choisir-un-hebergement-wordpress\/\">choisir un h\u00e9bergement WordPress<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une m\u00e9thode actuelle pour comprendre les retards WP-Cron, tester un hook et fiabiliser son d\u00e9clenchement.<\/p>\n","protected":false},"author":1,"featured_media":413,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,34,36],"tags":[],"class_list":["post-412","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","category-performance-wordpress","category-securite-wordpress","resize-featured-image"],"_links":{"self":[{"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/posts\/412","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/comments?post=412"}],"version-history":[{"count":2,"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/posts\/412\/revisions"}],"predecessor-version":[{"id":415,"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/posts\/412\/revisions\/415"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/media\/413"}],"wp:attachment":[{"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/media?parent=412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/categories?post=412"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ssdhosters.com\/blog\/wp-json\/wp\/v2\/tags?post=412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}