Désactiver WP-Cron dans WordPress et le remplacer par un vrai cron job

Temps de lecture env. : 9 minutes

WordPress exécute automatiquement de nombreuses tâches récurrentes en arrière-plan. Il s'agit par exemple de publications programmées, de mises à jour automatiques, de tâches de maintenance, de l'envoi de certains e-mails ou d'actions planifiées de plugins. Pour ces tâches, WordPress utilise par défaut ce que l'on appelle Système WP-Cron.

Cependant, WP-Cron n'est pas un véritable travail cron du serveur. À la place, WordPress essaie de vérifier lors des chargements de page si des tâches planifiées doivent être exécutées. Sur les sites très fréquentés, cela peut provoquer des processus supplémentaires inutiles. Sur les sites avec très peu de trafic, c'est le problème inverse qui se produit : les tâches planifiées peuvent être exécutées en retard parce qu'aucun chargement de page n'a lieu pendant une période prolongée.

Une solution techniquement plus propre consiste à désactiver l'appel automatique WP-Cron de WordPress et à la place un vrai cronjob sur le serveur à configurer. Avec un hébergement web CURIAWEB, vous pouvez le configurer via cPanel.

Important : Ne désactivez jamais simplement WP-Cron dans WordPress. Si vous désactivez WP-Cron, vous devez ensuite configurer une tâche cron sur le serveur pour exécuter régulièrement les tâches planifiées de WordPress.

Qu'est-ce que le WP-Cron ? #

WP-Cron est le système interne de WordPress pour les tâches planifiées. Le nom est un peu trompeur, car techniquement, il ne s'agit pas d'un service cron classique du système d'exploitation.

WordPress utilise par exemple WP-Cron pour :

  • articles de blog planifiés
  • mises à jour automatiques de WordPress
  • Tâches de plugins et de thèmes
  • la suppression des données temporaires
  • e-mails programmés
  • Tâches WooCommerce
  • Plugins de sauvegarde
  • Tâches de cache et d'optimisation
  • Plugins de newsletter et de marketing
  • autres processus d'arrière-plan enregistrés par des extensions

Les extensions peuvent ajouter leurs propres tâches au système de tâches cron de WordPress. Par conséquent, le nombre de processus planifiés sur un site WordPress complexe peut être nettement supérieur à celui d'une installation simple.

Comment fonctionne WP-Cron par défaut ? #

Lors d'un appel WordPress normal, WordPress vérifie si des tâches cron programmées doivent être exécutées. En termes simples, WP-Cron est donc déclenché par l'activité sur le site Web.

Le fichier WordPress responsable est :

wp-cron.php

Cette méthode présente un grand avantage : WordPress fonctionne ainsi même sur les systèmes d'hébergement où les utilisateurs ne peuvent pas configurer leurs propres tâches cron de serveur.

Mais cela présente aussi des inconvénients.

Pourquoi WP-Cron peut-il poser problème ? #

WP-Cron est tout à fait suffisant pour de nombreux sites web. Il n'y a donc aucune raison de désactiver systématiquement WP-Cron sur chaque installation WordPress.

Cependant, pour certains sites Web, une véritable tâche cron de serveur peut être plus fiable et plus efficace.

Problème 1 : Nombreuses vues de page #

Sur les sites Web à fort trafic, la vérification WP-Cron est déclenchée très fréquemment. Bien que WordPress possède des mécanismes pour limiter les exécutions parallèles, la procédure standard peut néanmoins causer un travail supplémentaire inutile.

Une tâche cron du serveur effectue la vérification à un intervalle défini, par exemple toutes les cinq minutes.

Problème 2 : Très peu de pages vues #

Sur un site Web ayant peu ou pas de trafic, l'inverse peut se produire. Si personne ne visite le site Web, l'impulsion pour WP-Cron peut manquer.

Une tâche prévue pour 08:00 ne doit donc pas nécessairement être exécutée exactement à 08:00. Elle peut être lancée seulement lors du prochain appel approprié.

En revanche, une véritable tâche cron de serveur fonctionne indépendamment du fait que quelqu'un visite ou non le site web.

Remarque : WP-Cron n'est pas un système fondamentalement mauvais. Pour les petits sites web, la configuration standard de WordPress est souvent amplement suffisante. Un véritable cron job devient surtout intéressant lorsque l'on souhaite que les tâches planifiées soient exécutées de manière plus fiable ou plus contrôlée.

