WordPressでのパスワード管理は、特に複数のユーザーがいるウェブサイトや、厳格なセキュリティ制御が必要なウェブサイトでは、難しい場合があります。
パスワード設定をいじった後に、クライアントが誤って自分自身をロックアウトしてしまう状況を数多く見てきました。
パスワードリセット機能は通常のユーザーには便利ですが、ユーザーアクセスを厳密に管理したいビジネスウェブサイトや会員制サイトではセキュリティ上の懸念となる可能性があります。
このステップバイステップガイドでは、WordPressサイトからパスワードリセットおよび変更オプションを安全に削除する方法を説明します。
会員サイトを運営する場合でも、ビジネスウェブサイトを管理する場合でも、WordPressのインストールを壊すことなくこれらの機能を無効にする方法を学ぶことができます。

WordPressからパスワードリセット/変更オプションを削除する理由
WordPressサイトでユーザー登録を許可している場合、パスワードリセットオプションにより、ユーザーはパスワードを紛失した場合に復旧できます。通常、これを変更したくはないでしょう。
ただし、一部の利用シナリオでは、特定のユーザーまたはWordPressサイトのユーザーロールに対してこのオプションを削除したい場合があります。
例えば、一時的なアカウントを誰かのために作成した場合や、ユーザーがデモのユーザー名とパスワードでログインできるデモサイトの場合などです。
また、パスワードリセットオプションがあると、ハッカーがウェブサイトに侵入しようとする別の方法が提供されます。特にWordPressセキュリティを気にしている場合は、ユーザーが自分でパスワードをリセットするオプションを削除したい場合があります。
より簡単な解決策は、パスワードリセットリンクを削除することです。しかし、一部の賢いユーザーは、パスワードリセットフォームにアクセスするために使用するURLをすでに知っている可能性があります。
これを踏まえて、WordPressからパスワードリセット/変更オプションを簡単に削除する方法を見ていきましょう。パスワードリセットオプションを削除する方法は2つあります。
最初の方法はログインページからリンクを非表示にするだけですが、2番目の方法は機能を完全に無効にします。
セキュリティ向上のため、2番目の方法をお勧めします。これにより、ユーザーは直接リンクを使用してもパスワードリセットページにアクセスできなくなります。
- Disable Password Reset/Change Option Using Login Press
- WordPressからパスワードリセットオプションを手動で無効にする
- ボーナス:WordPressでメールアドレスでのログインを無効にする
- パスワードリセットを無効にするためのよくある質問
準備はいいですか?始めましょう。
方法1:LoginPressを使用してパスワードリセットリンクを非表示にする
パスワードのリセット/変更オプションを無効にする最も簡単な方法は、LoginPressを使用することです。これは、ログインページをカスタマイズできる無料のWordPressプラグインです。

LoginPressは、ログインページの表示をカスタマイズするための幅広い機能を提供し、セキュリティとページの見た目を向上させます。
ステップ1:LoginPressのインストールと有効化
開始するには、LoginPressをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するチュートリアルをご覧ください。
注意: 無料バージョンには、パスワードリセット/変更オプションを無効にするために必要なものがすべて含まれています。ただし、有料バージョンには、ログインURLのカスタマイズ、ログイン試行回数の制限などの高度なセキュリティ機能が含まれています。
ステップ2:パスワードリセットを無効にする
アクティベートしたら、LoginPress » Customizer に移動します。これにより、WordPress ログインページのあらゆる側面を簡単にカスタマイズできる組み込みエディタにアクセスできます。
「パスワードをお忘れですか?」メッセージを削除するには、「フォームフッター」タブに移動する必要があります。「パスワードをお忘れですか?」の横にある鉛筆アイコンをクリックしても、「フォームフッター」タブに移動します。

次に、「フッターテキストを有効にする」オプションをオフにする必要があります。
これにより、ログインページから「登録」および「パスワードをお忘れですか?」オプションが削除されます。

このプラグインは、他にも多くのクールな機能を提供しています。
例えば、ボタンの色やテキストの色を変更したり、ロゴを追加したり、背景を変更したりできます。変更したい場所の鉛筆アイコンをクリックするか、左側のサイドパネルから移動してください。

WordPressログインページのカスタマイズが完了したら、変更を保存する準備が整います。
変更を確定するには、左上の「公開」ボタンをクリックするだけです。

最後に、WordPressダッシュボードからログアウトし、再度ログインして、パスワード紛失オプションが表示されなくなったことを確認する必要があります。
これで、WordPressログインページからパスワードリセットリンクを正常に非表示にしました。
重要: この方法ではリンクを非表示にするだけです。パスワードリセットページは引き続き有効であり、直接のURLを知っている人がいればアクセス可能です。セキュリティ向上のために機能を完全に削除することをお勧めします。その場合は、方法2に従ってください。

