Changer l’acces wp-admin
Changer l’URL de connexion (recommandé)
Option A — Avec un plugin (le plus simple)
- WPS Hide Login (gratuit) ou équivalent.
- Étapes:
- Sauvegarde + accès FTP au cas où.
- Installez/activez WPS Hide Login.
- Réglez votre nouvelle URL, par ex. /mon-espace/ et enregistrez.
- Testez dans une fenêtre privée. Notez bien la nouvelle URL.
Avantages: pas de hack du core, gère les détails et la compatibilité.
Attention: si vous désactivez le plugin, l’URL redevient /wp-login.php.
Option B — Sans plugin (serveur web)
Idée: garder wp-login.php mais ne l’exposer que derrière une URL “propre” et bloquer l’accès direct.
Apache (.htaccess) dans la racine WordPress:
# URL de connexion personnalisée
RewriteRule ^mon-espace$ wp-login.php [QSA,L]
# Bloquer l'accès direct à wp-login.php (sauf via l'URL ci-dessus)
<Files wp-login.php>
Require all denied
</Files>
Puis autorisez l’accès à wp-login.php uniquement quand il est appelé via la réécriture. Selon l’environnement, on préfère plutôt limiter par IP (voir plus bas) pour éviter des effets de bord. Testez soigneusement (actions=logout, reset password, etc.).
Nginx (bloc server):
# URL de connexion personnalisée
location = /mon-espace {
try_files $uri /wp-login.php$is_args$args;
}
# Bloquer l'accès direct
location = /wp-login.php {
return 404;
}
Note: certains workflows (déconnexion, erreurs nonce) peuvent appeler wp-login.php directement; ajustez si nécessaire.
2) Restreindre l’accès à /wp-admin/
Même si l’URL ne change pas, limiter qui peut y accéder coupe 99% des scans automatiques.
- Apache (autoriser une IP et bloquer le reste):
<Directory "/chemin/vers/votre-site/wp-admin">
Require ip 203.0.113.25
Require ip 2001:db8::/48
</Directory>
- Nginx:
location ^~ /wp-admin/ {
allow 203.0.113.25;
allow 2001:db8::/48;
deny all;
}
# Laissez admin-ajax.php accessible si nécessaire pour le front
location = /wp-admin/admin-ajax.php { allow all; }
- Alternative: protection par mot de passe (HTTP Basic) sur /wp-admin/.
3) Bonnes pratiques de sécurité à ajouter
- 2FA pour les comptes admin/éditeur (plugin “Two-Factor” officiel ou sécurité type Wordfence/Defender).
- Limiter les tentatives de connexion (Limit Login Attempts Reloaded, ou via votre WAF/Reverse proxy).
- Captcha/ReCAPTCHA sur le formulaire de connexion.
- Désactiver ou filtrer XML-RPC si vous ne l’utilisez pas (ou limiter par IP).
- Mises à jour automatiques, mots de passe forts, rôles minimaux, nettoyage des comptes inactifs.
- Si vous avez un CDN/WAF (Cloudflare), ajoutez une règle “Security Level High” ou un Access Policy sur /wp-login.php et /wp-admin/.
Limitations à connaître
- “Cacher” l’URL n’est pas une protection suffisante seule; pensez à la combiner avec 2FA et rate limiting.
- Certains plugins/themes s’attendent à pouvoir rediriger vers wp-login.php; testez après chaque changement.
- admin-ajax.php doit rester accessible au public pour des fonctions front (recherches, paniers, etc.).
