WordPressをパスワードで保護する方法をお探しですか? WordPressサイト全体、特定のコンテンツ、または公開コンテンツの一部をパスワードで保護するなど、サイトにパスワード保護を追加する方法はたくさんあります。
今回ご紹介するソリューションの中には、プラグインの使用を必要とするものも、サーバーレベルで作成できWordPressのコア機能や構成で動作するものもあります。
この記事では、できるだけ多くの方法を網羅します。その内容は以下の通りです。
上記のリンクのいずれかをクリックして特定の方法に直接ジャンプするか、WordPressサイトをパスワードで保護する方法のすべてをご覧ください。
WordPressサイト全体をパスワードで保護する方法
WordPressサイト全体をパスワードで保護するには、主に2つの方法があります。
- プラグインを使う
- サーバーレベルでHTTP認証を行う
2つのうち、プラグインメソッドの方が間違いなくユーザーを考えると適切ですが、HTTP認証はステージングサイトまたはその他の非ユーザー向けサイトをパスワードで保護するのに効果的です。
プラグインでWordPressサイトをパスワードで保護する方法
Ben Huson氏の無料Password Protectedプラグインをお勧めします。このプラグインは、WordPress.orgで高い評価を獲得しています。
プラグインをインストールして有効化したら、「設定」→「Password Protected」に移動して、プラグインの設定を調整できます。
「Password Protected Status」ボックスをオンにしてパスワード保護を有効にし、「New Password」ボックスに希望のパスワードを入力します。
このプラグインの優れた点は、特定の種類のユーザー/リクエスト、IPアドレス をホワイトリストに登録できることです。必要に応じて、このオプションを使ってください。

有効にすると、サイトにアクセスしようとする人は、WordPressログインページの簡略版の画面にパスワードを入力するように求められます。

ログインページのロゴを一般的なWordPressロゴから変更したい場合には、 無料のLogin Logoプラグインが使えます。
HTTP認証を使ってWordPressサイトをパスワードで保護する方法
HTTP認証(別名htpasswd保護)を使用すると、ユーザーがサイトをロードする前にパスワード保護の層を追加でき、ステージングサイトまたは開発サイトに最適なオプションとなります。
KinstaでWordPressサイトをホストしていれば、MyKinstaダッシュボードからパスワード保護(htpasswd)ツールを使用できます。この機能はサイトの「ツール」セクションにあります。「有効にする」をクリックし、ユーザー名とパスワードを選択するだけで準備完了です。

有効にすると、それ以降、WordPressサイトにアクセスするには認証が必要になります。ログイン情報はいつでも変更でき、必要がなくなったら無効にすることもできます。

ディレクトリをパスワードで保護する方法
ウェブサイトのディレクトリをパスワードで保護する必要があるでしょうか?ともすると、WordPressインストールフォルダ外にフォルダがあり、一般の人がアクセスできないようにしたい、といった具合かもしれません。
KinstaでWordPressサイトをホストしているなら、サポートチームに任せましょう。そうでない場合には、htpasswd保護が利用できます—ディレクトリを更新するだけです。
Apache
手動で設定するには、まず.htpasswd
ファイルを作成します。こちらのジェネレータツールを使用するのが便利です。次に、保護したいディレクトリにファイルをアップロードします。
www/user/public/protecteddirectory
次に、次のコードを使用して.htaccess
ファイルを作成し、保護するディレクトリのパスにアップロードします。尚、この際、必ずディレクトリパスとユーザー名を更新するようにしてください。
AuthType Basic
AuthName "restricted area"
AuthUserFile /www/user/public/protecteddirectory.htpasswd
require valid-user
Nginx
Nginxを使用している場合、HTTP基本認証でアクセスを制限することもできます。詳細についてはこちらのチュートリアルをご覧ください。
cPanel対応のプロバイダーでサイトをホストしているならば、「ファイル」セクションの下にある「ディレクトリプライバシー」ツールを使用して、パスワードで保護されたディレクトリを設定できます。

投稿、ページ、WooCommerce製品をパスワードで保護する方法
投稿、ページ、 WooCommerce製品をパスワードで保護したい場合、WordPressにはビルトインで便利な機能があり、「公開状態」設定が使えます。
WordPressエディターには公開状態設定があり、上記のあらゆる種類のコンテンツや、サイトで使用中の他のカスタム投稿タイプに使用できます。
具体的な手順は以下の通りです。
- パスワード保護を追加したいコンテンツのWordPressエディターを開く
- 右側のサイドバーにある「公開状態」オプションを見つける
- それをクリック
- 「パスワード保護」を選択し、投稿のロックを解除するのに使用するパスワードを入力
新しいWordPressブロックエディターでは、次のように表示されます。

そして、旧型のClassic WordPressエディターでは次のようになります。

コンテンツを公開または更新すると、訪問者には投稿を表示する前にパスワードの入力が求められます。さらに、投稿のタイトルの前には「Protected」の文字が挿入されます。

