ネットフリックスのログインを友人と共有する人はよくいる。パスワードの共有が手に負えなくなるのを防ぐため、オンライン・サービスは現在、一度に1つのアカウントを使用できるデバイスの数を制限し始めている。
私たちの読者の多くは、会員制ウェブサイトを運営し、オンラインコースを提供しています。彼らは、ログイン情報を共有されることを懸念している。そのため、彼らは同様のログイン制限を設定したいと考えている。
この記事では、WordPressウェブサイトで各ユーザーのログインを1つのデバイスのみに制限する方法を説明します。このガイドが終わるころには、コンテンツを保護し、有料会員だけがアクセスできるようにする方法を知っているはずです。

WordPressでユーザーログインを1デバイスに制限する理由
ストリーミング・サービスは、ユーザーがログイン認証情報を共有するという課題に直面している。2023年、ネットフリックスは全世界で約1億世帯がパスワードを共有していると報告した。これは非常に大きい!
WordPressのウェブサイト、特に会員制サイトやeラーニングサイトの多くは、同じ問題を抱えています。デフォルトでは、WordPressのユーザーは無制限のデバイスやブラウザから同時にログインできます。
このような行為は、ユーザーにとっては無害に思えるが、ウェブサイトの収益やユーザーエクスペリエンスに大きな影響を与える可能性がある。例えば
- 会員制サイトは、お金を払った人に特別なコンテンツを提供する。ユーザーがログインを共有すれば、会員権を購入する人は少なくなる。つまり、サイト運営者の儲けが減ることになる。
- 学生がオンライン学習のログインを共有すると、他のユーザーはコースを購入する必要がなくなります。さらに、個人的なヘルプを提供したり、誰がコースを終了したかを知ることが難しくなります。
ユーザーのログインを1つのデバイスに制限することで、実際のユーザー数を把握し、より多くの収益を上げ、コンテンツやサービスの価値を維持することができます。さらに、すべての有料ユーザーに公平な体験を提供し、ウェブサイトをより安全に保つことができます。
ログインを制限することは、ユーザーを信用していないということではありません。ウェブサイトを公正に保ち、運営し続けられるようにするためです。これは、ウェブサイトの所有者と誠実なユーザーの両方に役立ちます。
WordPressでユーザーのログインを1つのデバイスに制限する(簡単)
最初に行う必要があるのは、無料のLoggedin – Limit Active Loginsプラグインをインストールして有効化することです。ステップバイステップのヘルプは、WordPressプラグインのインストール方法をご覧ください。
有効化すると、プラグインは自動的に動作を開始し、各ユーザーのアクティブログインを3回に制限します。
設定によっては、ユーザーがこの制限に達すると、他のデバイスからログアウトするまで、新しいデバイスでログインできない場合があります。詳しくは後述する。

注:ワードプレスにログインした後、ウェブブラウザを閉じてもログインしたままになります。その場合は、画面右上にある「Howdy」メニューを使って手動でログ記録からログアウトする必要があります。
プラグインを設定するには、WordPressダッシュボードの「設定」→「一般」を選択し、「ログイン設定」セクションまでスクロールダウンします。
ここで、「Maximum Active Logins」フィールドの数値を変更して、異なる数のログインを許可することができます。