方法2:WPCodeを使用してWordPressからパスワードリセットオプションを手動で無効にする
この方法では、WordPressサイトにコードを追加する必要があります。
一部のチュートリアルではファイルを直接編集するように指示されますが、これはお勧めしません。コードを入力する際のわずかなエラーでも、WordPressのエラーが発生したり、サイトにアクセスできなくなったりする可能性があります。
そのため、代わりにWPCodeの使用をお勧めします。

これは、テーマのfunctions.phpファイルを編集せずにWordPressにカスタムコードを追加できる、最高のWordPressコードスニペットプラグインです。
徹底的なテストの結果、コードを追加する最も簡単で安全な方法であることがわかりました。これにより、サイトを壊す心配がなくなります。詳細については、WPCodeレビューをご覧ください。
開始するには、WPCodeプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するガイドをご覧ください。
📌 注: このチュートリアルでは、WPCodeの無料版を使用できます。ただし、プレミアムバージョンにアップグレードすると、コードジェネレーター、改訂履歴、スマート条件付きロジックなど、より多くの既製のコードスニペットと高度な機能にアクセスできるようになります。
次に、コードスニペット » + スニペットを追加に移動する必要があります。
パスワードリセットオプションを無効にするための既製のスニペットがないため、カスタムコードを追加する必要があります。「カスタムコードを追加」バーにカーソルを合わせ、「スニペットを使用」をクリックします。

次の画面で、カスタムスニペットに名前を付けます。
後で変更が必要になった場合に簡単に参照できるように、わかりやすい名前を付けると良いでしょう。

次に、「コードの種類」で、ドロップダウンメニューから「PHPスニペット」オプションを選択しましょう。
次に、次のコードを「コードプレビュー」テキストエディタにコピー&ペーストします。
<?php
/*
* Plugin Name: Disable Password Reset
* Description: Disable password reset functionality. Only users with administrator role will be able to change passwords from inside admin area.
* Version: 1.0
* Author: WPBeginner
* Author URI: http://wpbeginner.com
*/
class Password_Reset_Removed
{
function __construct()
{
add_filter( 'show_password_fields', array( $this, 'disable' ) );
add_filter( 'allow_password_reset', array( $this, 'disable' ) );
add_filter( 'gettext', array( $this, 'remove' ) );
}
function disable()
{
if ( is_admin() ) {
$userdata = wp_get_current_user();
$user = new WP_User($userdata->ID);
if ( !empty( $user->roles ) && is_array( $user->roles ) && $user->roles[0] == 'administrator' )
return true;
}
return false;
}
function remove($text)
{
return str_replace( array('Lost your password?', 'Lost your password'), '', trim($text, '?') );
}
}
$pass_reset_removed = new Password_Reset_Removed();
?>
このコードは何をしますか?
このコードスニペットは、WordPressサイトにいくつかの簡単なルールを追加します。パスワードリセットページまたは関連フィールドにアクセスしようとしているかどうかを確認します。
ユーザーが管理者でない場合、コードはパスワードリセット機能を完全にブロックし、「パスワードをお忘れですか?」というテキストを削除します。
これにより、管理者のみが WordPress ダッシュボード内からユーザーパスワードを変更できるようになり、セキュリティが強化されます。
ここが画面に表示されるはずのものです。

ここから、ページ上部のオプションを「非アクティブ」から「アクティブ」に切り替えるだけです。
次に、「スニペットを保存」をクリックして変更を確定してください。

おめでとうございます。すべて完了しました!
これで、パスワードリセットオプションが削除されたかどうかを確認するために、WordPress管理画面からログアウトできます。

ボーナス:WordPressでメールアドレスでのログインを無効にする
「パスワードリセット/変更オプション」を無効にすることについて学んだので、WordPressのログインセキュリティを次のレベルに引き上げたいと思うかもしれません。オプションの1つは、メールアドレスでのログインを無効にすることです。
誰かがあなたのWordPressサイトをハッキングしたいとしましょう。その場合、あなたのメールアドレスを知っていると、パスワードを推測したり、メールアカウントをハッキングしたりするのに役立つ可能性があります。
WPCode には、使用できる「メールでのログインを無効にする」スニペットがあります。

