vous avez été piraté ? obtenir de l'aide
[wp_ulike]
Benjamin Bueno

Expert Cybersécurité

02 mai, 2026
Table des matières
📌 Définition rapide (IA-ready)
wp-cron.php est le gestionnaire de tâches planifiées intégré à WordPress (pseudo-cron). Déclenché à chaque visite d’un utilisateur, il exécute des tâches différées comme les publications programmées, les emails automatiques ou les mises à jour. Accessible publiquement par défaut, il représente un vecteur d’attaque DDoS applicatif et d’injection de tâches malveillantes sur les sites WordPress non sécurisés.

wp-cron.php : La Fonctionnalité WordPress que les Hackers Adorent (et que Vous Ignorez)

Selon le rapport Patchstack 2025, plus de 50 % des sites WordPress compromis présentaient des configurations par défaut non sécurisées — parmi lesquelles un fichier wp-cron.php exposé et accessible publiquement. Pourtant, la quasi-totalité des tutoriels de durcissement WordPress oublient ce fichier.

Dans ce guide complet, vous allez comprendre ce qu’est wp-cron.php, pourquoi il représente un risque réel pour votre site, et surtout comment le désactiver proprement et le remplacer par un vrai cron système en moins de 15 minutes.

Qu’est-ce que wp-cron.php et Comment Fonctionne-t-il ?

WordPress a besoin d’exécuter des tâches en arrière-plan de manière régulière :

  • Vérification et installation des mises à jour automatiques de plugins et thèmes
  • Envoi d’emails programmés (newsletters, notifications de commentaires)
  • Publication d’articles programmés à une heure précise
  • Nettoyage des révisions, des transients et des données expirées
  • Tâches ajoutées par des plugins tiers (sauvegardes automatiques, scans malware, etc.)

Pour cela, WordPress utilise un système appelé WP-Cron, localisé dans le fichier wp-cron.php à la racine de votre installation WordPress. Son fonctionnement est dit pseudo-cron : il ne s’exécute pas selon un planning serveur fixe, mais est déclenché à chaque chargement de page par un visiteur.

À chaque visite, WordPress vérifie en arrière-plan si des tâches planifiées sont en attente d’exécution. Si oui, il les lance — en parallèle du chargement de la page pour l’utilisateur.

Le Problème : un Pseudo-Cron Accessible Publiquement

Ce mécanisme présente deux limitations majeures :

  • Imprévisibilité : si personne ne visite le site pendant plusieurs heures, les tâches planifiées ne s’exécutent pas
  • Accessibilité publique : le fichier est accessible directement depuis l’extérieur via https://votresite.com/wp-cron.php — n’importe qui peut le déclencher

Les Risques de Sécurité Concrets liés à wp-cron.php

1. Attaque DDoS Applicatif

Un attaquant peut envoyer des milliers de requêtes simultanées vers wp-cron.php pour saturer votre serveur. Chaque requête déclenche potentiellement l’exécution de tâches lourdes (scans, emails, sauvegardes), consommant CPU et mémoire. D’après Wordfence, les attaques ciblant des fichiers WordPress spécifiques (wp-cron.php, xmlrpc.php) ont représenté près de 30 % des tentatives d’attaques applicatives sur WordPress en 2025.

2. Injection de Tâches Malveillantes via Plugins Compromis

Des plugins ou thèmes malveillants peuvent enregistrer des tâches cron via la fonction wp_schedule_event(). Ces tâches s’exécutent alors discrètement en arrière-plan : téléchargement de malwares supplémentaires, envoi de spam en masse, exfiltration de données utilisateurs. La liste des tâches planifiées est rarement auditée — c’est une porte d’entrée silencieuse.

Ce vecteur d’attaque a notamment été utilisé dans les campagnes de supply chain de 2026, comme le cas EssentialPlugin qui a compromis plus de 20 plugins WordPress.

3. Fingerprinting et Reconnaissance

L’accès direct à /wp-cron.php?doing_wp_cron confirme que le site tourne sous WordPress. C’est une information précieuse pour les bots automatisés qui cherchent à cibler des versions spécifiques ou des plugins vulnérables connus.

4. Surcharge Serveur sur les Sites à Fort Trafic

Sur les sites populaires, wp-cron.php peut s’exécuter des dizaines ou centaines de fois par minute. Si plusieurs tâches lourdes (sauvegarde complète, scan malware) sont planifiées, elles peuvent toutes se déclencher simultanément, créant des pics de charge qui dégradent les performances et peuvent provoquer des erreurs 500.

Comment Désactiver wp-cron.php Proprement (3 Étapes)

Étape 1 — Modifier wp-config.php

Ajoutez cette constante dans votre fichier wp-config.php, avant la ligne /* That's all, stop editing! */ :

define( 'DISABLE_WP_CRON', true );

Cette constante désactive le déclenchement automatique de WP-Cron lors des chargements de page. Pour une sécurisation complète de ce fichier stratégique, consultez notre guide sur la façon de sécuriser wp-config.php avec toutes les techniques recommandées.

Étape 2 — Bloquer l’Accès Direct via .htaccess

En complément, bloquez l’accès direct au fichier depuis l’extérieur. Ajoutez ces règles dans votre fichier .htaccess :

# Bloquer l'accès direct à wp-cron.php
<Files "wp-cron.php">
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Files>

Ces règles autorisent uniquement les appels locaux (depuis le serveur lui-même) et bloquent toute requête externe. Pour aller plus loin dans la configuration de ce fichier, notre article sur la sécurisation complète du fichier .htaccess WordPress couvre toutes les règles recommandées.

Étape 3 — Créer un Vrai Cron Système en Remplacement

