iControlWP

Dans cet article, nous expliquons :

  • Qu’est-ce que le Cron WP ?
  • Comment fonctionne-t-il ?
  • Pourquoi échoue-t-il ?
  • Quels problèmes les erreurs du Cron WP provoquent-elles ?
  • Comment réparer le WP Cron

Alors, commençons…

Qu’est-ce que le WP Cron?

Cron est une commande UNIX pour planifier des travaux à exécuter un jour dans le futur. Elle est normalement utilisée pour planifier un travail qui est exécuté périodiquement.

WordPress utilise un fichier appelé wp-cron.php comme tâche cron virtuelle, ou tâche programmée afin d’automatiser des choses comme

  • la publication de posts programmés
  • la vérification des mises à jour de plugins ou de thèmes
  • l’envoi de notifications par email
  • la sauvegarde
  • les mises à jour automatiques de WordPress
  • …. et ainsi de suite.

Comment cela fonctionne-t-il ?

À chaque chargement de page, WordPress vérifie s’il y a un besoin pour WP Cron de s’exécuter. S’il y a un besoin, alors il essaie de faire une demande par HTTP au fichier wp-cron.php.

Appeler ce fichier aide à garder le WP Cron en cours d’exécution comme un processus séparé en arrière-plan sans retarder le temps de chargement de la page pour l’utilisateur. Une fois que le WP Cron démarre, il continue à fonctionner jusqu’à ce que tous les travaux requis soient terminés ou jusqu’à ce qu’il atteigne un temps d’exécution tel que défini dans la configuration du serveur.

Il est important d’expliquer que, dans sa configuration par défaut, WordPress n’utilise pas un véritable travail cron pour la planification et d’autres tâches connexes. Au lieu de cela, chaque fois qu’une page est chargée sur un site WordPress, WordPress exécute le fichier wp-cron.php. Il demande essentiellement « est-il temps de faire quelque chose encore ? ».

S’il y a des tâches programmées au moment du chargement de la page, elles seront exécutées. Mais, il faut noter ici que WP Cron ne s’exécute pas constamment comme le fait le cron du système.

WP Cron ne sera déclenché que lors du chargement de la page – c’est-à-dire lorsque quelqu’un visite une page de votre site. Cela signifie que, par exemple, si vous avez une tâche programmée pour 16h00 mais que vous n’avez pas de visiteurs avant 22h00, votre tâche ne s’exécutera pas avant.

Note : Parfois, vous pouvez voir des URL avec ?doing_wp_cron= suivi d’une chaîne de chiffres.

Par exemple :

https://example.com/what-is-wp-cron-article?doing_wp_cron=123456.874251298799871371475

Cela se produit parce que, afin d’effectuer certains traitements en arrière-plan (comme la publication d’articles programmés), WordPress vous redirige vers l’URL avec ?doing_wp_cron ajouté.

Lisez plus à ce sujet ici.

Pourquoi cela échoue-t-il ?

Donc, lorsque quelqu’un atterrit sur n’importe quelle page de votre site WordPress, le fichier wp-cron.php pourrait se déclencher et vérifier s’il doit envoyer quelque chose

Sur de nombreux hôtes WordPress, cela fonctionnera comme prévu. Mais, certains hébergeurs désactivent l’exécution de cette fonctionnalité car cela signifie qu’un grand nombre de visiteurs peut déclencher les tâches cron virtuelles un grand nombre de fois, utilisant les ressources de votre serveur. C’est également une vulnérabilité de sécurité potentielle.

Une autre raison est que certains plugins et thèmes peuvent provoquer des erreurs fatales pendant le traitement cron (car ils peuvent ne pas avoir été testés correctement) et cela brisera l’exécution du processus cron.

Introduction : Bien que ce ne soit pas concluant et ne serve vraiment que de pointeur dans le cas de problèmes majeurs, sur le tableau de bord de sécurité pour Shield, il y a une entrée sous la section « Journal des événements récents » pour montrer la dernière fois que le cron de test simple s’est exécuté :

Cela vous indiquerait si oui ou non vos crons fonctionnent, en général. Cela ne signifie pas que tous vos crons fonctionnent, mais cela signifie que votre système WP Cron est probablement OK.

Note : Vous pouvez déclencher WP Cron manuellement. La première chose à faire est de construire le lien, et voici comment faire :

  1. Prenez votre URL d’administration, par exemple exemple exemple.com/wp-admin/
  2. Remplacez « /wp-admin/ » par « /wp-cron.php ?setcronjob »

Le lien ressemblera à ceci:

exemple.com/wp-cron.php?setcronjob

Il suffit d’ouvrir ce lien dans un onglet séparé et le WP Cron sera déclenché.

Quels problèmes les erreurs de WP Cron causent-elles ?

Si le cron se brise, ne fonctionne pas correctement :

  • Les mises à jour automatiques de WordPress ne s’exécuteront pas
  • La vérification des mises à jour des plugins ou des thèmes échouera
  • Les articles programmés ne seront pas publiés
  • Si WordPress n’utilise pas un véritable travail cron pour la programmation et d’autres tâches connexes, les notifications par courriel, les renouvellements automatiques, les frais de facturation, les notifications d’entrée/sortie de stock échoueront.
  • La sauvegarde du site échouera pour les plugins de sauvegarde qui dépendent du cron

Aussi,

  • Il peut y avoir un long délai entre les mises à jour publiées, et les mises à jour installées
  • Les plugins premium ne lient pas correctement leur code de mise à jour

    Certains plugins premium n’ont pas testé leur code de mise à jour personnalisé avec le cron de WordPress. Cela signifie que lorsque le cron est exécuté, leur code de mise à jour ne fonctionne pas et les mises à jour automatiques des actifs premium échoueront.

Ce ne sont que quelques-uns des problèmes les plus notables que nous avons vus.

Veuillez noter que, si le cron ne fonctionne pas, toutes les tâches automatiques échoueront.

Comment réparer le WP Cron

Le WP Cron peut être problématique et réduire où un cron se plante est un travail délicat.

Nous vous recommandons vivement de lire cet article ici.

Vous pouvez également lire :

  • Pourquoi les mises à jour automatiques de WordPress ne fonctionnent-elles pas toujours ?

.

Leave a Reply