Cron WordPress : bien comprendre et gérer le WP-Cron

Vignette29

Le cron WordPress gère les tâches planifiées de votre site, comme la publication programmée ou les sauvegardes. Découvrez son fonctionnement, ses limites et les outils pour bien le gérer.

Qu’est-ce que le cron WordPress (WP-Cron) ?

Le cron WordPress, aussi appelé WP-Cron, est un système interne du CMS. Il déclenche des tâches automatiques à intervalle régulier. En clair, il joue le rôle d’un planificateur intégré au cœur de WordPress. Vous pouvez consulter son fonctionnement détaillé dans la documentation officielle des développeurs WordPress. Sur un serveur classique, un vrai cron s’appuie sur le système d’exploitation. WordPress, lui, adopte une autre approche. En effet, WP-Cron simule ce mécanisme directement en PHP.

De nombreuses actions dépendent de ce cron. Par exemple, la mise à jour des extensions, la publication d’un article programmé ou l’envoi d’e-mails. Ainsi, chaque tâche planifiée passe par ce système.
Ce cron reste donc essentiel au bon fonctionnement d’un site WordPress. Sans lui, beaucoup de fonctions automatiques ne s’exécuteraient jamais. À ce titre, mieux vaut comprendre comment il marche.

Comment fonctionne WP-Cron ?

Le fonctionnement de WP-Cron diffère d’un cron serveur classique. Voici les points clés à connaître.

Le fichier wp-cron.php

Au centre du dispositif se trouve un fichier nommé wp-cron.php. Ce fichier vit à la racine de votre installation WordPress. Il contient le code qui vérifie les événements à lancer. Concrètement, WordPress consulte la liste des tâches enregistrées. Ces tâches sont stockées dans la base de données, dans l’option cron. Ensuite, le système compare l’heure prévue à l’heure actuelle. Si une tâche doit s’exécuter, WP-Cron la lance aussitôt. Par exemple, il peut publier un nouveau contenu à une date précise. De cette façon, tout reste automatisé, sans intervention manuelle.

La dépendance au trafic

Voici le point le plus important à retenir. WP-Cron ne se déclenche pas tout seul en continu. En effet, il se lance uniquement quand un visiteur charge une page. À chaque visite, WordPress vérifie si des tâches attendent. C’est donc le trafic qui active le cron. Cette méthode fonctionne bien sur un site fréquenté.

Cependant, un site à faible trafic pose problème. Sans visiteur, aucune tâche planifiée ne démarre. Par conséquent, une publication programmée peut prendre du retard. De plus, un site très visité déclenche le cron trop souvent. Cela consomme des ressources serveur inutilement. Nous verrons plus loin comment corriger ces deux situations.

Si votre site reçoit peu de visites, forcez l’exécution via un vrai cron serveur pour ne jamais rater une tâche planifiée.

Les avantages et limites de WP-Cron

WP-Cron présente de vrais atouts. D’abord, il fonctionne sans configuration au niveau du serveur. Ainsi, même un hébergement mutualisé basique le supporte. Ensuite, cet outil reste simple à utiliser. En effet, la planification se fait directement dans WordPress. Les plugins et les thèmes peuvent ajouter leurs propres tâches facilement.

Voici les principaux avantages en pratique :

  • Aucune commande à taper au niveau du serveur.
  • Une gestion des tâches accessible depuis WordPress.
  • Une compatibilité avec presque tous les hébergeurs.

En revanche, les limites existent aussi. La dépendance au trafic reste le point faible majeur. De plus, l’exécution manque parfois de précision dans le temps. Pour un site sérieux, ces limites comptent. Une sauvegarde en retard ou un article non publié pose souci. Donc, il faut parfois passer à une solution plus fiable.

Comment afficher les tâches cron avec WP Crontrol ?

Par défaut, WordPress ne montre pas ses tâches cron. Pour les visualiser, le plugin WP Crontrol reste la meilleure option. Cet outil gratuit vient de WordPress.org. D’abord, installez WP Crontrol depuis votre tableau de bord. Rendez-vous dans Extensions, puis Ajouter. Tapez le nom du plugin, installez-le et activez-le.

Ensuite, un nouveau menu apparaît. Vous le trouvez dans Outils, puis « Cron Events ». Cette page affiche la table cron complète de votre site. Grâce à WP Crontrol, vous voyez chaque événement en détail. Le plugin montre le nom du hook, la prochaine exécution et la fréquence. De cette manière, vous contrôlez tout d’un coup d’œil. WP Crontrol permet aussi d’agir sur les tâches. Vous pouvez lancer un événement à la main, le modifier ou le supprimer. Ainsi, la gestion des tâches cron devient beaucoup plus claire.

Comment créer une tâche cron personnalisée ?

Vous souhaitez planifier une action précise ? WordPress propose des fonctions dédiées pour cela. Le développement d’une tâche personnalisée reste accessible.

wp_schedule_event et les hooks

La fonction clé s’appelle wp_schedule_event. Elle sert à programmer un événement récurrent. Vous choisissez le moment de départ, l’intervalle et le hook à exécuter.

