「WordPressの記事にパスワードをかけたはずなのに、2回目にアクセスしたらパスワードを聞かれずに中身が見えてしまった!これって機能していないの?」
そんな不安を感じていませんか?
結論から言います。その挙動は「正常」です。
セキュリティが破られたわけでも、設定ミスでもありません。
標準設定では、一度パスワードを入力すると10日間は再入力が不要になります。
この記事では、その仕組みと、どうしても再度パスワード入力画面を確認したい時の対処法をサクッと解説します。
目次
なぜ2回目はパスワードを聞かれないの?
犯人(?)は、Webブラウザに保存される「Cookie(クッキー)」です。
仕組みは「遊園地の再入場スタンプ」と同じ
わかりやすく例えると、「遊園地の再入場スタンプ」と同じ仕組みです。
- 初回アクセス(チケット購入):パスワードを入力して認証する。
- Cookie保存(手の甲にスタンプ):「この人は認証済みですよ」という証拠(Cookie)がブラウザに保存される。
- 2回目以降(再入場):入り口で手の甲のスタンプ(Cookie)を見せるだけで、チケット(パスワード)なしで通れる。
WordPressは、一度正しいパスワードが入力されると、
読者のブラウザに「認証済み」という情報を保存します。
そのため、次回からはその情報を読み取って「あ、さっきパスワード入れてくれた人だね」と判断し、自動的にページを表示してくれるのです。
これは、読者が何度もパスワードを入力する手間を省くための「親切設計」なのです。
パスワード入力不要な期間はどれくらい?
では、その「スタンプ」の効力はいつまで続くのでしょうか?
デフォルトでは「10日間」
WordPressの標準仕様では、このCookieの有効期限は10日間に設定されています。
つまり、一度パスワードを入力した読者は、
10日間は同じブラウザを使っている限り、パスワードなしでその記事を閲覧できます。
※使用しているテーマやプラグイン、あるいはカスタマイズによってこの期間が変更されている場合もありますが、基本は10日です。
「ちゃんとロックされているか」を確認する方法
管理者として、「本当にパスワードがかかっているか」を目視で確認したい時がありますよね。自分のブラウザにはすでにスタンプ(Cookie)が押されているため、何度リロードしても中身が見えてしまいます。
そんな時は、以下の方法で確認してください。
1. ブラウザの「シークレットモード」を使う(おすすめ)
これが一番簡単です。
Google Chromeなら「シークレットウィンドウ」、
Safariなら「プライベートウィンドウ」を開いて、
該当のページにアクセスしてみてください。
シークレットモードは「スタンプを持っていない真っさらな状態」でアクセスするため、必ずパスワード入力画面が表示されるはずです。
2. ブラウザのCookieを削除する
ブラウザの設定から閲覧履歴やCookieを削除することでもリセットされますが、他のサイトのログイン状態なども消えてしまう可能性があるため、確認作業だけならシークレットモードが推奨です。
まとめ
- 2回目に入力不要なのは正常:不具合ではありません。
- 正体はCookie:一度入力するとブラウザに「認証済み」の情報が保存されます。
- 有効期限は10日:基本設定では10日間、再入力が免除されます。
- 確認方法:動作確認をする際は「シークレットモード」を使いましょう。
「設定できていなかったかも…」と焦る必要はありません。WordPressが読者の使い勝手を考えてくれている証拠ですので、安心してサイト運営を続けてくださいね。
引用・参考資料
本記事の技術的な仕様(Cookieの有効期限や仕組み)については、WordPressの公式開発者向けドキュメント(コードリファレンス)に基づき解説しています。
- 参照元: WordPress.org Code Reference
- 該当箇所:
post_password_required関数およびwp-includes/post-template.php内のCookie設定に関する記述(デフォルトの有効期限が10日に設定されている仕様部分) - URL: https://developer.wordpress.org/reference/functions/post_password_required/
