Sécuriser son site WordPress : 12 étapes essentielles

Dans cet article

  • WPS Hide Login : fait le travail simplement : il vous permet de définir une URL personnalisée (par exemple /accès-admin/) sans modifier aucun fichier du cœur de WordPress.
  • Wordfence Login Security : module autonome, indépendant du plugin Wordfence complet.
  • Uptime monitoring : UptimeRobot (gratuit) ou Hetrixtools pour être alerté si le site tombe.
  • Surveillance renforcée : surveillez les créations de comptes suspectes, les tentatives de commandes frauduleuses, les changements d’adresse email sur les comptes existants.
  • Scannez avec Wordfence : lancez un scan complet.

La sécurité d’un site WordPress n’est pas un luxe réservé aux grandes entreprises. Chaque jour, des milliers de sites sont compromis par des attaques automatisées qui exploitent des failles connues, des mots de passé faibles ou des plugins obsolètes. Le problème : la majorité de ces intrusions auraient pu être évitées avec quelques mesures simples appliquées dès le départ.

En tant que développeur full-stack depuis 2014, j’ai nettoyé suffisamment de sites piratés pour savoir qu’il vaut mieux prévenir que guérir. Un site compromis, c’est une perte de référencement, une atteinte à la réputation, et souvent des données clients exposées. Sans parler du temps passé à tout remettre en ordre.

Ce guide couvre 12 étapes concrètes pour sécuriser votre site WordPress. Pas de théorie abstraite : chaque point s’accompagne d’instructions précises, de bouts de code à copier-coller et de recommandations d’outils testés en production. Que vous gériez un blog personnel ou un site e-commerce, ces mesures constituent le socle de sécurité minimal à mettre en place. Commençons par les fondations.

Étapes 1 à 3 : les fondations de la sécurité WordPress

1. Maintenir WordPress, thèmes et plugins à jour

Les mises à jour ne sont pas cosmétiques. Elles corrigent des vulnérabilités identifiées et documentées publiquement. Dès qu’un patch de sécurité sort, les attaquants automatisent l’exploitation de la faille sur les sites qui ne l’ont pas appliqué.

Activez les mises à jour automatiques pour le cœur de WordPress et les plugins critiques :

// Dans wp-config.php
define('WP_AUTO_UPDATE_CORE', true);

// Ou via WP-CLI pour forcer les mises à jour plugins
wp plugin update --all
wp theme update --all
wp core update

Supprimez tout plugin ou thème inactif. Même désactivé, un plugin vulnérable reste exploitable si ses fichiers sont accessibles sur le serveur.

2. Utiliser des mots de passé robustes

Un mot de passé de 8 caractères se craque en quelques heures avec les outils actuels. Imposez un minimum de 16 caractères, mélangeant majuscules, minuscules, chiffres et caractères spéciaux. Utilisez un gestionnaire de mots de passé comme Bitwarden ou KeePass.

Vérifiez la robustesse des comptes existants avec WP-CLI :

# Lister tous les administrateurs
wp user list --rôle=administrator --fields=ID,user_login,user_email

# Forcer le changement de mot de passé pour un utilisateur
wp user update 1 --user_pass="NouveauMotDePasseRobuste2026!"

Ne réutilisez jamais le même mot de passé entre votre hébergeur, votre base de données, votre FTP et votre compte WordPress.

3. Activer l’authentification à deux facteurs (2FA)

Même avec un mot de passé solide, un keylogger ou une fuite de base de données peut le compromettre. La 2FA ajoute une couche supplémentaire : un code temporaire généré par une application sur votre téléphone.

Les plugins recommandés pour la 2FA sur WordPress :

  • WP 2FA : simple, gratuit, compatible avec Google Authenticator et Authy
  • Two Factor Authentication : léger, open-source, supporte les clés FIDO U2F
  • Wordfence Login Security : module autonome, indépendant du plugin Wordfence complet

Activez la 2FA pour tous les comptes administrateurs et éditeurs. Sans exception.

Étapes 4 à 6 : renforcer la configuration serveur