Quand un vrai cronjob vaut-il le coup ? #

La transition peut s'avérer judicieuse, en particulier pour les sites Web qui exécutent de nombreuses tâches chronophages ou gourmandes en ressources.

Des exemples typiques sont :

  • sites web WordPress plus importants
  • Boutiques WooCommerce
  • Sites web à fort trafic
  • Sites web avec un très faible trafic, mais des tâches planifiées importantes
  • Sites web avec sauvegardes automatisées
  • Systèmes de bulletins d'information
  • Processus d'importation et d'exportation
  • synchronisations régulières
  • Plugins avec de nombreuses tâches d'arrière-plan

Si ton site web fonctionne sans problème et n'utilise pas de processus d'arrière-plan critiques pour le temps, tu n'as pas besoin de remplacer WP-Cron par simple principe.

Étape 1 : Créer une sauvegarde #

Pour la désactivation de l'appel automatique du WP-Cron, le fichier de configuration de WordPress doit wp-config.php être traités.

Fais donc une sauvegarde du fichier avant la modification, ou mieux encore, une sauvegarde complète de ton site WordPress.

Le fichier wp-config.php fait partie des fichiers les plus importants d'une installation WordPress. Une erreur de syntaxe peut empêcher le chargement correct de WordPress.

Avertissement : Modifier le fichier wp-config.php soigneusement. Même un seul caractère erroné ou une instruction PHP mal insérée peut provoquer une erreur sur le site Web.

Étape 2 : Ouvrir wp-config.php #

Le fichier wp-config.php se trouve généralement dans le répertoire racine de votre installation WordPress.

Sur CURIAWEB, vous pouvez par exemple via le Gestionnaire de fichiers dans cPanel accéder à vos fichiers WordPress.

Lors d'une installation typique du domaine principal, WordPress se trouve souvent sous :

public_html

Cependant, selon la structure du domaine et des répertoires, WordPress peut également être installé dans un autre dossier.

Ouvrez le fichier là :

wp-config.php

Étape 3 : Désactiver WP-Cron dans WordPress #

Ajoute la ligne suivante dans le fichier wp-config.php un

define( 'DISABLE_WP_CRON', true );

L'instruction doit être insérée avant la ligne qui indique, par son sens, la fin du traitement de la configuration WordPress.

Selon la version linguistique ou la version de WordPress, le commentaire peut être formulé différemment. Ce qui compte, c'est que la constante soit définie au sein de la configuration proprement dite de WordPress et non après le chargement des composants principaux de WordPress.

Enregistrez ensuite le fichier.

Avec :

define( 'DISABLE_WP_CRON', true );

empêches-tu WordPress de continuer à déclencher automatiquement WP-Cron via le chargement normal des pages.

Important : Les tâches WordPress planifiées n'ont ainsi pas été supprimées. Tu as simplement désactivé le déclencheur automatique standard. C'est pourquoi nous avons maintenant besoin d'une tâche cron sur le serveur.

Étape 4 : Ouvrir les tâches Cron dans cPanel #

Connectez-vous à votre espace client CURIAWEB et ouvrez votre hébergement via le lien direct Connexion cPanel.

Vous pouvez également ouvrir cPanel via votre accès direct existant.

Rechercher dans cPanel :

Tâches cron

Cette fonction permet d'exécuter automatiquement des commandes par le serveur à des moments précis ou à des intervalles définis.

À quelle fréquence WordPress-Cron doit-il être exécuté ? #

Pour de nombreux sites Web WordPress normaux, un intervalle de 5 à 15 minutes suffisant.

L'intervalle pertinent dépend du site Web. Une boutique WooCommerce ou un site Web doté d'automatisations sensibles au facteur temps peut avoir des exigences différentes de celles d'une petite vitrine d'entreprise.

Un cronjob toutes les cinq minutes signifie par exemple :

*/5 * * * *

Un cron job toutes les 15 minutes :

*/15 * * * *

Vous n'avez pas besoin d'exécuter une tâche cron toutes les minutes s'il n'y a pas de raison technique concrète pour le faire. Des intervalles inutilement courts ne font que générer des processus supplémentaires.

Recommandation : Pour un site WordPress normal, un intervalle de 5 à 15 minutes constitue un point de départ raisonnable. N'utilisez des intervalles plus courts que si votre site ou un plugin spécifique en a réellement besoin.

