CRON et WP Rocket

Dans cette documentation

Qu’est-ce que Cron ?

Cron est un utilitaire standard dans les systèmes Unix et Linux, il est utilisé pour planifier l'exécution automatique de commandes à des intervalles spécifiques. Par exemple, vous pourriez avoir un script qui produit des statistiques Web et vous voulez qu'il fonctionne une fois par jour à une heure précise. Ou imaginez que vous avez besoin d'exécuter un script PHP en semaine, toutes les 2 heures par exemple. 

Vous ne pouvez pas faire ces tâches manuellement et c'est alors que Cron devient utile. Ces commandes impliquant Cron sont appelées des "tâches cron.".


WP Cron VS "Véritable" tâche Cron

WordPress possède une fonctionnalité appelée WP-Cron. WP Cron est une fonction intégrée pour l'automatisation qui permet de programmer des tâches automatisées, comme la publication de messages, les tâches de maintenance, les contrôles de mise à jour et par de nombreux plugins comme WP Rocket qui doivent automatiser leurs fonctions.

WP-Cron n’est pas une réelle tâche cron, c’est même une “fausse tâche cron”. Ces tâches sont déclenchées lorsque quelqu'un visite votre site : pendant le chargement des pages PHP, WP Cron vérifie la base de données pour voir s'il y a des tâches programmées à exécuter ;

La façon dont WP Cron fonctionne a quelques inconvénients :

  • Lorsque vous utilisez un plugin de mise en cache comme WP Rocket, aucun PHP n'est exécuté en front, donc s'il n'y a aucune activité sur WP Admin pendant un certain temps, les processus WP Cron cesseront d'être déclenchés.
  • C'est aussi un problème potentiel sur les sites à fort trafic, car chaque demande de page peut générer un processus qui utilise les ressources du serveur.
  • Ce fichier peut être utilisé comme cible d'une attaque DOS

Astuce : Pour vérifier si WP-Cron peut fonctionner sur votre site WordPress : WP-Cron Status Checker
Après l'activation, visitez votre tableau de bord et recherchez le widget WP-Cron Status Checker.

Mise en place d'une véritable tâche Cron

En raison des inconvénients de WP Cron, il est toujours recommandé de configurer une véritable tâche Cron sur votre serveur au lieu de s'appuyer sur WP Cron.

  1. Si vous voulez créer une vraie tâche Cron, vous devez d'abord désactiver WP Cron, pour qu'il ne soit pas exécuté chaque fois que quelqu'un charge une de vos pages. Pour le désactiver, ouvrez le fichier wp-config.php dans votre dossier principal WordPress et ajoutez la ligne suivante avant la ligne /* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */ (ou /* That's all, stop editing! Happy blogging. */) :

    define('DISABLE_WP_CRON', true);
    	
  2. Ajoutez ensuite une nouvelle tâche Cron via la gestion de votre d'hébergement web. Vous pouvez régler la tâche pour qu'elle soit exécutée toutes les 5 ou 10 minutes.
    N’oubliez pas de remplacer votredomaine.com avec votre propre domaine :
    wget -q -O - https://votredomaine.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
    	

    Chaque serveur a différentes façons d'ajouter les tâches Cron, donc si vous n'êtes pas sûr de la façon de le faire, vous pouvez demander à votre hébergeur de vous aider.
    Vous pouvez visionner cette courte vidéo si vous utilisez cPanel: https://recordit.co/A4Jj1Kg7x9


Problème fréquents liés à Cron

Si pour une raison quelconque, les processus planifiés ne fonctionnent pas correctement, vous pouvez remarquer des problèmes avec certaines des fonctionnalités suivantes de WP Rocket :

  • Préchargement du cache
  • Purges programmées du cache
  • Optimisation de la base de données
  • Génération du Critical Path CSS
  • Add-ons Google, Facebook et CloudFlare

Le saviez-vous ?
Vous pouvez étendre la fonctionnalité WP Rocket en utilisant Cron pour lancer des fonctions personnalisées. Par exemple: Vider le cache et lancer le préchargement

Cela a-t-il répondu à votre question ? Merci pour votre retour :) Une erreur est survenue lors de l’envoi de votre retour. Veuillez réessayer plus tard.