4. Protéger le fichier wp-config.php

Le fichier wp-config.php contient les identifiants de votre base de données et les clés de sécurité de WordPress. Il ne doit jamais être accessible depuis le navigateur.

Configuration serveur sécurisée
Configuration du serveur via terminal pour renforcer la sécurité

Ajoutez ces directives dans votre fichier .htaccess à la racine du site :

# Protéger wp-config.php
<Files wp-config.php>
    Order Allow,Deny
    Deny from all
</Files>

# Protéger .htaccess lui-même
<Files .htaccess>
    Order Allow,Deny
    Deny from all
</Files>

Ajoutez aussi les constantes de sécurité dans wp-config.php :

// Désactiver l'éditeur de fichiers intégré
define('DISALLOW_FILE_EDIT', true);

// Forcer SSL pour l'administration
define('FORCE_SSL_ADMIN', true);

// Limiter les révisions d'articles
define('WP_POST_REVISIONS', 5);

// Désactiver le débogage en production
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);

5. Sécuriser le fichier .htaccess

Le fichier .htaccess offre un contrôle puissant sur le comportement du serveur Apache. Voici les règles de sécurité essentielles :

# Désactiver le listing des répertoires
Options -Indexes

# Bloquer l'exécution de PHP dans /uploads/
<Directory "/wp-content/uploads/">
    <FilesMatch "\.php$">
        Order Allow,Deny
        Deny from all
    </FilesMatch>
</Directory>

# Bloquer l'accès aux fichiers sensibles
<FilesMatch "(\.env|\.git|\.log|error_log)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

# Headers de sécurité
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "strict-origin-when-cross-origin"

6. Configurer les permissions de fichiers

Des permissions trop permissives exposent vos fichiers à des modifications non autorisées. Voici les permissions recommandées pour WordPress :

# Permissions recommandées
find /var/www/web-city.fr -type d -exec chmod 755 {} \;
find /var/www/web-city.fr -type f -exec chmod 644 {} \;

# wp-config.php en lecture seule
chmod 400 /var/www/web-city.fr/wp-config.php

# Propriétaire correct (adapter selon votre config)
chown -R www-data:www-data /var/www/web-city.fr

Vérifiez régulièrement qu’aucun fichier n’a été modifié de manière inattendue. Un changement de permission non sollicité est souvent le signe d’une compromission.

Étapes 7 à 9 : sécurisation applicative

7. Installer un certificat SSL et forcer HTTPS

Le SSL chiffre les échanges entre le navigateur et le serveur. Sans lui, les identifiants de connexion transitent en clair sur le réseau. Let’s Encrypt fournit des certificats gratuits, renouvelables automatiquement.

# Installer Certbot et obtenir un certificat
apt install certbot python3-certbot-apache
certbot --apache -d web-city.fr -d www.web-city.fr

# Renouvellement automatique (déjà configuré par Certbot)
certbot renew --dry-run

Ajoutez la redirection HTTP vers HTTPS dans .htaccess :

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

8. Désactiver XML-RPC

Le protocole XML-RPC est une porte d’entrée historique pour les attaques par force brute et les attaques DDoS amplifiées. Si vous n’utilisez pas l’application mobile WordPress ou Jetpack, désactivez-le.

# Dans .htaccess
<Files xmlrpc.php>
    Order Allow,Deny
    Deny from all
</Files>

Ou via un filtre PHP dans functions.php :

// Désactiver XML-RPC complètement
add_filter('xmlrpc_enabled', '__return_false');

// Supprimer le lien dans le header
remove_action('wp_head', 'rsd_link');

9. Modifier l’URL de connexion

L’URL par défaut /wp-admin/ et /wp-login.php est la première ciblé des bots. Changer cette URL réduit drastiquement les tentatives de force brute.

Le plugin WPS Hide Login fait le travail simplement : il vous permet de définir une URL personnalisée (par exemple /accès-admin/) sans modifier aucun fichier du cœur de WordPress. Léger, gratuit, et compatible avec la quasi-totalité des configurations.

