La page de connexion WordPress est souvent la cible de tentatives de brute-force. Pourtant, peu d’utilisateurs la sécurisent ou la personnalisent. Dans cet article, je te montre comment :
- Modifier son apparence pour refléter ton branding
- Cacher ou renommer
wp-login.php - Ajouter des protections anti-bot, bruteforce et spam
- Et même y intégrer une couche de sécurité supplémentaire avec du code
🎨 1. Personnaliser l’apparence de wp-login.php
➤ Modifier le logo WordPress
Ajoute ce code dans ton fichier functions.php (ou via un plugin comme Code Snippets) :
function mlebrun_custom_login_logo() {
echo '
<style type="text/css">
body.login div#login h1 a {
background-image: url(' . get_stylesheet_directory_uri() . '/images/logo-login.png);
background-size: contain;
width: 100%;
height: 80px;
}
</style>';
}
add_action('login_enqueue_scripts', 'mlebrun_custom_login_logo');
🔁 Crée une image logo-login.png dans /wp-content/themes/ton-theme/images/.
➤ Changer l’URL du logo
function mlebrun_login_logo_url() {
return home_url();
}
add_filter('login_headerurl', 'mlebrun_login_logo_url');
➤ Modifier le CSS de la page
function mlebrun_custom_login_styles() {
echo '<style>
body.login {
background-color: #f5f5f5;
}
.login #loginform {
border-radius: 10px;
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}
.login label {
font-weight: bold;
color: #003559;
}
</style>';
}
add_action('login_enqueue_scripts', 'mlebrun_custom_login_styles');
🛡️ 2. Sécuriser la page de connexion
🔒 A. Renommer wp-login.php
Utilise le plugin WPS Hide Login :
- Installe-le depuis l’admin
- Va dans Réglages > Général
- Change
/wp-login.phppar une URL personnalisée (ex./connexion-admin-mlebrun)
Cela empêche les bots d’accéder à l’URL par défaut.
➡️ Plugin : WPS Hide Login
🔐 B. Limiter les tentatives de connexion
Installe Limit Login Attempts Reloaded ou Loginizer :
wp plugin install limit-login-attempts-reloaded --activate
Configure le plugin :
- 3 tentatives max
- Blocage IP 20 min
- Durcissement après X tentatives
🧠 C. Ajouter un CAPTCHA invisible
Installe le plugin reCAPTCHA by BestWebSoft ou Login No Captcha reCAPTCHA.
Procédure :
- Crée des clés reCAPTCHA v2 ou v3 ici : https://www.google.com/recaptcha/admin
- Colle-les dans les réglages du plugin
- Active la protection sur la page de connexion
🔏 D. Forcer un mot de passe fort
Ajoute ce filtre dans functions.php pour imposer des mots de passe forts aux utilisateurs :
function mlebrun_enforce_strong_passwords($errors, $update, $user) {
if (!$update && strlen($_POST['pass1']) < 12) {
$errors->add('pass_too_short', 'Votre mot de passe doit contenir au moins 12 caractères.');
}
return $errors;
}
add_filter('user_profile_update_errors', 'mlebrun_enforce_strong_passwords', 10, 3);
🔐 Bonus : Double authentification (2FA)
Utilise WP 2FA ou Two Factor Authentication :
- Compatible Google Authenticator, Authy, etc.
- Forçable pour les rôles admins uniquement
➡️ Plugin : WP 2FA
🚫 Bloquer l’accès à wp-login.php et wp-admin sauf IP
Si tu veux verrouiller l’accès au backend à certaines IP seulement, ajoute dans .htaccess :
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Files>
Remplace 123.123.123.123 par ton IP publique. Tu peux en ajouter plusieurs.
🧩 Alternative : Page de connexion personnalisée avec Elementor
Avec Elementor Pro, tu peux :
- Créer une page dédiée de connexion
- Masquer complètement
wp-login.php - Ajouter du design, des redirections, des messages d’erreur custom
Utilise le widget “Formulaire” > Mode “Connexion”.