この方法の便利な点として、パスワードを1回入力するだけで、複数の投稿のロックを解除できます。設定するには、同じパスワードを複数の投稿で再利用するだけ。簡単ですね。
訪問者がパスワードを入力すると、同じパスワードを使用するすべてのコンテンツのロックが自動的に解除されます。つまり、別のコンテンツが別のパスワードを使用している場合、訪問者はそのパスワードを都度、入力する必要があります。
最後に、このようなパスワード保護が別のコンテンツに対してどのように機能するかを理解するために、WooCommerce製品での挙動を以下にご紹介します。同じ場所に「公開状態」コントロールが表示されることがわかります。

WordPressの投稿カテゴリをパスワードで保護する方法
コンテンツの個々の部分をパスワードで保護する代わりに、カテゴリ全体をパスワードで保護することもできます。
このアプローチの強みは、複数のコンテンツにパスワード保護を簡単に追加できることです。また、訪問者はそのカテゴリのすべてのコンテンツのロックを解除するために一度だけパスワードを入力すればOKなので、より簡単です。
ただし、この機能を設定するには、プラグインの助けが必要です。次の2つのオプションをお勧めします。
- Password Protected Categories – Barn2 Mediaの有料プラグイン
- Access Category Password – WordPress.orgで公開されている無料プラグイン
Password Protected Categoriesの使い方
Password Protected Categoriesは、基本的に上記と同じように「パスワード保護」機能をカテゴリに追加します。
プラグインをインストール、有効化したら、「投稿」→「カテゴリ」に移動し、パスワードを追加するカテゴリを編集します。下に、個々のコンテンツのパスワード保護に使用したのと同じ「公開状態」ボックスが表示されます。
「パスワード保護」を選択し、使用するパスワードを入力します。
このメリットとして、プラグインを使用すると複数のパスワードを追加できます。各パスワードで、カテゴリのロックが解除されます。これにより、各個人/グループに一意のパスワードを付与し、必要に応じて将来的にアクセスを簡単に削除できます。

変更を保存すると、訪問者はパスワードで保護されたカテゴリの投稿にアクセスしようとするたびにパスワードの入力を求められるようになります。

「設定」→「保護したカテゴリ」に移動すると、プラグインの機能についての追加の設定が可能です。具体的には以下のような調整ができます。
- パスワードの有効期限を設定(訪問者が再度、他のパスワードを入力するよう求められるまでの一定の時間が設定できる)
- サイトのパブリックエリアにある保護されたカテゴリのコンテンツを表示するか、誰かがパスワードを入力するまで完全に隠すかを選択
- 上記で確認したログインフォームをカスタマイズ

WooCommerceストアを運営している方に向けては、同じデベロッパーが、 WooCommerce Protected Categoriesという、WooCommerceと連携するよう設計されたプラグインを公開しています。
Access Category Passwordの使い方
Access Category Passwordは、WordPress.orgで無料で入手できます。インストール、有効化したら、「設定」→「Access Category Password」に移動してください。
そこから以下のような設定が行えます。
- 使用するパスワードを選択
- パスワードで保護するカテゴリを選択
- 特定のユーザーをホワイトリストに登録し、パスワードを入力せずに非表示のカテゴリを表示できるようにする
- 抜粋を公開したままにするか、すべてを非表示にするかを選択
- ログインページ/パスワード保護の通知をカスタマイズ

変更を保存すると、訪問者は制限されたカテゴリのコンテンツにアクセスしようとするときにパスワードを入力しなければならなくなります。
このプラグインは無料ですが、欠点として、パスワードを1つしか入力できず、パスワード保護するすべてのカテゴリで同じパスワードを使用する必要があります。
カテゴリごとに異なるパスワードを使用したい時には、上記のPassword Protected Categoriesプラグインの使用をお勧めします。
ここでのもう1つの違いは、ユーザーがパスワードを入力する前でもAccess Protected Categoriesが投稿のタイトルを表示するのに対し、上記のPassword Protected Categoriesプラグインはタイトルを非表示にすることです。

WordPressの投稿の一部をパスワードで保護する方法
最後に、公開されているWordPressの投稿の一部のみをパスワードで保護する最も具体的な方法を見てみましょう。
この機能を設定するには、WordPress.orgで無料公開されているプラグイン、Passsterを使用します。
プラグインをインストールし、有効化したら、「設定」→「Passster」に移動し、コンテンツ制限に使用するショートコードを生成します。
希望のパスワードを入力して、「Generate Password」を選択します。

次に、変更を保存し、Passsterにより生成されるショートコードをコピーします。

次に、パスワード保護を適用したいコンテンツにこのショートコードを追加します。さらに、「Your content here」というプレースホルダーを編集して、パスワードで保護したいコンテンツに置き換えます。

投稿を公開したら、デフォルトではパスワード保護フォームは次のように表示されます。

このフォームの外観をカスタマイズするには、WordPressカスタマイザーを使用してください(「外観」→「カスタマイズ」)。
WordPressカスタマイザーの「Passster」セクションからフォームのテキストと色をカスタマイズできます。

まとめ
WordPress. サイト全体、コンテンツの一部、またはその他のアクセスを制限…WordPressをパスワードで保護する方法にはいくつものオプションがあります。
最適なアプローチを選択し、チュートリアルの手順に従って、新しいWordPressパスワード保護機能をご活用ください。
WordPressサイトをパスワードで保護する方法についてご質問がございますか?お気軽にコメントからお聞かせください。