Alternative plus complète : iThemes Security (renommé Solid Security) proposé cette fonctionnalité parmi de nombreuses autres options de durcissement.

Étapes 10 à 12 : surveillance et sauvegarde

10. Mettre en place des sauvegardes automatiques

Une sauvegarde fiable est votre dernier rempart. Si tout le reste échoue, une sauvegarde récente vous permet de restaurer votre site en quelques minutes.

Centre de surveillance cybersécurité
Surveillance en temps réel des menaces et tentatives d’intrusion

Règles d’or des sauvegardes :

  • Sauvegarde quotidienne de la base de données
  • Sauvegarde hebdomadaire des fichiers complets
  • Stockage externe (pas sur le même serveur)
  • Test de restauration mensuel

Script de sauvegarde via WP-CLI :

#!/bin/bash
DATE=$(date +%Y%m%d)
SITE_PATH="/var/www/web-city.fr"
BACKUP_DIR="/backups/web-city"

# Sauvegarde base de données
wp --allow-root --path=$SITE_PATH db export $BACKUP_DIR/db_$DATE.sql

# Sauvegarde fichiers
tar -czf $BACKUP_DIR/files_$DATE.tar.gz $SITE_PATH

# Nettoyage des sauvegardes de plus de 30 jours
find $BACKUP_DIR -type f -mtime +30 -delete

Plugins recommandés : UpdraftPlus (gratuit, sauvegarde vers Google Drive, Dropbox, S3) ou BlogVault (payant, sauvegardes incrémentales et restauration en un clic). ★ lien partenaire

11. Utiliser un plugin de sécurité complet

Un plugin de sécurité centralise la détection des menaces, le pare-feu applicatif et le scan de malwares. Les trois leaders du marché :

  • Wordfence Security : pare-feu, scan de malwares, protection brute force. Version gratuite très complète.
  • Sucuri Security : monitoring d’intégrité, audit de sécurité, pare-feu cloud (version payante).
  • Solid Security (ex-iThemes) : durcissement WordPress, détection de changements de fichiers, 2FA intégrée.

Un seul plugin de sécurité suffit. En installer plusieurs crée des conflits et des faux positifs. Wordfence reste le choix le plus populaire, avec plus de 4 millions d’installations actives. ★ lien partenaire

12. Surveiller activement votre site

La sécurité n’est pas un état, c’est un processus. Mettez en place une surveillance active :

  • Google Search Console : alertes en cas de détection de malware ou de pages piratées
  • Uptime monitoring : UptimeRobot (gratuit) ou Hetrixtools pour être alerté si le site tombe
  • Logs serveur : analysez régulièrement les tentatives de connexion échouées
  • Scan régulier : planifiez un scan Wordfence quotidien
# Vérifier les dernières connexions échouées (dans les logs)
grep "POST /wp-login.php" /var/log/apache2/access.log | tail -50

# Scanner les fichiers modifiés récemment
find /var/www/web-city.fr -type f -mtime -1 -name "*.php" | head -20

La sécurité côté hébergeur

Votre hébergeur joue un rôle fondamental dans la sécurité de votre site. Voici ce que chaque hébergeur apporte nativement :

Protection o2switch Hostinger OVH Pro Infomaniak
CloudLinux (isolation)
Imunify360 (malware)
ModSecurity (WAF)
Anti-DDoS ✓ (VAC)
Sauvegardes auto JetBackup 30j Quotidienne Quotidienne 14j Quotidienne 30j
SSL Let’s Encrypt ✓ Auto ✓ Auto ✓ Auto ✓ Auto

o2switch offre la meilleure protection native grâce à CloudLinux (chaque compte est isolé dans un conteneur) et Imunify360 (détection proactive des malwares avant qu’ils ne soient exécutés). Avec OVH, l’anti-DDoS VAC est très efficace mais l’isolation des comptes mutualisés est plus basique.