プラグインをインストールして有効化し、ライブラリでスニペットを検索してコードを適用するだけです。
より詳細な手順については、WordPress でメールアドレスでのログイン機能を無効にする方法に関するガイドをご覧ください。
パスワードリセットを無効にするためのよくある質問
パスワードリセットを無効にすることについて、読者からよく寄せられる質問をいくつかご紹介します。
WordPressでパスワードリセットオプションを削除しても安全ですか?
はい、完全に安全であり、特定の種類のウェブサイトにとって良いセキュリティ対策となります。これにより、誰かがアカウントへの不正アクセスを試みる方法が減ります。
ユーザーがロックアウトされた場合に連絡できるプロセスがあることを確認してください。
管理者はユーザーのパスワードを変更できますか?
もちろんです。サイト管理者は、WordPressダッシュボードから直接、いつでも任意のユーザーのパスワードをリセットできます。単に「ユーザー」セクションに移動し、ユーザーのプロフィールを編集して、そこで新しいパスワードを設定してください。
ユーザーがパスワードを忘れた場合、どうすればよいですか?
リセットリンクを無効にした後、ユーザーがパスワードを忘れた場合は、サイト管理者に連絡する必要があります。管理者は、手動で新しいパスワードを生成できます。
この記事が、WordPressからパスワードリセット/変更オプションを削除する方法を学ぶのに役立ったことを願っています。また、WordPress管理(wp-admin)ディレクトリにパスワード保護をかける方法やWordPressで全ユーザーを強制ログアウトさせる方法に関するガイドも参照することをお勧めします。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。

Billy
上記のスクリプト、方法2:WordPressからパスワードリセットオプションを手動で無効にする。これはまだ良いですか?更新が必要ですか?
WPBeginnerサポート
特に何も言われない限り、私たちの記事の2番目の方法はまだ機能するはずです。
管理者
CG
こんにちは、
ユーザーページから他のすべてのオプションを削除するにはどうすればよいですか?
WPBeginnerサポート
現時点ではそのチュートリアルはありませんが、お探しのものから判断すると、ダッシュボードへのアクセスを制限する方法に関するガイドをご覧になるのが良いかもしれません。
管理者
リッチ・アダムス
プラグインの作成は完璧に機能しました。ありがとうございます。
しかし、セキュリティプラグインWordFenceが警告を表示します。
プラグイン「パスワードリセットを無効にする」は、放棄されているようです(2016年11月10日更新、WP 4.6.12までテスト済み)。
タイプ:プラグイン放棄
このプラグインを更新して警告を回避する方法はありますか?
TIA!
WPBeginnerサポート
こんにちは、Richさん、
コード内のプラグイン名を変更してみてください。
管理者
フランシーヌ・パイノ
私はある執筆団体のメンバーですが、残念ながらウェブサイト担当者が急逝しました。パスワードを知る人が誰もいません。WordPressで新しいウェブサイトを作成しましたが、古いサイトは閉鎖する必要があります。2つのサイトがあると、非常に混乱しています。
パスワードをバイパスするにはどうすればよいですか?この問題について連絡すべき人はいますか?
この問題についてご協力いただき、誠にありがとうございます。
FP
WPBeginnerサポート
こんにちは、フランシーヌさん。
古いウェブサイトが自己ホスト型のWordPress.orgウェブサイトである場合、それはホスティング会社によってホストされています。ホスティング会社にウェブサイトの削除を依頼することができます。ただし、ホスティング会社は通常、故人の近親者または法的な権利を持つ人物からの依頼があった場合にのみこれを行います。
管理者
イマー・ガルシア
それはまだWPの最近のバージョンでも機能しますか?ローカルマシンにホストされているものをちょうどやっているのですが、何も起こりません。プラグインはインストールされアクティブ化されていますが、「パスワードをお忘れですか」オプションはログインフォームに残っています。
Thanks
クリスティ・ブキャナン
最近新しいコンピューターを手に入れましたが、セットアップを完了するために、それにアクセスできるようにパスワードを無効にする方法を知る必要がありますか?
Lo
素晴らしい!ありがとうございます
プリヤ・シン
こんにちは、チーム
この素晴らしいブログで共有していただいたこのチュートリアルは、本当に素晴らしいです。ダッシュボードから試そうと思っていたのですが、うまくいきませんでした。WPbeginnerのこの素晴らしいサイトを訪れて見つけました。
この場合、本当にありがとうございます。
Saeed Khan
プラグインのアクティベーション中に予期しない出力が3文字生成されました。「ヘッダーが既に送信されました」というメッセージ、シンジケーションフィードの問題、またはその他の問題に気づいた場合は、このプラグインを無効化または削除してみてください。
この問題を解決する方法を教えてください?
WPBeginnerサポート
コードメソッドを使用している場合、PHP終了タグの後に余分なスペースがある可能性があります。これらの余分なスペースを削除できます。また、PHP終了タグ ?> を削除することもできます。
管理者
Adam Edgar
エラーメッセージが削除されません
プラグインが有効化中に予期しない出力1文字を生成しました。「ヘッダーが既に送信されました」というメッセージ、シンジケーションフィードの問題、またはその他の問題に気づいた場合は、このプラグインを無効化または削除してみてください。