mailerpress icon black white

Documentation

Comment configurer une tâche Cron WordPress à partir de votre serveur

Pourquoi remplacer le Cron intégré de WordPress (WP-Cron) ?

Par défaut, WordPress utilise WP-Cron, un « cron virtuel » qui ne s’exécute que lorsque quelqu’un visite votre site. Cela peut conduire à :

  • Les messages ou courriels programmés manqués ou retardés.
  • Performance inefficace sur les sites à fort trafic.

Une véritable tâche cron de serveur est plus fiable et s’exécute selon un calendrier fixe, même lorsque votre site n’a pas de visiteurs.

Étape 1 : Désactiver WP-Cron dans WordPress

Vous devez empêcher WordPress d’exécuter son fichier par défaut wp-cron.php à chaque chargement de page.

  1. Ouvrez le fichier wp-config.php de votre site (situé à la racine de votre installation WordPress).
  2. Ajoutez la ligne suivante au-dessus de la ligne qui dit /* That's all, stop editing ! */:
define('DISABLE_WP_CRON', true);

Enregistrer le fichier.

Étape 2 : Configurer la tâche Cron sur votre serveur

Cela dépend de votre environnement d’hébergement.

A. Si vous utilisez cPanel

  1. Connectez-vous à votre panneau de contrôle d’hébergement (par exemple, cPanel).
  2. Recherchez Cron Jobs (généralement dans la section Advanced ).
  3. Cliquez sur Add New Cron Job.

Définissez le calendrier (par exemple, toutes les 5 minutes) :

*/5 * * * *

Ajoutez cette commande (remplacez exemple.com par votre domaine actuel) :

wget -q -O - https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Cette commande demande au serveur d’appeler silencieusement le fichier WP-Cron toutes les 5 minutes.

  1. Cliquez sur Add New Cron Job.

B. Si vous utilisez SSH ou un VPS (avancé)

  1. Connectez-vous en SSH à votre serveur.
  2. Ouvrez votre crontab avec :
crontab -e
  1. Ajoutez cette ligne pour lancer WP-Cron toutes les 5 minutes :
*/5 * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Sauvegarder et quitter.

Optionnel : Utiliser curl au lieu de wget

Si wget n’est pas disponible, vous pouvez utiliser curl:

*/5 * * * * curl -s https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Testez votre tâche cron en visitant l’URL wp-cron.php dans votre navigateur pour confirmer qu’elle fonctionne sans erreur.
Pour une meilleure fiabilité, évitez de l’exécuter trop fréquemment – toutes les5 ou 10 minutes est un bon équilibre.
Assurez-vous que le fichier .htaccess ou le pare-feu de votre site ne bloque pas les requêtes vers wp-cron.php.

Vous avez maintenant désactivé WP-Cron et l’avez remplacé par un vrai job cron basé sur le serveur. Vos tâches programmées dans WordPress – comme les emails (y compris MailerPress), les mises à jour automatiques, ou les actions des plugins – s’exécuteront maintenant de manière fiable et à temps.