サイトオーナーは、機密データを保護し、ユーザーの信頼を維持するために、WordPressのセキュリティを優先する必要があります。WPBeginnerでこれを行う非常に効果的な方法の1つは、WordPress管理ディレクトリをパスワードで保護することです。
wp-adminディレクトリはWordPressサイトのコントロールセンターです。コンテンツから設定まですべてを管理する場所であり、ハッカーの格好の標的になります。管理ファイルをパスワードで保護することで、攻撃から守ることができます。
この投稿では、wp-adminディレクトリを簡単にパスワードで保護し、サイトのセキュリティを強化するための簡単なガイドを提供します。
WordPress管理ディレクトリをパスワードで保護する理由
WordPress の管理ディレクトリをパスワードで保護することで、WordPress サイトの最も重要なエントリポイントにセキュリティのレイヤーを追加できます。
WordPressの管理ダッシュボードは、あなたのサイトの中心的なハブです。投稿やページの公開、テーマのカスタマイズ、WordPressプラグインのインストールなどを行う場所です。
ハッカーがあなたのサイトに侵入しようとする場合、ブルートフォースアタックを使ってwp-admin画面から行うことがよくあります。
強力なパスワードや ログイン試行の制限などのセキュリティ対策を行うことで、潜在的な攻撃からサイトを保護することができます。
さらに安全性を高めるために、wp-adminディレクトリをパスワードで保護することもできます。そうすれば、誰かがあなたの管理エリアにアクセスしようとしたとき、WordPressのログインページにたどり着く前にユーザー名とパスワードを入力する必要があります。
それでは、WordPressの管理ディレクトリをパスワードで保護する方法を順を追って見ていきましょう。
ほとんどのユーザーには最初の方法が推奨されており、以下のクイックリンクから使いたい方法に直接飛ぶことができる:
動画チュートリアル
もし、文章での説明がお望みなら、このまま読み進めてほしい。
方法1: ディレクトリプライバシーを使用してwp-adminをパスワードで保護する(推奨)
WordPressの管理ディレクトリをパスワードで保護する最も簡単な方法は、WordPressホスティングサービスのDirectory Privacyアプリを使用することです。
まず、ホスティングアカウントのダッシュボードにログインし、ウェブサイトのcPanelダッシュボードのファイルセクションにある「ディレクトリのプライバシー」オプションをクリックする必要があります。
注: BluehostのようなcPanelを使用しているほとんどのホスティングサービスでは、同様の手順があります。ただし、ホスティングサービスによっては、ダッシュボードがスクリーンショットと若干異なる場合があります。
サーバー上のすべてのディレクトリを一覧表示する画面が表示されます。あなたのサイトのファイルを含むフォルダーを見つける必要があります。
ほとんどのサイトオーナーにとって、これは「public_html」フォルダーをクリックすることで見つけることができる。
サーバーにインストールしたサイトファイルがすべて表示されます。
次に、あなたのサイトのドメイン名のフォルダーをクリックする必要があります。
そのフォルダーの中にwp-admin
フォルダーがあります。
フォルダー名をクリックする代わりに、そのフォルダーの横にある「編集」ボタンをクリックする必要があります。
パスワード保護をオンにする画面が表示されます。
このディレクトリをパスワードで保護する」というボックスにチェックを入れるだけです。お好みで、ディレクトリに’Admin Area’のような名前をつけることもできます。
それが済んだら、『保存』ボタンをクリックしてください。
確認メッセージが表示されるページに移動します。
Go Back’ボタンをクリックすると、このディレクトリにアクセスできるユーザーを作成する画面になります。
ユーザー名とパスワードを入力し、パスワードを確認するよう求められます。ユーザー名とパスワードは、パスワード管理アプリなど安全な場所に控えておいてください。
本当に〜してもよいですか?
これで、誰かがあなたの wp-admin ディレクトリにアクセスしようとすると、上記で作成したユーザー名とパスワードを入力するよう求められます。
方法2:コードを使ってwp-adminをパスワードで保護する
WordPressの管理ディレクトリを手動でパスワード保護することもできます。そのためには、.htpasswdと
.htaccessという
2つのファイルを作成する必要があります。
注意:WordPressサイトにコードを追加することは危険です。小さなミスでも、サイトに大きなエラーを引き起こす可能性があります。この方法は上級ユーザーにのみお勧めします。
.htaccessファイルの作成
まず、お好みのテキストエディターを開き、新しいファイルの名前を.htaccessと
します。
その後、以下のコード・スニペットをコピーしてファイルに追加する必要がある:
AuthName "Admins Only"
AuthUserFile /home/user/public_html/example.com/wp-admin/.htpasswd
AuthGroupFile /dev/null
AuthType basic
require user yourusername
AuthUserFile’のパスを.htpasswd
ファイルをアップロードする場所に変更し、’yusername’をログイン中に使用するユーザー名に変更することを本当に〜してもよいですか?
終了したらファイルを保存することをお忘れなく。
.htpasswdファイルの作成
それができたら、.htpasswd
ファイルを作成する必要がある。
これを行うには、テキストエディターを開き、.htpasswdという
ファイルを作成します。このファイルには、ユーザー名とパスワードが暗号化された形式で記載されます。
暗号化されたパスワードを生成する最も簡単な方法は、htpasswdジェネレータを使うことです。
ユーザー名とパスワードを入力し、暗号化形式を選択して「.htpasswdファイルを作成」ボタンをクリックするだけです。
htpasswdジェネレータは、あなたが.htpasswd
ファイルに貼り付ける必要があるテキストの行を表示します。ファイルを保存したら、本当に〜してもよいですか?
wp-adminディレクトリへの.htaccessと.htpasswdのアップダー
最後のステップは、作成した両方のファイルをサイトのwp-adminフォルダにアップロードすることです。
FTPクライアントまたはホスティングサービスプロバイダーが提供するオンラインファイルマネージャツールを使用して、WordPressホスティングアカウントに接続する必要があります。詳細については、WordPressにファイルをアップロードするためのFTPの使用方法についての初心者ガイドを参照してください。
このチュートリアルでは、無料でMacでもWindowsでも使えるFileZillaを使います。
サイトに接続すると、左側のウィンドウにコンピューター上のファイル、右側にサイト上のファイルが表示されます。左側で、.htaccessと
.htpasswd
ファイルを保存した場所にナビゲーションする必要があります。
次に、右側にある、保護したいサイトのwp-admin
ディレクトリに移動する必要があります。ほとんどのユーザーは、public_html
フォルダーをダブルクリックし、次に自分のドメイン名のフォルダーをダブルクリックし、次にwp-admin
フォルダーをダブルクリックする必要があります。
左側の2つのファイルを選択し、右クリックメニューから「アップロード」をクリックするか、左側のウィンドウにファイルをドラッグします。
これで「wp-admin」ディレクトリがパスワードで保護されます。
wp-adminパスワード保護のトラブルシューティング
サーバーやサイトの設定によっては、WordPressのエラーに遭遇する可能性があります。これらのエラーは、.htaccess
ファイルに慎重にコードを追加することで修正できます。
注意:これはメインサイトフォルダにある.htaccess
ファイルで、’wp-admin’ フォルダーにアップロードしたものではありません。.htaccessが見つからない場合は、.htaccessが見つからない理由と見つける方法をご覧ください。
Ajaxが動作しないエラーの修正
最も一般的なエラーの1つは、サイトのフロントエンドでAjax機能が動作しなくなることです。ライブAjax検索や Ajaxお問い合わせフォームなど、Ajaxを必須とするWordPressプラグインを使用している場合、これらのプラグインが動作しなくなることに気づくでしょう。
これを修正するには、wp-admin
フォルダーにある.htaccess
ファイルに以下のコードを追加するだけです:
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
404エラーと多すぎるリダイレクトエラーの修正
他に遭遇する可能性のあるエラーは、404エラーと リダイレクトが多すぎるエラーです。
これらを修正する最も簡単な方法は、サイトディレクトリにあるメインの.htaccess
ファイルを開き、WordPressルールの前に以下のコード行を追加することです:
ErrorDocument 401 default
ボーナス:wp-adminセキュリティのためのベストWordPressガイド
この投稿が WordPress 管理 (wp-admin) ディレクトリをパスワードで保護する方法を学ぶのにお役に立てば幸いです。管理エリアをよりセキュアにするための、さらなるガイドもご覧ください:
- IPアドレスでWordPressの管理者アクセスを制限する方法
- WordPress管理エリアを守るための重要なヒント(更新)
- WordPressでカスタムログインURLを追加する方法(ステップバイステップ)
- WordPressでログイン試行を制限する方法と理由
- WordPressで2要素認証を追加する方法(無料方法)
- WordPressのログイン画面にセキュリティの質問を追加する方法
- WordPressでユーザーにパスワード変更を強制する方法 – Expire Password
- WordPressですべてのユーザーのパスワードをリセットする方法
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
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.
管理者
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
管理者
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
管理者
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
管理者
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
管理者
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
管理者
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
管理者
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/
管理者
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/
管理者
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
管理者
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
管理者
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.
管理者
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.
管理者
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.
管理者
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.
管理者
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.
管理者
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.
管理者
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.
Cjay
I recently added password protected my “wp-admin” directory and my “wp-includes” directory. Now each time i try to access my “wp-admin” page with it’s username and password that i created i get to dialogue box popping up for me to enter the username and password for that of the “wp-includes” directory before signing in to the main wordpress admin page.
Have you encountered such issue with wordpress before?
Lissa
Thanx so much for this! After an extended break from blogging I installed a new blog today and as soon as I password protected the admin directory I got the redirect error. This fix worked flawlessly
abey
After setting this security. Server always ask for password with a popup even in a user visit the site home page. Is there any way to overcome this.
Abhimanyu
This gets resolved once you add the htaccess entry for admin-ajax.php. Follow the tutorial section towards the end.
Mariah Zuzuvecha
You saved me a lot of time .
I was looking arrange the problem and you post save me !
thanks again ¡
ece
There is no htaccess file in my wp-admin folder! There is only one in var/www
How do I fix the Ajax problem?
Ricardo
It’s a good method but the problem is that regular users can’t recover their password if they click on “Lost your password?” link (/wp-login.php?action=lostpassword).
How could I prevent that?
Daniel Papenfuß
Hey Bro,
your hint for the ajax file helped me a lot – thx for that
Bye,
Daniel
ajakayetolu
I recently install wordpress but mydomain/wp-admin/ keeps asking for username and password despite inputing the correct password and username its just as if it is refreshing itself.
WPBeginner Support
Please take a look at How to fix WordPress login page refreshing and redirecting issue.
管理者
【Ƿ】 Fran Kee
Good Tutorial. While admin-ajax.php might need extra enabling,
there is one file on one level up (WP root level), that imho deserves extra disabling:
require user
Unless you truly have a blog where regular readers obtain WP accounts for commenting or such, this is not necessary. Extra-htpasswd-protecting this makes brute-forcing of WP accounts harder…
Jeff
Thanks! You just saved me a lot of time with that AJAX fix. I was looking everywhere and couldn’t figure out the problem!
dylanatstrumble
Hi,
I have tried putting the ErrorDocument 401 default in many places in the main .htaccess file to no avail
I am running W3 Total Cache and the first chunk of the code relates to that
I have put it before the W3 code which results in a 500, I have tried putting it after the W3 code # END W3TC just before the # BEGIN WordPress
I get a 500 there as well
If only this would work, I would be a happy camper
Hosted by Go Daddy and creating the protected folder via CPanel
I am putting off calling Go Daddy for the fourth time. as on this particular issue, they have not been at their best
Thanks in advance
WPBeginner Staff
Are you certain that you are entering the correct username and password?
Rauf
yes…now i unclick the wp-admin password directory from c panel…and off it