Les propriétaires de sites Web doivent donner la priorité à la sécurité de WordPress pour protéger leurs données sensibles et maintenir la confiance de leurs utilisateurs/utilisatrices. Une façon très efficace de le faire chez WPBeginner est de protéger par mot de passe notre répertoire d’administration WordPress.
Le répertoire wp-admin est le centre de contrôle de votre site WordPress. C’est là que vous gérez tout, du contenu aux Réglages, ce qui en fait une cible de choix pour les pirates. La protection par mot de passe de vos fichiers d’administration les mettra à l’abri des attaques.
Cet article propose un guide simple pour protéger facilement votre répertoire wp-admin par un mot de passe et renforcer la sécurité de votre site.
Pourquoi protéger par mot de passe votre répertoire d’administration WordPress ?
En protégeant votre répertoire d’administration WordPress par un mot de passe, vous ajoutez une calque de sécurité supplémentaire au point d’entrée le plus important de votre site WordPress.
Le tableau de bord WordPress est l’élément central de votre site. C’est là que vous publiez des publications et des pages, que vous personnalisez votre thème, que vous installez des extensions WordPress, etc.
Souvent, lorsque des pirates tentent de s’introduire sur votre site, ils le font via l’écran wp-admin en utilisant une attaque par force brute.
Vous pouvez protéger votre site web contre les attaques potentielles en utilisant des mesures de sécurité telles qu’un mot de passe fort et en limitant les tentatives de connexion.
Pour plus de sécurité, vous pouvez également protéger le répertoire wp-admin par un mot de passe. Ainsi, lorsque quelqu’un tentera d’accéder à votre zone d’administration, il devra saisir un identifiant et un mot de passe avant de pouvoir accéder à la page de connexion de WordPress.
Ceci étant dit, voyons comment vous pouvez protéger votre répertoire d’administration WordPress par un mot de passe, étape par étape.
La première méthode est recommandée pour la plupart des utilisateurs/utilisatrices, et vous pouvez utiliser les liens rapides ci-dessous pour passer directement à la méthode que vous souhaitez utiliser :
Tutoriel vidéo
Si vous préférez des instructions écrites, continuez à lire.
Méthode 1 : Protéger le mot de passe de wp-admin à l’aide de Directory Confidentialité (Recommandé)
La façon la plus simple de protéger par mot de passe votre répertoire d’administration WordPress est d’utiliser l’application Directory Confidentialité de votre fournisseur d’hébergement WordPress.
Tout d’abord, vous devez vous connecter au tableau de bord de votre compte hébergeur et cliquer sur l’option « Confidentialité du répertoire » dans la section Fichiers du tableau de bord cPanel de votre site.
Note : La plupart des hébergeurs utilisant cPanel, comme Bluehost, ont des étapes similaires. Cependant, votre tableau de bord pourrait être légèrement différent de nos captures d’écran, en fonction de votre fournisseur d’hébergement.
Vous accédez alors à un écran qui répertorie tous les différents répertoires de votre serveur. Vous devez trouver le dossier qui contient les fichiers de votre site.
Pour la plupart des propriétaires de sites, vous le trouverez en cliquant sur le dossier « public_html ».
Cela permet d’afficher tous les fichiers du site que vous avez installés sur votre serveur.
Ensuite, vous devez cliquer sur le dossier contenant le nom de domaine de votre site.
Dans ce dossier, vous verrez un dossier wp-admin
.
Au lieu de cliquer sur le nom du dossier, vous devez cliquer sur le bouton « Modifier » situé à côté du dossier.
Vous accédez alors à un écran dans lequel vous pouvez activer la protection par mot de passe.
Il vous suffit de cocher la case « Protéger ce répertoire par un mot de passe ». Si vous le souhaitez, vous pouvez également donner un nom à votre répertoire, comme « Admin Area », pour vous aider à vous en souvenir.
Une fois que vous avez fait cela, vous devez cliquer sur le bouton « Enregistrer ».
Vous accéderez à une page où le message de confirmation s’affichera.
Vous devez maintenant cliquer sur le bouton « Retour », et vous serez amené à un écran où vous pourrez créer un compte utilisateur qui sera en mesure d’accéder à ce répertoire.
Il vous sera demandé de saisir un identifiant et un mot de passe, puis de confirmer le mot de passe. Confirmez bien que vous avez noté votre identifiant et votre mot de passe dans un endroit sûr, par exemple dans une appli de gestion de mots de passe.
Confirmez-vous que vous avez bien cliqué sur le bouton « Enregistrer ».
Désormais, lorsque quelqu’un tentera d’accéder à votre répertoire wp-admin, il sera invité à saisir l’identifiant et le mot de passe que vous avez saisis/saisie ci-dessus.
Méthode 2 : Protéger le mot de passe de wp-admin à l’aide d’un code
Vous pouvez également protéger manuellement votre répertoire d’administration WordPress par un mot de passe. Pour ce faire, vous devez créer deux fichiers appelés .htpasswd
et .htaccess
.
Note : L’ajout de code à votre site WordPress peut être dangereux. Même une petite erreur peut provoquer des erreurs majeures sur votre site. Nous recommandons cette méthode uniquement aux utilisateurs/utilisatrices avancés.
Création du fichier .htaccess
Tout d’abord, ouvrez votre éditeur/éditrices de texte préféré et nommez le nouveau fichier .htaccess
.
Ensuite, vous devez copier l’extrait de code suivant et l’ajouter au fichier :
AuthName "Admins Only"
AuthUserFile /home/user/public_html/example.com/wp-admin/.htpasswd
AuthGroupFile /dev/null
AuthType basic
require user yourusername
Veillez à modifier le chemin ‘AuthUserFile’ à l’Emplacement où vous téléverserez le fichier .htpasswd
et à modifier ‘yourusername’ au nom d’utilisateur que vous souhaitez utiliser pour vous connecter.
N’oubliez pas d’enregistrer le fichier lorsque vous avez terminé.
Création du fichier .htpasswd
Une fois que vous avez fait cela, vous devez créer un fichier .htpasswd.
Pour ce faire, ouvrez un éditeur/éditrices de texte et créez un fichier appelé .htpasswd
. Ce fichier contient votre identifiant et votre mot de passe dans un format chiffré.
La manière la plus simple de générer le mot de passe chiffré est d’utiliser un générateur htpasswd.
Il vous suffit de saisir votre identifiant et votre mot de passe, de sélectionner le format de chiffrement et de cliquer sur le bouton « Créer un fichier .htpasswd ».
Le générateur htpasswd affiche une ligne de texte que vous devez coller dans votre fichier .htpasswd
. Confirmez votre choix en enregistrant le fichier une fois que vous l’avez fait.
Téléverser les fichiers .htaccess et .htpasswd dans le répertoire wp-admin
La dernière étape consiste à téléverser les deux fichiers que vous avez créés dans le dossier wp-admin de votre site.
Vous devrez vous connecter à votre compte d’hébergement WordPress à l’aide d’un client FTP ou de l’outil de gestion de fichiers en ligne fourni par votre fournisseur d’hébergement. Pour plus de détails, consultez notre guide pour débutants sur l’utilisation du FTP pour téléverser des fichiers sur WordPress.
Pour ce tutoriel, nous utiliserons FileZilla parce qu’il est gratuit et fonctionne sur Mac et Windows.
Une fois que vous vous êtes connecté à votre site, vous verrez les fichiers sur votre ordinateur dans la fenêtre de gauche et les fichiers sur votre site dans la fenêtre de droite. Sur la gauche, vous devez naviguer jusqu’à l’Emplacement où vous avez enregistré les fichiers .htaccess
et .htpasswd
.
Ensuite, sur la droite, vous devez vous rendre dans le répertoire wp-admin
du site que vous souhaitez protéger. La plupart des utilisateurs/utilisatrices devront double-cliquer sur le dossier public_html
, puis sur le dossier contenant leur nom de domaine, puis sur le dossier wp-admin
.
Vous pouvez maintenant sélectionner les deux fichiers de gauche et cliquer sur « Téléverser » dans le menu du clic droit ou simplement faire glisser les fichiers dans la fenêtre de gauche.
Désormais, votre répertoire ‘wp-admin’ sera protégé par un mot de passe.
Dépannage de la protection par mot de passe de wp-admin
Selon la façon dont votre serveur et votre site sont configurés, il est possible que vous rencontriez des erreurs WordPress. Ces erreurs peuvent être corrigées en ajoutant soigneusement du code à votre fichier .htaccess
.
Note : Il s’agit du fichier .htaccess
situé dans le dossier principal de votre site, et non de celui que vous avez téléversé dans le dossier ‘wp-admin’. Si vous avez du mal à le trouver, consultez notre guide sur les raisons pour lesquelles vous ne trouvez pas le fichier .htaccess et sur la manière de le localiser.
Corrigé l’erreur Ajax qui ne fonctionne pas
L’une des erreurs les plus courantes est que la fonctionnalité Ajax peut cesser de fonctionner sur l’interface publique de votre site. Si vous avez des extensions WordPress qui nécessitent Ajax, comme la recherche Ajax directe ou les formulaires de contact Ajax, vous remarquerez que ces extensions ne fonctionnent plus.
Pour corriger ce problème, ajoutez simplement le code suivant au fichier .htaccess
qui se trouve dans votre dossier wp-admin
:
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
Corrigé l’erreur 404 et le trop grand nombre de redirections
Deux autres erreurs que vous pourriez rencontrer sont l’erreur 404 et l’erreur « trop de redirections ».
La manière la plus simple de les corriger est d’ouvrir votre fichier .htaccess
principal, situé dans le répertoire de votre site, et d’ajouter la ligne de code suivante avant les règles de WordPress :
ErrorDocument 401 default
Bonus : Les meilleurs guides WordPress pour la sécurité de wp-admin
Nous espérons que cet article vous a aidé à apprendre comment protéger par mot de passe votre répertoire d’administration WordPress (wp-admin). Vous pouvez consulter d’autres guides sur la sécurisation de votre zone d’administration :
- Comment restreindre l’accès à l’administration de WordPress par adresse IP
- Astuces vitales pour protéger la zone d’administration de WordPress (mise à jour)
- Comment ajouter une URL de connexion personnalisée dans WordPress (étape par étape)
- Comment et pourquoi limiter les tentatives de connexion sur WordPress ?
- Comment ajouter l’authentification à deux facteurs dans WordPress (méthode gratuite)
- Comment ajouter des questions de sécurité à l’écran de connexion de WordPress
- Comment forcer les utilisateurs/utilisatrices à modifier leur mot de passe sur WordPress – Expire Password
- Comment réinitialiser les mots de passe de tous les utilisateurs/utilisatrices dans WordPress
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Mrteesurez
Thanks. I found it helpful.
I want to ask if the methods are all offering the same level of security, I would prefer and recommend to stick to the first method as it seems easy and straight forward.
Or is there any one that is better than the other ??
WPBeginner Support
These are different methods to achieve the same result so it would depend on your preference for which one you would use.
Administrateur
Mark
Is there anyway for hackers to gain access to this password and even change it, like in phpMyAdmin ?
WPBeginner Support
They would need access to your hosting provider or site files for this guide.
Administrateur
Salman
I have changed my login URL using the « WPS Hide Login » plugin. Lets say the previous URL ended in wp-admin/ and the new URL ends in hidden/ now how can I password protect this new URL?
WPBeginner Support
It would depend on what method you are using and how you changed the URL, as long as there is a file/folder in the new location you should be able to select that folder or change the path on line 2 of the htaccess method
Administrateur
Jiří Vaněk
WPShide doesn’t create a new folder, I use that too. The wp-admin folder is still on the server and functional. So if you use WPSHide, secure the wp-admin folder exactly the same.
Jiří Vaněk
A good practice is also to rename the WordPress administration URL and choose a different administrator username than ‘admin.’ Changing the URL makes it harder for attackers to locate the administration, and not using ‘admin’ as the administrator reduces the risk of a successful brute force attack.
WPBeginner Support
Having a username other than admin is definitely recommended but for changing the wp-admin url is not always recommended as that can cause trouble with some plugins as well as make troubleshooting more difficult.
Administrateur
Jose
Ajax fix worked fine. Thanks a lot for this.
WPBeginner Support
Glad our article could help
Administrateur
Umer Yaseen
What if someone accesses our WordPress admin directory by entering mywebsite.com/wp-login.php instead of mywebsite.com/wp-admin. This method only protects wp-admin and not protects wp-login.php. So how it is useful?
WPBeginner Support
This would show the same prompt for users trying to log in using the wp-login.php
Administrateur
nadia
you are the best. thanks for thousand time like allways.
WPBeginner Support
Glad you’ve found our content helpful
Administrateur
Lordemmaculate
I want to do this but my server is Nginx not Apache so I can’t use .htaccess
WPBeginner Support
We’ll see if we can add a method for that type of server when we update this article
Administrateur
Rajah
The first method through cPanel worked like a charm. However, when I logout again from WP and login again it doesn’t ask again for the directory password. Is it meant to ask only once?
WPBeginner Support
Your cookies/cache will remember the login information. Normally the next time you start up your computer it will require you to log in again.
Administrateur
Webo
Very good, Thank you…
WPBeginner Support
You’re welcome
Administrateur
Izzy
The « Password Protect Directories » is not on my cPanel under « securitiy », so I tried the manual way, but it doesn’t seem to work as it doesn’t ask for login when I open wp-admin…
WPBeginner Support
If you reach out to your hosting provider they should be able to assist and take a look if there’s any reason it wouldn’t be working.
Administrateur
Ahsan Ali
Thanks for your efforts!
I used cpanel method it works fine but the problem is that the password prompt appearing on every page of my website!
What i have to do so that it appear only at wp-admin page?
WPBeginner Support
It sounds like you may have password protected your public_html folder instead of the wp-admin folder. You would want to remove the current protection and attempt to set it up again
Administrateur
Onyenucheya Somto
please where can I find my main WordPress .htaccess file
WPBeginner Support
That would be where your WordPress folders are, you could either use FTP or your host’s file manager if they have one to get to your WordPress files.
Administrateur
CHHRIS
Please this settings works fine for me, but my problem is that am using woocommerce and yith woocoomerce my account page, so when ever users login to their my-account area they are often prompted to put the login details for my protected admin, how can i fix this?
WPBeginner Support
For that, you would want to remove this protection unless you wanted to give each user a login for the httpassword
Administrateur
Jose
My wp-admin login page is broken after use that code.
I set the ajax fixit, but, still broken.
WPBeginner Support
It would depend on the specific error you are running into when trying to get to your admin area for how to solve the problem
Administrateur
Rahul Yogi
Hy buddy, i had tried cpanel method which doesnt work for me but manual method work as shown above.
But i have one problem after going example.com/admin, i have to enter directory username and password but after after entering nothing happens means it does not redirect me to dashboard or anywhere. Just same page — shoing waiting for connection for example.com and get error too many redirect.
WPBeginner Support
You may want to try the recommendations in our article: https://www.wpbeginner.com/wp-tutorials/how-to-fix-error-too-many-redirects-issue-in-wordpress/
for the twoo many redirects, another option would be to make sure you fix the ajax issue using the method at the bottom of this article
Administrateur
Rahul Yogi
Thanks buddy, everything is working fine.
WPBeginner Support
Glad to hear
Brian
Wow,
You are a legend! Spent like 2hrs jumping from site to site to get this working… First site that mentioned the ErrorDocument 401 default. Works like a charm now
Thanks
WPBeginner Support
Glad our guide could help
Administrateur
Deb
Thanks so much – this is the first place I have found with all 3 bits of code that was needed – (I had the redirect problem). The code worked like a charm. I now have an extra layer of protection without adding another potentially vulnerable plugin.
WPBeginner Support
Glad our article could help
Administrateur
Garry
All I get after adding the above code in a .htacess file on /wp-admin folder is 500 internal server error.
WPBeginner Support
If the htaccess method is not working you could remove the code and then use the cpanel method for password protecting the directory
Administrateur
Colleen
I did this, followed the link for the error message and for some reason I don’t have a .htaccess file!
WPBeginner Support
The .htaccess by default is a hidden file, are you showing hidden files? https://www.wpbeginner.com/beginners-guide/why-you-cant-find-htaccess-file-on-your-wordpress-site/
Administrateur
Samwel
I followed the steps but i now can’t log in . It says « The server encountered an internal error or misconfiguration and was unable to complete your request. »
even on refreshing the page the pop up to key in password does not re-appear help out
WPBeginner Support
or resolving that error, you would want to take a look at our article here: https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-internal-server-error-in-wordpress/
Administrateur
maria hag
hi,
i bought new name and i change the name of website and than save it . now i cant login to admin. it show me 404 erorr
how can i change it
please advise
WPBeginner Support
You would want to reach out to your hosting provider and they should be able to help you have your new domain point toward where your site is currently
Administrateur
taher
I have activated password protection to wordpress directory via c-panel but wordfence is unable to scan my site. Due to ajax issue.
I tried fixing it by updating my wp-admin/.htaccess file with the provided code by you but wordfence is still unable to start a scan. What do you suggest?
WPBeginner Support
You may want to ensure your caching is cleared and if that error continues, reach out to Wordfence about their plugin
Administrateur
Amit Mukherjee
Enabling password protection of the wp-admin directory prevents me as logging in as the administrator. I get a page not found error. I cannot get to the login page. If I remove the password protection, I can login.
What should I do. I am setting up a Wordpress website for the first time.
WPBeginner Support
Hi Amit,
Yes you can remove password protection at anytime.
Administrateur
mary-anne J.
So how do you undo the password protect using the cPanel ..that is, I want to remove my password protection for the wp-admin directory
Keri
I followed the instructions to add the password protection using c_panel.
It works fine in IE 11 but doesn’t work in: Edge; Firefox; Chrome; or Opera.
Any ideas?
WPBeginner Support
Hi Keri,
Please review your settings in cPanel to make sure you didn’t miss anything.
Administrateur
Keri
I’m not sure what I missed, given that it worked in IE but not in the other browsers. I deleted the user to whom I had given access and added the same user back in and, « Voila! », all is good.
Valentin
> Upload this file outside your /public_html/ directory.
Good advice—more generally: outside your DocRoot.
> A good path would be: home/user/.htpasswds/public_html/wp-admin/passwd/
That, however, doesn’t seem to be outside your DocRoot
Amigan
How could we integrate this solution on IIs?
Thanks in advance for your help!
pawan singh
hi syed, i followed your tutorial as i do always whenever i find a problem but i am facing this error continiously.
ERROR –
« 401
Unauthorized
Proper authorization is required to access this resource! »
1. I made htpassword file properly with user name and password.
2. Edited main .htaccess file with proper code.
3. Implemented this line in .htaccess file on topas first line
ErrorDocument 401 default
4. Add AJAX functionality code
After doing all this i see additional popup box which need login details for wp-admin. – Success here
But i’m not able to access my home page like example.com. popupbox appears again without calling /wp-admin. Please tell how to remove this 401 Error. I see that many bloggers asked this issue in comment section, but you didn’t reply. I hope you will soon address the problem.
WPBeginner Support
Hello Pawan,
This could be because the password your entered is incorrect or your server couldn’t find the .htpasswds file. We will recommend you to retrace your steps to figure out what went wrong.
Administrateur
Robbiegod
I am seeing the same issue. On subpages on my site, when I have my /wp-admin/ .htaccess password protecting my site, I get the user/pass pop-up box on pages on the front end.
The temporary solution was to just remove the htaccess file from wp-admin. Now i am trying to put it back, so I’ll see what i can come up with and post back if i figure it out.
Arinze Ifeanyi
Thank you for this. I worked really well especially that line « ErrorDocument 401 default » that prevented it from giving 404 error. I really dont miss tweet from you. My question now is, how can someone remove the password? And again, will the password be required upon users registration via a custom registration page?
Rony Ahamed
after using this method now when i try to go in wp-admin its says me maintenance mood ( this mode is on in my wp dashboard ) .. so how can i use it ?
Adrian
Do you have a method using IIS? I’ll be glad if you have. I’m very new to WordPress running in IIS server.
pawan
hi how to change my cpanel default url like « www.example.com/cpanel » to « www.example.com/customized »
there is nothing on the internet about this topic.
Edgar
Hi my dear friends I have a problem. I want to make double autentification on my wordpress.But there is conflict in wordpress htacsess between wp default rules and this code:
AuthType Basic
AuthName « Password Protected »
AuthUserFile path/to/.htpasswd
Require valid-user
Satisfy All
I get error like 500 or error « this page is wrong », but after delating wp default rules my code work.There is some conflict between wp code and my code! Can anyone take solution!
Aurangzeb
A very nice approach, but I also suggest to go secure with https, because no matter how protected the admin panel is, with passwords, the passwords itself are not secure if it’s not https.
Daljit Singh
Hey guys, my issue is related to this post but it is little different too.
I need to password protect my wp-content folder in my hosting.
I called my godaddy hosting and they said that it is not possible.
But i need to password protect it.
Can someone help me out please?
Akhil
Password Protecting WordPress Admin with Permalink « Post Name » gives error error login page( Redirect too many times). How to solve?
ianx
Hello sir,
its mean « Basic Authentication » ?
how do i using on newest Nginx?
Harmony A-E
Can I do this for my wp-login?
The wp-admin is password protected and gives out a 401 if some tries to exit the pop-up (so 0 access without the 1st password).
But my wp-login allows access to a disfigured wp-login page if someone exits out of the pop-up.
Fabio
Works fine in my blog. Thanks.
Frank
That’s a great article.
However, I’d like to ask you how can I track the who visits the page (IP, etc) even though if they don’t type any username or password or type wrong ones. I can’t seem to find a way to do that.
Please let me know.
Thanks!
WPBeginner Support
Hey Frank,
Check out our guide on how to monitor user activity in WordPress.
Administrateur
Frank
Thanks for the reply.
I installed the Simple History plugin you recommend but it does not seem to track the http authentication either.
Any ideas?
WPBeginner Support
Hi Frank,
Sorry for misunderstanding your question. You can track http authentication in your server logs. However, usually these logs contain all access and errors to your website. Some website hosts offer apps in cPanel that make it easier to browse those logs. On some hosting environments you can even create custom log files of your own.
Deivamoorthy
Thanks for this article. It is really helped me lot save the login form anonymous person. But, i have an issue on my site. Whenever the user visits and entering to the single post page it asks the user enter the username password, Even though they have didn’t accessed the wp -admin. it happens only in Mozilla browser. How to solve this?
Toan
I has finished setting protect password for wp-admin folder. But i can not registered new account for guest. Because it apperance pop-up login require username/password.
WPBeginner Support
Yes, you will have to either share the username password with the guest, or disable password protection.
Administrateur
paras arora
sir actually i have changed my admin directory from example.com/wp-admin to example.com/abcde …how to password protect it now
WPBeginner Support
Just password protect abcde directory instead of wp-admin.
Administrateur
Clecio
Thank you !
Sarah
Thanks for this valuable info.I have question I want to setup limit login Attempts if users fails 1st time then try after 24 hrs latter how to I make this on cpanel?
RJ
Hi there I do password protect my wp-admin directory and I did add that code to my htaccess …but…it is still asking for authorization.
Any suggestions?
Sacha
Thanks for the tip!
dipesh
i dont ve set password for wp-admin folder but still it shows authorization dialog .
how to solve the issue,
Fabio
Hello, after the first login in wp-admin I got 500 « Internal Server Error »…
Fabio
Fabio
Solved, the problem was in server configuration
Gaurav Agrawal
Hi, I am also facing the same problem. May I know what are the changes that have to be done in server configuration?
Please let me know as soon as possible.