WordPressでウェブサイトを運営していると、すべての記事を一般公開するのではなく、特定の範囲に限定して公開したい場面があります。
例えば、制作途中の記事を関係者だけで確認したい場合や、特定の会員だけに限定コンテンツを提供したい場合などが挙げられます。
WordPressには、標準機能として「非公開」と「パスワード保護」という2つの便利な公開状態設定が備わっています。
これらの機能を正しく使い分けることで、情報の重要度や共有したい相手に合わせた柔軟なサイト運用が可能になります。
本記事では、それぞれの設定手順から具体的な使い分けのポイント、さらにカスタマイズ方法まで詳しく解説します。
「非公開」と「パスワード保護」の違いと使い分け
WordPressの公開設定には大きく分けて「公開」「非公開」「パスワード保護」の3種類が存在します。
まずは、今回フォーカスする「非公開」と「パスワード保護」の根本的な違いを整理しておきましょう。
非公開(Private)の特徴と活用シーン
「非公開」に設定された記事は、ログインしている権限者(管理者や編集者など)以外には一切表示されません。
一般の訪問者がその記事のURLにアクセスしても、404エラー(ページが見つかりません)が表示される仕組みになっています。
この機能は、まだ公開できる段階ではない下書き記事の共有や、管理者専用のメモを残したい場合に適しています。
また、検索エンジンのインデックス対象からも外れるため、外部に情報が漏れる心配がほとんどありません。
パスワード保護(Password Protected)の特徴と活用シーン
「パスワード保護」は、記事自体は存在しているものの、閲覧するために専用のパスワード入力を求める状態です。
URLを知っているユーザーであれば誰でもアクセスできますが、パスワードを知らない限り本文を読むことはできません。
特定のクライアントだけに制作実績を見せたい場合や、イベント参加者だけに配布資料を公開したい場合などに非常に便利です。
ユーザー登録を求めるほどではないけれど、不特定多数には見せたくない情報を扱う際に最適な選択肢となります。
比較表:非公開とパスワード保護の機能差
| 機能・項目 | 非公開 | パスワード保護 |
|---|---|---|
| 閲覧可能なユーザー | ログイン中の管理者・編集者 | パスワードを知っている全員 |
| 検索エンジンの表示 | 表示されない | タイトルのみ表示される場合がある |
| フィードへの出力 | 出力されない | 抜粋のみ出力される場合がある |
| 主な用途 | 内部資料・制作中の確認 | 限定コンテンツ・限定公開記事 |
記事を「非公開」にする設定手順
まずは、記事を完全に非公開にするための具体的な操作手順を確認していきましょう。
WordPressの標準エディタであるブロックエディタ(Gutenberg)を使用している前提で解説します。
新規投稿・既存投稿を非公開にする
記事の編集画面を開き、右側のサイドバーにある「設定」パネルを確認してください。
「ステータスと公開状態」の項目の中に「公開状態:公開」というリンクがありますので、ここをクリックします。
表示された選択肢の中から「非公開」を選択してください。
「この投稿を非公開にしますか?」という確認ダイアログが表示されるので、「OK」をクリックします。
これで、サイト上では管理者以外のユーザーから見えない状態になります。
投稿一覧から一括で非公開にする
複数の記事をまとめて非公開にしたい場合は、投稿一覧画面を活用するのが効率的です。
非公開にしたい記事にチェックを入れ、上部のプルダウンから「編集」を選択し「適用」ボタンを押します。
一括編集パネルが表示されるので、その中にある「ステータス」を「非公開」に変更して「更新」をクリックしてください。
この方法を使えば、一つひとつの記事編集画面を開く手間を省くことができます。
記事を「パスワード保護」にする設定手順
次に、特定のパスワードを知っている人だけが閲覧できるようにする設定手順を解説します。
この設定もブロックエディタのサイドバーから簡単に行うことができます。
パスワードの設定方法
記事編集画面の右サイドバーで「公開状態:公開」をクリックします。
選択肢の中から「パスワード保護」を選んでください。
すると、パスワードを入力するフィールドが表示されますので、任意の文字列を入力します。
設定が終わったら、記事を「公開」または「更新」ボタンで保存してください。
これで、記事にアクセスした際にパスワード入力フォームが表示されるようになります。
パスワード保護を解除する方法
パスワード保護を解除して一般公開に戻したい場合は、同じ手順で「公開状態」を「公開」に戻すだけです。
設定を切り替えた瞬間に、誰でも閲覧可能な状態へと即座に反映されます。
パスワードを忘れてしまった場合も、編集画面で新しいパスワードに書き換えることで上書きが可能です。
パスワード保護ページのデザインとテキストをカスタマイズする
WordPress標準のパスワード保護フォームは、非常にシンプルで素っ気ないデザインです。
サイトのデザインに合わせたり、ユーザーに分かりやすいメッセージを表示したりしたい場合は、カスタマイズが必要になります。
メッセージ内容を変更する(PHPコード)
「このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。」という文言を変更したい場合があります。
その際は、テーマの functions.php ファイルに以下のコードを追加することで対応できます。
/**
* パスワード保護フォームの文言をカスタマイズする
*/
function my_password_form() {
return '
<p>この記事は会員限定のコンテンツです。<br>
事前にお伝えしているパスワードを入力して閲覧してください。</p>
<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post" class="post-password-form">
<input name="post_password" type="password" size="20" placeholder="パスワードを入力" />
<input type="submit" name="Submit" value="' . esc_attr__( "送信" ) . '" />
</form>
';
}
add_filter( 'the_password_form', 'my_password_form' );
このようにフックを利用することで、デフォルトの味気ないメッセージを自由に変更することが可能です。
CSSで入力フォームの見た目を整える
パスワード入力欄や送信ボタンのサイズ、色などを変更するにはCSSを使用します。
標準では .post-password-form というクラス名が付与されているため、これをターゲットにスタイルを記述します。
/* パスワード入力フォームのスタイル */
.post-password-form {
margin: 20px 0;
padding: 20px;
border: 1px solid #ddd;
background-color: #f9f9f9;
}
.post-password-form input[type="password"] {
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
margin-bottom: 10px;
}
.post-password-form input[type="submit"] {
background-color: #0073aa;
color: #fff;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
.post-password-form input[type="submit"]:hover {
background-color: #005177;
}
これにより、ユーザーにとって親しみやすく、操作しやすいログイン体験を提供できるようになります。
パスワード保護機能に関する注意点とSEOへの影響
非常に便利なこれらの機能ですが、運用にあたってはいくつか注意すべき点があります。
特にSEO(検索エンジン最適化)やユーザーの利便性に関する部分は、事前によく理解しておく必要があります。
検索エンジンはパスワードの中身を読めない
Googleなどの検索エンジンは、パスワード入力が必要なページの中身をクロールすることができません。
そのため、パスワード保護された記事が検索結果に表示されても、内容は一切インデックスされません。
検索流入を期待する記事に対しては、パスワード保護を設定しないように注意しましょう。
ただし、タイトルだけは検索結果に表示されてしまうケースがあるため、タイトルにも機密情報を含めないのが無難です。
キャッシュプラグインとの競合に注意
サイトの高速化のためにキャッシュプラグインを使用している場合、パスワード保護機能が正しく動作しないことがあります。
パスワードを入力しても元の画面に戻ってしまったり、逆にパスワードなしで閲覧できてしまったりするトラブルが報告されています。
キャッシュの影響を受けていると感じた場合は、特定の記事をキャッシュ対象から除外する設定を行ってください。
パスワードの有効期限について
一度パスワードを入力すると、ブラウザにクッキー(Cookie)が保存され、一定期間は再入力なしで閲覧できるようになります。
デフォルトでは10日間保持される設定になっていますが、公共のPCなどで閲覧した場合はセキュリティ上の懸念が生じます。
より高い安全性を求めるなら、ログアウト機能の導入やクッキーの保持期間短縮を検討してください。
さらに高度なアクセス制限を行いたい場合
WordPress標準の機能では物足りない場合、プラグインを導入することでより高度な管理が可能になります。
例えば、「カテゴリーごと一括でパスワードをかけたい」「ユーザーランクごとに見せたい記事を分けたい」といった要望です。
カテゴリー単位で保護する「Password Protect Categories」
記事ごとにパスワードを設定するのは、記事数が増えてくると非常に手間がかかります。
このプラグインを使用すれば、特定のカテゴリーに属するすべての記事に一括でパスワードをかけることができます。
会員専用カテゴリーなどを作って運用する際には、非常に強力なツールとなります。
本格的な会員制サイトにする「Groups」や「Members」
単なるパスワード入力ではなく、ユーザー名とパスワードでログインさせる「会員制サイト」にしたい場合に使用します。
権限グループごとに閲覧許可を細かく設定できるため、有料コンテンツの販売やコミュニティ運営に適しています。
情報の機密性が極めて高い場合や、ユーザー個別の管理が必要な場合は、これらのプラグインの検討をおすすめします。
よくある質問(FAQ)
Q. パスワード保護した記事のアイキャッチ画像は見えてしまいますか?
A. テーマの仕様によりますが、多くの場合は一覧ページなどでアイキャッチ画像が表示されてしまいます。
画像も隠したい場合は、CSSで非表示にするか、プラグインによる厳格な制限が必要です。
Q. 複数の記事に同じパスワードを設定しても大丈夫ですか?
A. はい、問題ありません。
ただし、一つひとつの記事に対して設定を行う必要があるため、記事数が多い場合は管理が煩雑になります。
Q. 「非公開」に設定した記事は、他のユーザーに見られることは絶対にありませんか?
A. 管理者、編集者、投稿者(自分が書いた記事のみ)の権限を持つユーザーは管理画面から閲覧可能です。
「購読者」権限のユーザーには表示されませんので、権限管理を正しく行っていれば安全です。
まとめ
WordPressの「非公開」と「パスワード保護」は、特定の相手にだけ情報を届けたい時に非常に有効な機能です。
身内だけの確認用には「非公開」、特定の顧客への情報共有には「パスワード保護」というように、目的を明確にして使い分けましょう。
標準機能で不十分な場合は、今回紹介したPHPでのカスタマイズやプラグインの導入も検討してみてください。
適切なアクセス制限を行うことは、サイトの信頼性を高め、ユーザーにとって価値のある情報の提供につながります。
まずは、テスト記事を作成して実際の挙動を自身の目で確認することから始めてみてください。