Un bon hébergeur ne remplace pas les mesures côté WordPress (les 12 étapes ci-dessus), mais il fournit une première ligne de défense. Si votre hébergeur n’offre pas de WAF ni d’isolation, les mesures WordPress deviennent encore plus critiques.

Sécuriser WordPress pour le e-commerce

Un site e-commerce manipule des données sensibles (coordonnées clients, adresses de livraison, historique de commandes). Les enjeux de sécurité sont plus élevés :

  • Conformité PCI-DSS : si vous traitez des paiements par carte, votre site doit être conforme. En pratique, utiliser Stripe ou PayPal comme passerelle de paiement vous exempte de la conformité directe (Stripe est PCI-DSS Level 1). Ne stockez jamais les données de carte sur votre serveur.
  • HTTPS obligatoire : les pages de paiement et de compte client doivent être chiffrées. Avec FORCE_SSL_ADMIN dans wp-config.php et la redirection .htaccess, c’est couvert.
  • Surveillance renforcée : surveillez les créations de comptes suspectes, les tentatives de commandes frauduleuses, les changements d’adresse email sur les comptes existants.
  • Sauvegardes plus fréquentes : pour un e-commerce actif, sauvegardez la base de données toutes les 6 heures minimum. Une commande perdue est un client perdu.
  • Plugin anti-fraude : WooCommerce Anti-Fraud détecte les commandes suspectes (mismatch adresse/IP, multiples tentatives, emails jetables).

Content Security Policy (CSP) : la protection avancée

Pour les utilisateurs avancés, les headers Content Security Policy (CSP) sont la protection la plus efficace contre les attaques XSS (Cross-Site Scripting). Le CSP indique au navigateur quelles sources de contenu sont autorisées :

# CSP basique dans .htaccess
Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' *.google-analytics.com *.googletagmanager.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com; font-src 'self' fonts.gstatic.com; img-src 'self' data: *.wp.com *.gravatar.com;"

Attention : un CSP mal configuré peut casser votre site (scripts bloqués, polices non chargées). Testez en mode « report-only » d’abord :

# Mode report-only (ne bloque rien, juste les logs)
Header always set Content-Security-Policy-Report-Only "default-src 'self'; ..."

Analysez les rapports dans la console du navigateur (F12 > Console) pour identifier les sources légitimes à ajouter avant de passer en mode actif.

Que faire si votre site est piraté

Malgré toutes les précautions, un piratage reste possible. Voici la procédure de récupération :

  1. Ne paniquez pas. Documentez ce que vous observez (captures d’écran, URLs, comportement).
  2. Mettez le site en maintenance : wp maintenance-mode activate pour éviter que les visiteurs voient le contenu piraté.
  3. Changez tous les mots de passe : WordPress admin, base de données, FTP, hébergeur.
  4. Scannez avec Wordfence : lancez un scan complet. Wordfence identifie les fichiers modifiés ou ajoutés par l’attaquant.
  5. Restaurez une sauvegarde propre : si vous avez des sauvegardes récentes (et vous devriez), restaurez la dernière version saine.
  6. Mettez tout à jour : WordPress core, thèmes, plugins. La faille exploitée vient souvent d’un plugin obsolète.
  7. Vérifiez les utilisateurs : supprimez tout compte admin que vous n’avez pas créé.
  8. Demandez la réexamen : si Google a signalé votre site comme dangereux, demandez un réexamen dans Search Console.

Si vous n’êtes pas en mesure de nettoyer le site vous-même, contactez le support de votre hébergeur. o2switch peut vous aider à identifier et résoudre le problème. Pour les cas complexes, Sucuri propose un service de nettoyage professionnel (199 $/an).

Checklist de sécurité WordPress

Voici un résumé des 12 étapes à cocher. Imprimez cette liste et parcourez-la pour chaque site que vous gérez :

