WordPress planifie des tâches, mais rien ne le réveille. Il regarde si quelque chose est dû lorsqu'un visiteur charge une page : le calendrier est donc en réalité « à la prochaine visite », ce qui est faux dans les deux sens.
- Un site calme : aucun visiteur la nuit, donc les sauvegardes et la publication prévues à 3 h n'ont tout simplement pas lieu.
- Un site fréquenté : la vérification tourne à chaque requête et alourdit des pages qui devraient être rapides.
Coupez le faux
// wp-config.php
define('DISABLE_WP_CRON', true);
Et appelez-le depuis un vrai
*/5 * * * * /usr/bin/php8.3 /var/www/site/wp-cron.php >/dev/null 2>&1
Exécuter le fichier directement vaut mieux qu'appeler l'URL : pas d'aller-retour HTTP, pas de délai du serveur web, et cela marche même quand le site est derrière un mot de passe.
Ne désactivez pas WP_CRON sans ajouter la vraie tâche. Les articles programmés cessent de paraître, les sauvegardes cessent de tourner, et rien ne l'annonce : le site se tait, simplement.
Regardez ce qui est programmé
wp cron event list
Un crochet que vous ne reconnaissez pas, programmé chaque minute, est le plus souvent une extension. Une file d'événements en retard signifie que le cron ne tourne pas du tout.
Cinq minutes est un bon intervalle. Une minute ajoute de la charge sans profit, à moins que quelque chose ait vraiment besoin de cette finesse, et WordPress parcourt tout le calendrier à chaque appel.
