Les tâches CRON sont utilisées pour planifier des tâches à des heures fixes, des dates ou des intervalles périodiques sur votre site WordPress. Quelques exemples d’une tâche cron de WordPress peuvent impliquer la planification d’un article à publier, la vérification des mises à jour ou l’exécution d’un plugin de sauvegarde selon un calendrier prédéfini.

Dans WordPress, ceci est géré par WP-Cron, qui est utilisé pour simuler un cron système. Cependant, en fonction de la quantité de trafic vers votre site, l’utilisation du gestionnaire de cron intégré peut réellement commencer à avoir un impact sur le temps de chargement de vos pages. Donc aujourd’hui, nous allons vous montrer comment désactiver WP-Cron (wp-cron.php) et à la place utiliser un cron système pour des performances plus rapides.

Problèmes de performance avec WP-Cron

Nous traitons avec un grand nombre de sites très fréquentés et exigeants chez Kinsta. Pour cette raison, nous avons vu beaucoup de problèmes de performance avec le gestionnaire de Cron intégré de WordPress : WP-Cron. Tout d’abord, il est important de comprendre que WP-Cron n’est pas une vraie tâche de cron, c’est simplement ce que WordPress a créé pour imiter ce que fait un cron système.

WP-Cron ne fonctionne pas en continu. Par défaut, le wp-cron.php se déclenche à chaque chargement de page, ce qui peut causer des problèmes sur les sites très fréquentés. Si un site n’a pas assez de workers PHP, il arrive parfois qu’une requête arrive, WordPress va générer le cron, mais le cron doit attendre le worker, et donc il reste là.

Le scénario inverse est également vrai. Si un site n’a pas beaucoup de trafic, les horaires pourraient être manqués en raison du fait que personne n’a chargé une page.

Une meilleure approche est de désactiver WP-Cron et d’utiliser le cron système à la place. Cela fonctionne selon un calendrier prédéfini et est même recommandé dans le manuel officiel du plugin.

Comment désactiver WP-Cron

Pour désactiver WP-Cron, ajoutez ce qui suit à votre fichier wp-config.php, juste avant la ligne qui dit « That’s all, stop editing! Happy blogging. » Note : Ceci le désactive pour qu’il ne s’exécute pas lors du chargement des pages, pas lorsque vous l’appelez directement via wp-cron.php.

define ('DISABLE_WP_CRON', true);
Désactiver WP-Cron
Désactiver WP-Cron

Comment programmer le système Cron système

Vous devrez ensuite planifier wp-cron.php à partir de votre serveur.

Si votre site est un multisite, il y a quelques étapes de configuration supplémentaires que vous devrez suivre pour que les tâches cron soient exécutées pour vos sous-sites. Voici quelques ressources que nous vous recommandons pour cela :

Pour WordPress sur un seul site, la bonne nouvelle est que si vous êtes un client Kinsta, notre cron côté serveur déclenche wp-cron.php toutes les 15 minutes par défaut. 💪 Cela permettra d’exécuter tous les crons WordPress planifiés. Et si nécessaire, vous pouvez augmenter la fréquence en contactant notre équipe de support.

Si vous êtes familier avec SSH, vous pouvez également suivre notre tutoriel sur la gestion des crons du serveur depuis la ligne de commande sur Kinsta. Tous nos plans d’hébergement incluent l’accès SSH.

Si vous n’êtes pas client de Kinsta, nous vous recommandons de consulter Configurer correctement les tâches Cron de WordPress pour apprendre à configurer les crons du système.

Créer une tâche Cron dans cPanel

Si vous utilisez un hébergeur avec cPanel, vous pouvez également créer un cron système à partir de son panneau de contrôle. Note : assurez-vous d’avoir d’abord désactivé le WP-Cron par défaut comme ci-dessus.

Étape 1

Connectez-vous à cPanel. Dans la section Avancé, cliquez sur Cron Jobs.

cPanel cron jobs
cPanel cron jobs

Étape 2

Dans la section Ajouter une nouvelle tâche Cron, vous pouvez choisir parmi un certain nombre d’horaires prédéfinis différents, comme deux fois par heure ou une fois par semaine. Votre fournisseur d’hébergement a probablement une limite quant à la fréquence à laquelle il autorise l’exécution des tâches cron. Deux fois par heure est un paramètre courant pour les hébergeurs mutualisés.

cPanel paramètres cron job
cPanel paramètres cron job

Étape 3

Ajoutez la commande suivante. Remplacez https://domaine.com par votre nom de domaine. Cette commande peut varier légèrement en fonction de la configuration de votre hébergement. Puis cliquez sur « Ajouter une nouvelle tâche Cron ».

wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
cPanel ajouter une nouvelle tâche cron
cPanel ajouter une nouvelle tâche cron

La partie >/dev/null 2>&1 de la commande ci-dessus désactive les notifications par email.

Planifier les crons avec une solution tierce

Si vous n’êtes pas à l’aise avec la configuration des tâches cron sur votre serveur ou si votre hébergeur ne fournit pas d’accès, vous pouvez également utiliser une solution tierce comme EasyCron.