Vous programmez un article pour lundi 8h, et lundi à 10h il n'est toujours pas en ligne. Ou votre plugin de sauvegarde affiche « dernière sauvegarde il y a 12 jours » alors qu'il est réglé sur « tous les jours ». On voit ce genre de situation très souvent chez nos nouveaux clients. 9 fois sur 10, c'est le cron (tâche planifiée) de WordPress qui est en cause : il ne tourne pas comme il faut.
Ça se règle en quelques minutes, une fois qu'on sait où chercher.
C'est quoi le « cron » de WordPress ?
Le cron de WordPress, aussi appelé WP-Cron, est le système intégré qui exécute des tâches automatiques à intervalles réguliers, sans intervention de votre part.
Ces tâches, c'est par exemple : publier un article programmé, lancer une sauvegarde, envoyer les emails de notification, vérifier si des mises à jour sont disponibles ou vider certains caches.
Voyez le cron comme un assistant qui passe régulièrement vérifier s'il y a quelque chose à faire, et qui s'en occupe pendant que vous vaquez à vos occupations. WordPress documente ce mécanisme dans sa documentation officielle.
Le défaut du cron par défaut de WordPress
WordPress est livré avec son propre système, appelé WP-Cron. Sauf qu'il a une particularité que peu de débutants connaissent : il ne se déclenche pas tout seul à l'heure dite. Il attend qu'un visiteur arrive sur le site pour vérifier s'il y a des tâches en attente.
Et ça donne 2 situations gênantes :
Sur un site avec peu de trafic (le cas de beaucoup de sites vitrines), personne ne passe la nuit ou le week-end, donc rien ne se lance. Votre article de lundi 8h attend le premier visiteur, qui arrive parfois à midi.
Sur un site très visité, c'est l'inverse : WP-Cron se lance à presque chaque visite, ce qui consomme des ressources pour rien et peut ralentir le site.
Le cas qu'on rencontre le plus pour une boutique en ligne, ce sont des emails de confirmation de commande qui partent avec des heures de retard, ou des paniers abandonnés jamais relancés. À chaque fois, le même coupable !
La solution est la même dans les 2 cas : un cron serveur, qui se déclenche à heure fixe sans dépendre du trafic.
Comment bien l'activer ?
D'abord on dit à WordPress d'arrêter de gérer le cron à sa manière. Ensuite on demande au serveur de faire le travail à heure fixe. Les 2 vont ensemble.
Étape 1 : désactiver WP-Cron
On ajoute une ligne dans le fichier wp-config.php, situé à la racine de votre site. Faites une copie de ce fichier avant d'y toucher, au cas où.
define('DISABLE_WP_CRON', true);Placez cette ligne juste au-dessus de celle qui indique « That's all, stop editing! Happy publishing. ».
À ne surtout pas faire : vous arrêter là. Si vous désactivez WP-Cron sans configurer l'étape 2, plus aucune tâche ne se déclenche ! Ni articles programmés, ni sauvegardes, ni emails. C'est l'erreur la plus courante et elle passe souvent inaperçue pendant des jours.
Étape 2 : créer le cron serveur (ça dépend de votre hébergeur)
Le but est toujours le même : demander au serveur d'appeler le fichier wp-cron.php à intervalle régulier, par exemple toutes les 15 minutes. Voici où ça se passe chez les hébergeurs les plus répandus :
Chez OVH (hébergement web mutualisé)
Dans votre espace client OVH, allez dans Hébergements, choisissez votre hébergement, puis ouvrez l'onglet Plus et Tâches planifiées (Cron). Créez une tâche qui pointe vers le fichier wp-cron.php de votre site, avec la fréquence la plus rapprochée proposée. Sur les offres d'entrée de gamme, OVH limite la fréquence (souvent une fois par heure), ce qui reste suffisant pour un site vitrine. Sur les offres supérieures, vous pouvez descendre plus bas.
Chez IONOS (hébergement mutualisé)
Dans votre espace client IONOS, cherchez la rubrique Tâches cron. Créez une tâche de type WebCron, qui appelle tout simplement l'adresse de votre fichier wp-cron.php (par exemple https://votresite.fr/wp-cron.php), et réglez la fréquence sur toutes les 15 minutes.
Chez un hébergeur avec cPanel (o2switch et beaucoup d'autres)
Ouvrez cPanel, cherchez Tâches Cron. Ajoutez une tâche réglée sur toutes les 15 minutes, avec la commande suivante (remplacez l'adresse par la vôtre) :
curl -s "https://votresite.fr/wp-cron.php?doing_wp_cron" >/dev/nullSi curl n'est pas disponible chez votre hébergeur, remplacez-le par wget -q -O /dev/null suivi de la même adresse.
Chez Hostinger (hPanel)
Connectez-vous à hPanel, ouvrez votre hébergement, puis la rubrique Avancé et Tâches cron. Ajoutez une tâche toutes les 15 minutes avec la même commande curl que ci-dessus, pointant vers l'adresse de votre wp-cron.php.
Sur un VPS ou un serveur dédié (avec accès SSH)
Si vous gérez votre propre serveur, le plus propre est d'utiliser WP-CLI. Ajoutez cette ligne à la crontab (via la commande crontab -e), en adaptant le chemin de votre site :
*/15 * * * * cd /var/www/votresite && wp cron event run --due-now >/dev/null 2>&1Cette commande ne lance que les tâches réellement dues, toutes les 15 minutes.
Vous ne trouvez pas où le régler ?
Tous les hébergeurs n'ont pas la même interface, et certaines offres d'entrée de gamme ne proposent pas de tâches cron du tout. Dans ce cas, 2 options : chercher « cron » ou « tâches planifiées » dans votre espace client, ou écrire à votre hébergeur. Un message du type « Bonjour, je souhaite mettre en place une tâche cron qui appelle le fichier wp-cron.php de mon site toutes les 15 minutes. Pouvez-vous m'indiquer comment faire sur mon offre ? » suffit. Leur support saura vous guider.
Le récapitulatif par hébergeur
Hébergeur | Où aller | Fréquence conseillée |
|---|---|---|
OVH mutualisé | Espace client, Hébergements, Plus, Cron | La plus rapprochée dispo (souvent 1h) |
IONOS | Espace client, Tâches cron (WebCron) | 15 minutes |
cPanel (o2switch...) | cPanel, Tâches Cron | 15 minutes |
Hostinger | hPanel, Tâches cron | 15 minutes |
VPS ou dédié | crontab en SSH, avec WP-CLI | 15 minutes |
Vérifier que ça marche vraiment
Une fois le cron serveur en place, le test le plus parlant est simple : programmez un article de test pour dans 10 minutes, puis attendez sans ouvrir votre site. S'il se publie à l'heure prévue sans que vous ayez ouvert votre back-office, le cron est opérationnel.
Pour aller plus loin, le plugin gratuit WP Crontrol affiche la liste des tâches planifiées, leur prochaine exécution, et permet de les lancer à la main pour tester. C'est l'outil qu'on utilise chez Le Gecko pour diagnostiquer un cron capricieux.
Questions fréquentes
À quoi sert le fichier wp-cron.php ?
C'est le fichier que WordPress exécute pour lancer les tâches planifiées. Avec un cron serveur, c'est lui que le serveur va appeler à heure fixe.
Toutes les combien de temps faut-il le déclencher ?
Toutes les 15 minutes conviennent à la grande majorité des sites. Évitez toutes les minutes, ça sollicite le serveur sans réel gain. Pour une boutique en ligne avec beaucoup d'automatisations, vous pouvez descendre à 5 minutes.
Est-ce que je risque de casser mon site ?
Non, tant que vous faites les 2 étapes ensemble et que vous copiez wp-config.php avant de le modifier. La seule vraie erreur serait de désactiver WP-Cron sans créer le cron serveur.
Un cron qui tourne, c'est aussi une brique de sécurité : ce sont les tâches automatiques qui déclenchent vos sauvegardes et vérifient vos mises à jour. Si la sécurité de WordPress vous préoccupe, on en parle en détail dans notre article sur les failles critiques de WordPress et comment protéger votre site.
Vous préférez ne pas vous en occuper ? Chez Le Gecko, on héberge votre site WordPress sur des serveurs monitorés 24h/24, sauvegardes automatiques incluses et cron serveur déjà réglé comme il faut. On est spécialisés dans la performance WordPress ! Votre site reste rapide et vos tâches planifiées partent à l'heure, sans que vous touchiez au moindre fichier. Nos offres d'hébergement démarrent à 144 € TTC par an, soit 12 € par mois. Parlons de votre site.