Étape 5 : Configurer la tâche Cron du serveur pour WordPress #

Le serveur doit maintenant le fichier wp-cron.php appeler régulièrement.

Il existe différentes possibilités techniques pour cela. La variante utilisée dépend, entre autres, de l'environnement d'hébergement et de l'appel souhaité.

Une possibilité est un appel HTTP au fichier cron de WordPress. L'appel principal est :

https://deine-domain.ch/wp-cron.php?doing_wp_cron

Remplacer votre-domaine.ch par votre véritable domaine.

Dans une tâche cron du serveur, l'URL peut par exemple être appelée à l'aide d'un outil de ligne de commande disponible. Ce qui importe ici n'est pas l'outil lui-même, mais le fait que wp-cron.php est exécuté de manière fiable à l'intervalle souhaité.

Comme les chemins du serveur et les commandes disponibles peuvent varier selon la configuration de l'hébergement, tu ne devrais pas copier aveuglément une commande cron provenant d'un tutoriel tiers.

Avis aux clients de CURIAWEB : Si tu ne sais pas quelle commande utiliser pour ton hébergement, contacte le support CURIAWEB. Nous pouvons te dire quelle configuration de tâche cron convient à ton hébergement.

Pourquoi ne pas simplement fournir une commande cron quelconque ? #

Sur Internet, tu trouves souvent des commandes avec wget, curl ou d'un appel PHP direct. De tels exemples peuvent fonctionner, mais ne sont pas automatiquement identiques pour chaque environnement d'hébergement.

Un appel PHP direct nécessite, par exemple, le chemin serveur correct vers l'installation WordPress et, le cas échéant, le bon chemin du binaire PHP. Un appel HTTP dépend quant à lui du domaine, de la configuration HTTPS et de l'environnement serveur.

Un tutoriel avec un chemin de serveur fictif ou inconnu serait donc moins bon qu'une configuration propre pour l'hébergement réellement utilisé.

WP-Cron et version PHP #

Si la tâche cron exécute WordPress directement via PHP sur le serveur, il convient de veiller à ce que la version de PHP utilisée corresponde à l'installation de WordPress.

C'est particulièrement pertinent lorsque plusieurs versions de PHP sont disponibles sur un hébergement ou que différents sites Web utilisent différentes versions de PHP.

Un cronjob ne doit pas utiliser par inadvertance une autre version de PHP que le site web, si cela risque de provoquer des incompatibilités avec WordPress, les thèmes ou les plugins.

Est-ce que WordPress continue de fonctionner après la désactivation ? #

Oui. Le réglage DISABLE_WP_CRON ne désactive pas WordPress lui-même et n'empêche pas non plus fondamentalement l'exécution des tâches planifiées.

Elle empêche l'appel automatique standard de WP-Cron lors des accès au site Web.

Si la tâche cron du serveur est correctement configurée, elle wp-cron.php à la place, déclenché régulièrement par le serveur et WordPress peut traiter les tâches en attente.

Que se passe-t-il si aucune tâche cron de serveur n'est configurée ? #

C'est précisément là que réside l'une des erreurs les plus fréquentes lors de cette optimisation.

Si vous :

define( 'DISABLE_WP_CRON', true );

définis, mais que tu ne mets pas en place de tâche cron alternative, les tâches WordPress planifiées risquent de ne pas s'exécuter.

Selon le site Web, les problèmes suivants peuvent alors survenir, par exemple :

  • les publications planifiées ne sont pas publiées
  • Les tâches automatiques des extensions ne s'exécutent pas
  • Les sauvegardes ne sont pas créées comme prévu
  • certains e-mails sont envoyés avec du retard ou ne sont pas déclenchés du tout
  • Les processus d'arrière-plan de WooCommerce peuvent être altérés
  • Les tâches de maintenance et de nettoyage sont négligées

Avertissement : DISABLE_WP_CRON Sans un travail de cron de remplacement fonctionnel, ce n'est pas une optimisation des performances, mais une configuration erronée.

Comment puis-je vérifier si le système de tâches cron de WordPress fonctionne ? #

Après la configuration, vous devez vérifier si les tâches planifiées sont réellement exécutées.

Une façon simple est un article WordPress planifié. Créez un article de test et planifiez sa publication pour une date ultérieure.

Si l'article est publié après l'exécution de la tâche cron, c'est un premier indice que les tâches WordPress planifiées sont traitées.