Voici un exemple simple de code à ajouter :

if ( ! wp_next_scheduled( 'mon_evenement_cron' ) ) {
    wp_schedule_event( time(), 'hourly', 'mon_evenement_cron' );
}
add_action( 'mon_evenement_cron', 'ma_fonction_tache' );

Dans cet exemple, la tâche se lance toutes les heures. Ensuite, la fonction ma_fonction_tache contient votre action. Par exemple, un envoi de mail ou une mise à jour de données.
WordPress propose plusieurs intervalles par défaut. On trouve hourly, twicedaily et daily. De plus, vous pouvez créer un intervalle sur mesure via le filtre cron_schedules.

Cette méthode convient bien aux développeurs. Cependant, WP Crontrol permet aussi d’ajouter un cron sans coder. À ce titre, chacun trouve la solution adaptée à son besoin.

Comment désactiver WP-Cron et utiliser un vrai cron serveur ?

Pour un site performant, un vrai cron serveur reste idéal. Cette configuration évite la dépendance au trafic. De plus, elle optimise les ressources et gagne en précision.
La première étape consiste à désactiver WP-Cron. Pour cela, ouvrez le fichier wp-config.php. Ajoutez ensuite la ligne suivante avant la fin du fichier :

define( 'DISABLE_WP_CRON', true );

Cette commande coupe le déclenchement lié aux visiteurs. Attention, les tâches ne s’exécutent plus toutes seules ensuite. Il faut donc créer un cron au niveau du serveur.
La plupart des hébergeurs proposent cette option. Vous accédez aux « Cron Jobs » depuis votre panneau d’hébergement. Là, vous programmez un appel régulier au fichier wp-cron.php.

Voici une commande cron classique à configurer :

*/5 * * * * wget -q -O /dev/null https://votre-site.com/wp-cron.php

Dans cet exemple, le serveur appelle le cron toutes les 5 minutes. Ainsi, les tâches planifiées s’exécutent à l’heure prévue. De cette façon, votre site gagne en fiabilité.

Vous pouvez aussi utiliser SSH ou WP-CLI. La commande wp cron event run --all lance tous les événements dus. En effet, WP-CLI reste très pratique pour la maintenance.

Gérer les tâches cron pour WooCommerce et Action Scheduler

WooCommerce s’appuie beaucoup sur le cron WordPress. En effet, une boutique en ligne planifie de nombreuses tâches. Par exemple, l’envoi d’e-mails ou la mise à jour des stocks.

Pour cela, WooCommerce embarque un système nommé Action Scheduler. Cet outil gère les tâches de fond de façon plus robuste. Il stocke les actions dans ses propres tables de base de données.

Action Scheduler traite les tâches par lots. Ainsi, une grosse file d’actions ne bloque pas le site. De plus, il conserve un journal détaillé de chaque exécution.Sur une boutique WooCommerce active, ce système devient vital. Une tâche cron en retard peut fausser des commandes. Par conséquent, un vrai cron serveur reste fortement conseillé ici.
Vous pouvez surveiller Action Scheduler dans WordPress. Rendez-vous dans WooCommerce, puis État, puis « Planned Actions ». Cette page liste les actions en attente et terminées.

Enfin, pensez à contrôler régulièrement vos tâches. Un job bloqué ralentit le site et gêne les visiteurs. Donc, un suivi régulier garde votre WooCommerce en bonne santé.

Plus d’articles sur WordPress

  • Taxonomie WordPress : le guide pour organiser son contenu

    Taxonomie WordPress : le guide pour organiser son contenu

    Une taxonomie WordPress est un système de classification qui permet d’organiser et classer le contenu de votre site. Ainsi, vous rangez vos articles, vos pages et vos types de publication comme dans une bibliothèque parfaitement ordonnée. Qu’est-ce qu’une taxonomie dans WordPress ? Le mot « taxonomie » vient à l’origine de la biologie. En effet,…

    Lire cet article

  • .htaccess WordPress : localiser, modifier, sécuriser

    .htaccess WordPress : localiser, modifier, sécuriser

    C’est quoi ce fichier .htaccess sur WordPress ? Le fichier .htaccess WordPress joue un rôle clé sur votre serveur HTTP Apache. Dans cet article, nous verrons comment le localiser, le modifier et l’optimiser en toute sécurité. Le fichier .htaccess est un fichier de configuration utilisé par le serveur web Apache. Son nom vient de l’anglais…

    Lire cet article

  • Sécurité WordPress : nos tips pour protéger votre site

    Sécurité WordPress : nos tips pour protéger votre site

    La sécurité WordPress reste la priorité absolue de tout propriétaire de site. Dans cet article, vous découvrirez les meilleures actions pour sécuriser WordPress, du choix de l’hébergement jusqu’à vos plugins de protection. Pourquoi la sécurité WordPress est essentielle WordPress fait tourner près de 43 % des sites web dans le monde. Cette popularité en fait…

    Lire cet article