WordPressのセキュリティを高めるためにベーシック認証をかけることがあります。
ベーシック認証はプラグインで設定することも可能ですが、できればプラグインを使わず自力で設定したいという人もいるでしょう。
今回は、プラグインを使わずに WordPress に ベーシック認証をかける方法を解説していきます。
手動でベーシック認証を行う方法
ベーシック認証を行うには、主に以下の2つの作業を行います。
.htpasswdファイル
の作成.htaccessファイル
の作成
.htpasswdファイルの作成
まずは、ベーシック認証で設定するユーザー名とパスワードを決めます。
この記事では、ユーザー名をsample
、パスワードをwordpress
にして解説していきます。
ベーシック認証で使用するパスワードは一度暗号化しなければいけないため、パスワード暗号化ツールを使って、ユーザー名とパスワードをベーシック認証用に暗号化します。


生成
をクリック
.htpasswdファイルを新規作成し、生成されたフレーズを.htpasswd
ファイルにコピーします。
作成した.htpasswd
ファイルをサーバーにアップロードします。
これで、.htpasswd
ファイルの準備は完了です。
.htaccessファイルの作成
ベーシック認証では、ベーシック認証設定を行った.htaccessファイルがあるフォルダがベーシック認証の対象になります。
なので、サイト全体をベーシック認証でアクセス制限したい場合は、index.php
やwp-config.php
などがあるトップページのフォルダに、管理画面へのアクセスを制限したい場合はwp-adminフォルダ
に.htaccessファイルを作成します。
.htaccess
を作成して開いたら、以下のように記述し、AuthUserFileには、.htpasswd
ファイルがあるフルパスを入力します。
AuthUserFile "/home/web/nidea.jp/public_html/.htpasswd"
AuthName "Member Site"
AuthType BASIC
require valid-user
上記コードを追記して.htaccess
を保存したら、ベーシック認証を行ったページにアクセスしてみてください。
今までなかったはずのパスワード認証画面が表示されるはずです。

やってみたけど全然うまく行かない、よくわからない人は.htpasswd
へのフルパスを間違えていることがほとんどです。
フルパスが何なのかよくわからない知識量であれば、WordPressプラグインを使う方法かレンタルサーバーが提供しているベーシック認証を使うことをオススメします。
レンタルサーバーの機能として提供されていることもある
レンタルサーバーによってはサーバー管理画面からベーシック認証の設定ができるようになっています。
例えば エックスサーバーではサーバー管理パネルからベーシック認証の設定ができるようになっており、簡単に管理できるようになっています。

こういったレンタルサーバーのベーシック認証機能は、.htaccess
の編集・.htpasswd
の自動作成を行ってくれるため、かなりカンタンに設定できます。
設定を間違えてもすぐに元に戻せるメリットもあるので、レンタルサーバーにベーシック認証の機能があるなら使ってみるといいでしょう。