Pour une analyse plus détaillée, il existe également des extensions WordPress qui permettent d'afficher et de vérifier les événements cron enregistrés. De tels outils sont particulièrement utiles lors du dépannage.

WP-Cron dans WooCommerce #

Une attention particulière est requise avec WooCommerce. Une boutique en ligne exécute de nombreuses tâches en arrière-plan et WooCommerce utilise en outre pour de nombreux processus le Action Scheduler-Système.

Ceci est par exemple utilisé par WooCommerce lui-même et par diverses extensions pour les processus en arrière-plan. L'exécution fiable des tâches WordPress programmées y joue également un rôle important.

Sur une boutique WooCommerce en production, vous ne devriez donc pas désactiver WP-Cron sans configurer immédiatement une tâche cron serveur fonctionnelle et vérifier ensuite son bon fonctionnement.

Un vrai cronjob rend-il WordPress automatiquement plus rapide ? #

Pas nécessairement.

Le remplacement du déclencheur WP-Cron par défaut peut rendre l'exécution des tâches planifiées plus contrôlable et, pour certains sites web, réduire les appels cron inutiles lors des accès normaux aux pages.

Ce n'est cependant pas une astuce universelle qui accélère soudainement et nettement chaque site Web WordPress.

Pour les performances d'un site web WordPress, les ressources d'hébergement, PHP, la base de données, le système de cache, les thèmes, les extensions, les images et l'application elle-même sont, entre autres, bien plus importants.

WP-Cron doit donc être optimisé pour une raison technique et non parce qu'une quelconque check-list prétend qu'il faut systématiquement le désactiver.

Réactiver WP-Cron #

Si tu souhaites revenir au comportement WordPress par défaut, ouvre le fichier wp-config.php et supprimez la ligne insérée précédemment :

define( 'DISABLE_WP_CRON', true );

Ensuite, vous devez également vérifier si la tâche cron du serveur configurée en plus est toujours nécessaire.

Évitez une double configuration incontrôlée où vous effectuez des modifications sans savoir quel mécanisme exécute réellement les tâches cron.

Configurer correctement WP-Cron sur CURIAWEB #

Avec un hébergement web CURIAWEB, vous pouvez configurer un vrai cronjob via cPanel. Cela permet de contrôler l'exécution des tâches WordPress planifiées indépendamment des visites réelles sur le site.

Die saubere Vorgehensweise besteht immer aus zwei zusammengehörenden Schritten:

  1. Den automatischen WP-Cron-Aufruf in wp-config.php mit DISABLE_WP_CRON désactiver.
  2. Einen funktionierenden Server-Cronjob einrichten, der WordPress regelmässig anstösst.

Wenn du bei Serverpfad, PHP-Version, Cron-Befehl oder Intervall unsicher bist, kontaktiere den CURIAWEB Support, bevor du die Standardkonfiguration deaktivierst.

Recommandation : Ändere WP-Cron nicht nur deshalb, weil du eine vermeintliche WordPress-Optimierung durchführen möchtest. Wenn deine Website problemlos funktioniert, kann die Standardkonfiguration völlig ausreichend sein. Bei Shops, Automatisierungen oder zeitkritischen Aufgaben kann ein echter Server-Cronjob dagegen die technisch bessere Lösung sein.

Résumé #

WP-Cron ist das interne Planungssystem von WordPress und wird standardmässig über Website-Aufrufe angestossen. Das funktioniert für viele Websites problemlos, ist aber kein echter zeitgesteuerter Server-Cronjob.

Wenn du WP-Cron durch einen echten Cronjob ersetzen möchtest, fügst du define( 'DISABLE_WP_CRON', true ); in die Datei wp-config.php ein und richtest anschliessend in cPanel einen Server-Cronjob ein, der wp-cron.php regelmässig ausführt. Für viele Websites ist ein Intervall von etwa 5 bis 15 Minuten ein sinnvoller Ausgangspunkt.

Entscheidend ist die Kombination beider Schritte. WP-Cron lediglich zu deaktivieren, ohne einen funktionierenden Ersatz einzurichten, kann geplante Beiträge, Backups, Plugin-Aufgaben und andere WordPress-Prozesse beeinträchtigen.

Dernière mise à jour 27 août 2026
Cet article a-t-il été utile ?
Consentement à l'utilisation de Cookies avec Real Cookie Banner