La double authentification (2FA, A2F) sur WordPress ajoute un second facteur après le mot de passe : une application TOTP (qui génère un code à six chiffres toutes les 30 secondes), une clé physique, parfois un code e-mail. Elle ne rend pas un site invulnérable. Elle rend un mot de passe fuité insuffisant. Pour une PME dont l'admin WordPress circule entre trois personnes et un prestataire, c'est le geste de sécurité qui a le meilleur rapport effort / risque. Cet article explique l'intérêt, les méthodes, comment la déployer sans bloquer le gérant le dimanche, et comment elle s'articule avec l'URL d'admin et la fin de XML-RPC.
🔎 Pourquoi la 2FA vaut mieux qu'un énième plugin de scan
Les scans de malware ont leur place. Ils ne servent à rien si quelqu'un se connecte avec admin / Admin123 et installe un plugin pirate. La double authentification WordPress s'attaque à ce scénario, le plus fréquent : réutilisation massive d'identifiants volés (credential stuffing), mot de passe réutilisé d'une autre fuite, stagiaire qui part sans qu'on révoque le compte.
Un plugin « sécurité » qui colorie le site en vert sans 2FA sur les administrateurs rassure à tort. Je préfère un WordPress mince, à jour, 2FA obligatoire pour les rôles élevés, XML-RPC désactivé, une surveillance sans alertes inutiles.
🛠️ TOTP, e-mail, SMS, clé : que choisir

TOTP (Authy, Google Authenticator, 1Password) est le bon défaut : pas de SMS interceptible, fonctionne hors e-mail. La clé physique (FIDO2, une clé USB ou NFC qu'on branche ou qu'on approche) est plus solide, parfois trop pour une petite équipe. L'e-mail est mieux que rien, fragile si la boîte est la même que le mot de passe WordPress. Le SMS, je l'évite.
On choisit une méthode que vous tiendrez. Une 2FA trop pénible se fait contourner (codes collés dans un document partagé). Mieux vaut TOTP sur le téléphone de chacun, plus des codes de secours dans un coffre, qu'une usine à gaz que personne n'utilise.
✅ Codes de secours et compte de secours
Le jour où le téléphone tombe dans l'évier, quelqu'un doit pouvoir entrer. Codes de secours à usage unique, stockés hors WordPress (gestionnaire d'équipe). Éventuellement un compte d'urgence hors 2FA, mot de passe très long, jamais utilisé, IP restreinte : je m'en sers peu, trop facile à oublier ouvert.
Documentez : qui a les codes, où, comment on ré-enrôle un utilisateur. Une TMA qui active la 2FA sans cette page crée le prochain incident : « on est bloqués dehors, le site n'est pas down, on ne peut plus travailler ».
⚠️ Déployer sans vous enfermer
On active d'abord sur les administrateurs techniques, en préprod. On forme. On pose les codes de secours. Puis les éditeurs. On n'oblige pas la 2FA le lundi matin de la campagne publicitaire sans préavis. On annonce, on accompagne, on vérifie que chacun a réussi une connexion.
Les comptes inactifs se désactivent, on ne leur pose pas de 2FA pour la forme. Moins de comptes, plus de 2FA. Dans cet ordre.
- Inventaire des comptes et rôles avant d'activer
- TOTP + codes de secours dans un coffre
- Copie de test puis production, utilisateurs prévenus
- Révocation dès qu'une personne part
📌 Plugins, SSO, hébergeurs

Il existe de bons plugins 2FA. Il en existe qui emmènent vingt ventes additionnelles. On en choisit un tenu, on le teste sur une copie de test (surtout WooCommerce et les rôles shop). Certains hébergeurs proposent une 2FA au niveau wp-login via leur couche. Tant que le facteur est réel et que le retour arrière est clair, l'outil importe moins que l'usage.
Un SSO d'entreprise (Google, Microsoft) avec 2FA déjà côté identité peut suffire si WordPress délègue vraiment l'authentification. Un bouton « login Google » cosmétique plus le wp-login ouvert à côté, non.
🧭 Ce que la 2FA ne couvre pas
Une faille de plugin, un thème pirate, un hébergement mutualisé déjà compromis, une session volée sur un poste infesté. La 2FA n'est pas un antivirus. Elle ne remplace pas les mises à jour, ni les sauvegardes qui restaurent, ni le monitoring.
Elle ne remplace pas non plus la politique de mots de passe. Un TOTP derrière « azerty » reste mieux que « azerty » seul. Ce n'est pas une architecture de banque. C'est le minimum 2026 pour un admin WordPress.
💡 Avec XML-RPC et l'URL d'admin
Si XML-RPC reste ouvert, une partie des attaques de mots de passe contourne le joli formulaire 2FA. On coupe XML-RPC. Si l'URL wp-admin est connue de tout internet, on reçoit plus de bruit : on la change ou on la restreint, plus 2FA. Les trois gestes se renforcent.
C'est le pack de durcissement que je pose en début de TMA. Pas soixante options d'un plugin tout-en-un. Trois décisions, documentées, testées en préprod.
🧪 Faire vivre la 2FA dans le temps

On révise les comptes tous les trimestres. On ré-enrôle ceux qui ont changé de téléphone. On teste un code de secours une fois par an (et on le remplace). On n'attend pas d'être bloqué pour découvrir que le coffre était le mail d'un prestataire parti.
La double authentification WordPress est un processus, pas une case cochée. Comme les sauvegardes. Comme le monitoring. Les sites qui se font prendre ont souvent « eu de la 2FA un moment ».
🔎 Rôles : qui doit l'avoir, qui peut attendre
Administrateurs et éditeurs : tout de suite. Gestionnaires de boutique WooCommerce : tout de suite. Abonnés et clients boutique : en général non, leur « compte » n'est pas wp-admin, et une 2FA mal posée casse le tunnel. On distingue login client et login admin. Les confondre, c'est un incident de campagne.
Les auteurs ponctuels (un stagiaire, un prestataire SEO) : 2FA ou pas d'accès admin. Un compte auteur sans 2FA plus un mot de passe faible est une rampe. On préfère un accès limité dans le temps.
🛠️ Incidents 2FA que j'ai déjà vus
Téléphone perdu sans codes de secours. Plugin 2FA incompatible avec un SSO. Cache qui sert une mauvaise page de login. Prestataire qui désactive la 2FA « le temps d'une mise à jour » et oublie. Tous se préviennent : coffre, préprod, interdiction de désactiver sans ticket, revue trimestrielle.
La double authentification WordPress n'est pas un projet. C'est une hygiène. Comme les sauvegardes, elle se teste le jour calme, pas le jour du lockout.
Un mot de passe seul sur wp-admin, c'est un compte déjà à moitié perdu.