Les 12 tapes de scurisation - web-city.fr
Les 12 tapes de scurisation – web-city.fr
Checklist sécurité WordPress
Liste de vérification complète pour sécuriser un site WordPress
  1. WordPress, thèmes et plugins à jour
  2. Mots de passé de 16+ caractères, uniques
  3. 2FA activée sur tous les comptes admin
  4. wp-config.php protégé et durci
  5. .htaccess sécurisé avec headers de sécurité
  6. Permissions fichiers : 644 / dossiers : 755
  7. SSL actif, HTTPS forcé
  8. XML-RPC désactivé
  9. URL de connexion modifiée
  10. Sauvegardes automatiques, stockage externe
  11. Plugin de sécurité installé et configuré
  12. Surveillance et alertes en place

Ces 12 mesures bloquent la grande majorité des attaques automatisées. Aucune n’est complexe à mettre en œuvre ; le plus difficile, c’est de les appliquer toutes et de les maintenir dans le temps.

Pour aller plus loin, consultez notre guide pour créer un site WordPress en 2026 et découvrez les meilleurs plugins WordPress gratuits pour compléter votre installation.

🏆

La sécurité commence par un bon hébergeur

Certificat SSL gratuit, pare-feu serveur, sauvegardes quotidiennes incluses.

Comparer les hébergeurs sécurisés →

À retenir

  • Le plugin WPS Hide Login fait le travail simplement : il vous permet de définir une URL personnalisée (par exemple /accès-admin/) sans modifier aucun fichier du cœur de WordPress.
  • Alternative plus complète : iThemes Security (renommé Solid Security) proposé cette fonctionnalité parmi de nombreuses autres options de durcissement.
  • Plugins recommandés : UpdraftPlus (gratuit, sauvegarde vers Google Drive, Dropbox, S3) ou BlogVault (payant, sauvegardes incrémentales et restauration en un clic).
  • Plugins recommandés : UpdraftPlus (gratuit, sauvegarde vers Google Drive, Dropbox, S3) ou BlogVault (payant, sauvegardes incrémentales et restauration en un clic).

Questions fréquentes


Mon site WordPress est-il réellement menacé si c’est un petit blog ?

Oui. Les attaques automatisées ne distinguent pas les petits sites des grands. Les bots scannent en permanence les sites WordPress pour exploiter des failles connues, quelle que soit la taille du site. Un petit blog piraté sert souvent de relais pour envoyer du spam ou héberger du phishing.

Quel est le meilleur plugin de sécurité gratuit pour WordPress ?

Wordfence Security offre le meilleur rapport fonctionnalités/prix en version gratuite. Il inclut un pare-feu applicatif, un scanner de malwares, la protection contre le brute force et un tableau de bord de sécurité détaillé. La version premium ajoute les règles de pare-feu en temps réel et le blocage par pays.

À quelle fréquence dois-je sauvegarder mon site WordPress ?

La fréquence dépend de l’activité du site. Un blog avec 2-3 articles par semaine : sauvegarde quotidienne de la base de données, hebdomadaire pour les fichiers. Un site e-commerce ou à fort trafic : sauvegarde toutes les 6 heures minimum. Conservez au moins 30 jours d’historique et stockez les sauvegardes sur un service externe.

Est-ce que changer l’URL de connexion suffit à protéger mon site ?

Non, c’est une mesure complémentaire, pas suffisante en elle-même. Changer l’URL de connexion réduit les tentatives de brute force automatisées, mais un attaquant déterminé peut la retrouver. Combinez cette mesure avec un mot de passé fort, la 2FA et un plugin de sécurité pour une protection efficace.

Comment savoir si mon site WordPress a été piraté ?

Les signes courants : redirections vers des sites suspects, pages inconnues indexées dans Google, ralentissement soudain, fichiers PHP inconnus dans /uploads/, utilisateurs administrateurs que vous n’avez pas créés, alertes dans Google Search Console. Lancez un scan avec Wordfence ou Sucuri SiteCheck (gratuit en ligne) pour un diagnostic rapide.

Damien Roux
Damien Roux

Ingénieur système et expert hébergement web. Fondateur de web-city.fr, il partage guides pratiques, comparatifs objectifs et outils gratuits pour choisir le bon hébergeur et créer son site WordPress.

Retour en haut