CHECKCYBER

Sécuriser un site WordPress : la checklist essentielle

WordPress fait tourner une part considérable du web, ce qui en fait la cible numéro un des robots d'attaque automatisés. Ces robots ne dorment jamais : ils balaient Internet en continu, testant des milliers de sites par heure à la recherche d'une faille connue ou d'un identifiant faible. Si votre site est en ligne, il est déjà sondé, qu'il ait 10 ou 10 000 visiteurs.

La bonne nouvelle, c'est que l'immense majorité des piratages WordPress n'exploitent aucune faille sophistiquée : ils profitent d'une configuration négligée — une extension non mise à jour, un fichier sensible accessible, un mot de passe « admin/admin », des en-têtes de sécurité absents. Autrement dit, des problèmes que vous pouvez corriger vous-même. Voici la checklist qui couvre l'essentiel du risque, dans l'ordre de priorité.

Les fondations : HTTPS et mises à jour

Activez HTTPS sur tout le site et forcez la redirection depuis HTTP (réglage « Adresse du site (URL) » en https:// dans Réglages → Général, complété par une redirection 301 côté serveur). Maintenez ensuite WordPress, votre thème et surtout vos extensions à jour : les extensions obsolètes sont, de très loin, le premier vecteur de compromission. Activez les mises à jour automatiques au moins pour les correctifs de sécurité.

Faites le ménage : supprimez les extensions et thèmes inutilisés au lieu de simplement les désactiver, car un code désactivé mais présent reste exploitable. Vérifiez enfin la version de PHP de votre hébergement : une version en fin de vie (par exemple PHP 7.x) ne reçoit plus de correctifs et doit être basculée vers une version maintenue depuis le panneau de votre hébergeur.

Verrouiller l’exposition de fichiers

WordPress laisse parfois accessibles des fichiers à haut risque : wp-config.php (qui contient vos identifiants de base de données), le dossier .git d'un déploiement, des sauvegardes (.zip, .sql) oubliées à la racine, ou les fichiers de débogage. Un attaquant qui télécharge votre wp-config.php obtient un accès direct à votre base. Bloquez ces chemins au niveau du serveur, avant même que WordPress ne soit sollicité.

Apache — .htaccess (protéger les fichiers sensibles)
# Protéger wp-config.php
<Files wp-config.php>
  Require all denied
</Files>

# Bloquer fichiers cachés et sauvegardes
<FilesMatch "(\.env|\.bak|\.sql|\.old|\.zip)$">
  Require all denied
</FilesMatch>

Maîtriser xmlrpc.php et la page de connexion

Le fichier xmlrpc.php, activé par défaut, est massivement abusé pour deux types d'attaques : la force brute amplifiée (tester des centaines de mots de passe en une seule requête) et le déni de service (pingback). Si vous n'utilisez ni l'application mobile WordPress ni certains services de publication à distance, désactivez-le. Protégez aussi /wp-login.php contre la force brute en limitant le nombre de tentatives.

Pensez également à désactiver l'éditeur de fichiers intégré (qui permet de modifier le code des thèmes/extensions depuis l'admin), afin qu'un compte admin compromis ne puisse pas injecter de code directement.

Apache — .htaccess (bloquer xmlrpc.php)
<Files xmlrpc.php>
  Require all denied
</Files>
wp-config.php — désactiver l’éditeur de code
define('DISALLOW_FILE_EDIT', true);

Ajouter les en-têtes de sécurité

WordPress n'envoie aucun en-tête de sécurité par défaut. Ajoutez au minimum HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy et une Content-Security-Policy adaptée à vos extensions. Ces en-têtes protègent vos visiteurs contre le clickjacking, le vol de session et les injections de scripts (XSS). Vous pouvez les définir via le .htaccess de votre hébergement, ou directement depuis le thème enfant. Nos guides dédiés donnent la configuration exacte de chacun.

functions.php du thème enfant — en-têtes essentiels
add_action('send_headers', function () {
    header('X-Frame-Options: SAMEORIGIN');
    header('X-Content-Type-Options: nosniff');
    header('Referrer-Policy: strict-origin-when-cross-origin');
});

Protéger le compte admin et les e-mails

Utilisez un identifiant administrateur autre que « admin » (le tout premier testé par les robots), un mot de passe long et unique, et activez l'authentification à deux facteurs (2FA) via une extension dédiée. Limitez le nombre de tentatives de connexion pour casser la force brute.

Enfin, ne négligez pas la sécurité de votre domaine côté e-mail : publiez des enregistrements SPF et DMARC pour empêcher qu'un attaquant usurpe votre nom de domaine dans des campagnes de phishing. C'est un risque souvent oublié, qui n'a rien à voir avec WordPress lui-même mais protège votre réputation et vos clients.

[ FAQ // QUESTIONS FRÉQUENTES ]

Une extension de sécurité suffit-elle à protéger WordPress ?

Elle aide, mais ne remplace pas les fondamentaux : HTTPS, mises à jour régulières, fichiers sensibles bloqués et en-têtes de sécurité. Une extension de sécurité posée sur une base mal configurée ou non mise à jour donne surtout un faux sentiment de sécurité.

Comment savoir si mon site WordPress est bien configuré ?

Lancez un audit de surface : il détecte en quelques secondes l'état du HTTPS, les en-têtes manquants, les fichiers exposés et les bibliothèques JavaScript obsolètes, avec le correctif pour chacun. C'est le moyen le plus rapide d'objectiver votre posture sans accéder au serveur.

Faut-il vraiment désactiver xmlrpc.php ?

Si vous n'utilisez pas l'application mobile officielle, la publication par e-mail ou certains plugins de connexion à des services tiers, oui : le bénéfice (couper un vecteur de force brute et de déni de service très exploité) dépasse largement l'inconvénient. Vérifiez simplement au préalable qu'aucun service que vous utilisez n'en dépend.

À quelle fréquence mettre à jour WordPress et les extensions ?

Le plus tôt possible après la sortie d'un correctif de sécurité, car les failles publiées sont exploitées en masse dans les jours qui suivent. Activez les mises à jour automatiques pour les correctifs mineurs et de sécurité, et vérifiez manuellement les mises à jour majeures après une sauvegarde.

[ PASSEZ À L’ACTION ]

Votre site est-il concerné ?

Lancez un audit de surface gratuit et obtenez en quelques secondes la liste exacte de vos failles, avec le correctif pour chacune. Anonyme, sans inscription.

▶ Auditer mon site

[ À LIRE AUSSI ]

[ CheckCyber // MIS À JOUR LE 2026-06-29 ]