⚠️ Cette étape est obligatoire. Sans cron système de remplacement, vos publications programmées et tâches automatiques ne s’exécuteront plus.

Sur un VPS ou serveur dédié (Linux) via SSH :

Éditez la crontab de l’utilisateur web :

crontab -e

Ajoutez cette ligne pour exécuter WP-Cron toutes les 5 minutes :

*/5 * * * * php /var/www/html/wp-cron.php >/dev/null 2>&1

Ou via wget si vous préférez une requête HTTP :

*/5 * * * * wget -q -O /dev/null "https://votresite.com/wp-cron.php?doing_wp_cron" >/dev/null 2>&1

Sur hébergement mutualisé (cPanel) :

  1. Connectez-vous à cPanel et accédez à Tâches Cron
  2. Définissez la fréquence : */5 * * * * (toutes les 5 minutes)
  3. Commande : wget -q -O /dev/null "https://votresite.com/wp-cron.php?doing_wp_cron"
  4. Sauvegardez

Auditer les Tâches WP-Cron Existantes

Avant de désactiver WP-Cron, auditez les tâches planifiées pour détecter d’éventuelles tâches malveillantes déjà en place.

Via WP-CLI

wp cron event list

Cette commande affiche toutes les tâches planifiées, leur fréquence et leur prochain déclenchement. Cherchez des tâches avec des noms suspects ou des fréquences inhabituellement courtes (toutes les secondes ou minutes).

Via un Plugin

Le plugin WP Crontrol (gratuit) permet de visualiser et gérer toutes les tâches WP-Cron depuis l’administration WordPress, sans accès SSH.

Signes d’une Tâche Malveillante

  • Noms de fonctions obscurs ou générés aléatoirement (ex: wp_a8f3d2_check)
  • Tâches récurrentes toutes les secondes ou dizaines de secondes
  • Callbacks pointant vers des fichiers dans /tmp/ ou /uploads/
  • Tâches ajoutées par des plugins que vous ne reconnaissez pas

Si vous détectez des tâches suspectes, votre site est peut-être déjà compromis. Consultez notre guide complet pour récupérer un site WordPress hacké et nettoyer une infection malware.

Récapitulatif : Checklist de Sécurisation wp-cron.php

  • define('DISABLE_WP_CRON', true); ajouté dans wp-config.php
  • ✅ Accès direct bloqué via .htaccess (Allow from 127.0.0.1 uniquement)
  • ✅ Cron système configuré (toutes les 5 minutes)
  • ✅ Liste des tâches cron auditée — aucune tâche suspecte
  • ✅ Plugins inutilisés désactivés et supprimés

FAQ — Questions Fréquentes sur wp-cron.php

Est-ce que désactiver wp-cron.php va casser mon site ?

Non, à condition de mettre en place un cron système en remplacement (étape 3 ci-dessus). Si vous désactivez WP-Cron sans alternative, les tâches planifiées (publications programmées, emails automatiques, sauvegardes) ne s’exécuteront plus. Le remplacement est obligatoire.

Comment vérifier si wp-cron.php est accessible publiquement ?

Ouvrez votre navigateur et accédez à https://votresite.com/wp-cron.php. Si la page affiche une réponse vide (code HTTP 200) ou un contenu quelconque sans erreur 403/404, le fichier est accessible. Après votre configuration .htaccess, la même URL devrait retourner un code 403 Forbidden.

Faut-il supprimer le fichier wp-cron.php ?

Non. Ne supprimez jamais ce fichier. WordPress en a besoin pour son fonctionnement interne, même avec DISABLE_WP_CRON actif. Le fichier est simplement appelé par votre cron système au lieu d’être déclenché par les visites. Sa suppression provoquerait des erreurs fatales.

wp-cron.php peut-il vraiment causer un DDoS ?

Oui. Des outils automatisés (bots, scripts de stress testing) peuvent envoyer des milliers de requêtes par minute vers ce fichier. Si chaque requête déclenche des tâches lourdes (sauvegarde complète, envoi de masse), le serveur sature rapidement. C’est particulièrement critique sur des hébergements mutualisés avec des ressources limitées.

Conclusion : 15 Minutes pour Éliminer un Vecteur d’Attaque Ignoré

wp-cron.php est l’un de ces composants WordPress que l’on n’examine pas parce qu’il « fonctionne tout seul ». Pourtant, sa conception par défaut — accessible publiquement, déclenché par n’importe quelle requête HTTP — en fait un vecteur d’attaque concret et documenté.

En désactivant le WP-Cron natif, en bloquant l’accès direct via .htaccess, et en configurant un vrai cron système, vous éliminez ce risque et améliorez les performances de votre site. Une action de 15 minutes, pour une protection durable.

Pour aller plus loin dans la sécurisation de votre installation WordPress, consultez notre checklist sécurité WordPress 2026 en 20 points essentiels.

Besoin d’un expert pour auditer et sécuriser votre site WordPress ? Contactez SecuriteWP pour un diagnostic complet.

✍️ À propos de l’auteur
Benjamin Bueno — Expert en cybersécurité WordPress et forensics web. Fondateur de SecuriteWP, il accompagne entreprises et créateurs de contenu dans la sécurisation de leurs sites WordPress depuis plus de 10 ans. Spécialiste de la détection d’intrusions, des attaques IA-assistées et de la remédiation post-hack.

En savoir plus →
Articles du même sujet

Nos experts français assurent un support et une prestation de qualité.

je demande de l’AIDE

Recevoir un devis
Demander un devis pour réparer un site

inscrivez vous a la newsletter

Nous vous enverrons des informations utiles et de qualité pour apprendre ainsi à mieux protéger votre site.
newsletter pour actualité WorPress

Partager cet article