ログイン・ロジック’設定は、ユーザーが最大アクティブ・ログイン制限に達した場合の動作を決定します:
- 許可する:新規: 新規デバイスでのログインは可能ですが、その他のデバイスからは自動的にログ記録されます。
- ブロックする:他のログインセッションの有効期限が切れるまで、新規デバイスでログインできなくなる。
従って、ユーザーのログインを1つのデバイスだけに制限したい場合は、「Maximum Active Logins」を「1」に、「Login Logic」を「Block」に設定する必要がある。
あるいは、一度に1つのデバイスにログオンする限り、どのデバイスを使っても構わないという場合は、「最大アクティブログイン数」を1に、「ログインロジック」を「許可」に設定する。
変更を保存」ボタンをクリックして、設定を保存することを忘れないでください。
また、このプラグインを使用すると、1人のユーザーをすべてのデバイスから強制的にログアウトさせることができます。ユーザーIDを入力し、「強制ログアウト」ボタンをクリックするだけです。
ユーザーIDの見つけ方は、WordPressで投稿、カテゴリー、タグ、コメント、ユーザーIDを見つける方法をご覧ください。
特定のユーザまたはロールのログイン制限を回避する (詳細)
特定のユーザーまたはユーザー・ロールのために、これらのログイン制限を回避することができます。
例えば、サイト管理者や編集者が誤ってロックアウトされないようにしたい場合があります。あるいは、重要なチームメンバーが複数の場所の異なるコンピュータで作業している場合もあるでしょう。
しかし、これを行うには、WordPressテーマのfunctions.phpファイルにカスタムコードスニペットを追加する必要があります。ちょっとしたミスでもWordPressサイトが壊れてアクセスできなくなる可能性があるので、WordPressでカスタムコードを簡単に追加する方法のガイドをご覧ください。
コードスニペットを追加する最も安全な方法であり、functions.phpファイルを手動で編集する必要がないため、WPCodeを使用することをお勧めします。
特定のユーザーに対するログイン制限の回避
WPCodeの無料版をインストールして有効化し、WordPressダッシュボードのCode Snippets ” + Add Snippetに移動するだけです。
次に、「カスタムコードを追加(新規スニペット)」エントリにマウスオーバーし、表示される「スニペットを使用」ボタンをクリックします。

画面下のポップアップで、スニペットのコードタイプを選択するよう求められます。
PHPスニペット」オプションをクリックしてください。

カスタムスニペットの作成ページが開きますので、必要なコードを追加してください。まず、スニペットのタイトルを「Bypass Login Restrictions for Certain Users」のように追加します。
その後、以下のコード・スニペットをコピー&ペーストして「コード・プレビュー」ペインに貼り付ける:
1 2 3 4 5 6 7 8 9 | function loggedin_bypass_users( $bypass , $user_id ) { // Enter the user IDs to bypass. $allowed_users = array ( 1, 2, 3, 4, 5 ); return in_array( $user_id , $allowed_users ); } add_filter( 'loggedin_bypass' , 'loggedin_bypass_users' , 10, 2 ); |
ここで、$allowed_users = arrayで
始まる行を見てください。1,2,3,4,5’を、制限を回避したい特定のユーザーのユーザーIDで置き換える必要があります。ユーザーIDはいくつでも追加でき、カンマで区切ってください。
ユーザーIDを見つける方法は、WordPressで投稿、カテゴリー、タグ、コメント、ユーザーIDを見つける方法をご覧ください。
最後に、スニペットを「アクティブ」に切り替え、「スニペットを保存」ボタンをクリックして設定を保存します。

特定のロールのログイン制限を回避する
同じ手順に従って、特定のロールのログイン制限をバイパスするコードスニペットを追加することができます。
Bypass Login Restrictions for Certain Roles」という新しいコード・スニペットを作成し、次のコード・スニペットを「Code Preview」ペインに貼り付けるだけです:
1 2 3 4 5 6 7 8 9 10 11 12 13 | function loggedin_bypass_roles( $prevent , $user_id ) { // Array of roles to bypass. $allowed_roles = array ( 'administrator' , 'editor' ); $user = get_user_by( 'id' , $user_id ); $roles = ! empty ( $user ->roles ) ? $user ->roles : array (); return ! empty ( array_intersect ( $roles , $allowed_roles ) ); } add_filter( 'loggedin_bypass' , 'loggedin_bypass_roles' , 10, 2 ); |
このスニペットは’administrator’と’editor’ロールの制限をバイパスします。その他のロール、例えば’author’をシングルクォーテーションで囲み、カンマで区切って追加することができます。
スニペットを「アクティブ」に切り替え、完了したら「スニペットを保存」ボタンをクリックしてください。

このチュートリアルで、WordPressでユーザーのログインを1つのデバイスに制限する方法を学んでいただけたでしょうか。WordPressで会員制サイトを作成するための究極のガイドや、WordPress LMSプラグインのエキスパートによるベストセレクションもご覧ください。
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.
Have a question or suggestion? Please leave a comment to start the discussion.