WordPressサイトを運用していて、「完成前のWordpressサイトを非公開にしたい」「制作中のランディングページを関係者だけに公開したい」などサイト単位やページ単位で閲覧を制限したい場合があると思います。
そのような場合に便利な、サイト全体やページ単位でのパスワード設定方法をご紹介します。プラグインを使った簡単な方法からhtaccessファイルで設定する方法まで、やり方はいくつかありますのでまとめました。
ページ単位で保護する
ページ単位でのパスワード設定は、Wordpressの設定から簡単にできます。
1.パスワードをかけたいページの公開状態の設定欄で「ステータス」欄の「編集」をクリック
2.「パスワード保護」にチェックを入れパスワードを設定するれば完了です。
BASIC認証でサイト全体を保護する
BASIC認証とは
Webサイトの閲覧に使うプロトコル「HTTP」で定義されるユーザ認証方式の一つで、サイトにアクセスしたユーザーにユーザー名とパスワードを入力させることでサイトを保護する認証方式です。簡単に導入できる反面、解読や改ざんも容易にできてしまうという欠点がありますので、あくまでも一時的・簡易的なサイト保護方法として使用しましょう。
プラグインで設定する方法、サーバー(XSERVER)側で設定する方法、htaccessファイルで設定する方法があります。
Password protectedプラグインを使う
Password ProtectedはWordPressのサイト全体にパスワードをかけることができるプラグインです。
1.こちらからプラグインをダウンロードして、サイトにインストールます。
2.Wordpress管理画面から「設定」-「パスワード保護」をクリックするとPassword Protectedの設定画面が表示されますので、以下の項目を設定します。
・パスワード保護状況:「有効」にチェック(サイト全体がパスワードで保護された状態になります)
・新しいパスワード:サイト全体にかけるパスワードを入力する
これでサイト全体がパスワードで保護された状態になります。これは必要最低限の設定ですが、より詳細な設定も可能です。管理者や特定のユーザーはパスワード不要にしたり、特定のIPからのアクセスはパスワードなしでも閲覧できるようにするなど必要に応じて設定してください。
サーバーの管理画面で設定する
レンタルサーバーの管理画面からもBASIC認証を設定することができます。以下はXSERVERの設定方法ですが、他の主要なレンタルサーバーでもBASIC認証の設定が可能です。設定方法は各サーバー会社の公式サイトでご確認ください。
XSERVERでBASIC認証を設定する
-
- XSERVERの「サーバーパネル」にログインし、「ホームページ」―「アクセス制限」をクリック。
- アクセス制限を設定するドメインを選択
- サイト全体にBASIC認証を設定したい場合は、「現在のフォルダ」のアクセス制限を「ONにする」をクリック。「BASIC認証の設定の変更が完了しました」と表示されたら 「戻る」をクリック。
- 次に、「現在のフォルダ」の「ユーザー設定」をクリックし、任意の「ユーザーID」と「パスワード」を入力。入力したら「ユーザーの追加」をクリック。
- 「ユーザーの追加が完了しました」と表示されたらBASIC認証の設定は完了です。BASIC認証を設定したサイトにアクセスし、設定したユーザーIDとパスワードでログインできるか確認しましょう。
htaccess、htpasswdファイルで設定する
.htaccessファイルはWebサーバーの動作をディレクトリ単位で制御するためのファイルです。ユーザIDとパスワードを記述した.htpasswdファイルと合わせて利用することでアクセス制限を設定します(.htpasswdのファイル名は任意でかまいませんが、通常.htpasswdを使用します)。
1 .htpasswdファイルを作成し、ユーザー名とパスワードを記述する
テキストエディタなどで「.htpasswd」というファイルを作成します。注意点は
・ファイル名先頭にドットをつける
・後ろに拡張子(.txtや.htmlなど)をつけない
.htpasswdファイルを作成したら、ユーザー名と暗号化されたパスワードを記述します。暗号化されたパスワードは下記のようなジェネレーターにユーザー名とパスワードを入れて生成します。
https://www.en-pc.jp/tech/htpasswd.php
生成されたものを「ユーザー名 :暗号化されたパスワード」の形で.htpasswdに記述します。
2 .htaccessを作成する
同様に、テキストエディタなどで.htaccessファイルを作成し、以下のように記述します。
[html]
AuthUserfile /ルートディレクトリからのフルパス/.htpasswd
AuthGroupfile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
[/html]
3. .htpasswdファイル、.htaccessファイルを所定のディレクトリにFTPアップロードする
これで設定完了です。ページを開くとユーザー名とパスワードの入力を要求されます。
まとめ
いかがでしたでか。Webサイト運用者の方でしたら、「一時的にサイト閲覧に制限をかけたい」「一部の関係者だけにページを閲覧できるようにしたい」といった場面は多いと思います。上記の方法を参考にしてみてください。