WordPress

WordPress非公開の設定方法と活用テクニックを徹底解説

WordPressでサイトを運営していると、「この記事はまだ公開したくない」「特定の人だけに見せたい」という場面に必ず遭遇します。

サイトリニューアル中で一時的にアクセスを制限したいケース、社内向けのマニュアルを限定公開したいケース、あるいは下書き段階の記事を誤って公開してしまい慌てて非公開にしたいケースなど、状況はさまざまです。

実際にWordPressの運用に携わってきた中で感じているのは、「非公開」機能の正しい理解が不十分なまま使っている方が非常に多いということです。非公開と下書き、パスワード保護の違いを正確に把握していないと、意図しない情報漏洩やSEO上の問題を引き起こすリスクがあります。

この記事では、WordPressの非公開機能について、個別記事の非公開設定からサイト全体の非公開化まで、すべての方法を網羅的に解説します。

この記事で学べること

  • WordPressの5つの公開ステータスの違いと使い分けの判断基準
  • 非公開記事は管理者と編集者のみ閲覧可能で検索エンジンにもインデックスされない
  • 個別記事の非公開設定は3ステップで完了し一括操作にも対応している
  • サイト全体を非公開にする3つの方法と難易度別の選び方
  • 非公開にしたはずの記事が表示される原因とキャッシュやREST APIの対処法

WordPressの公開ステータスを正しく理解する

非公開の設定方法を学ぶ前に、WordPressが用意している5つの公開ステータスを正確に理解しておくことが重要です。

それぞれのステータスは、「誰が記事を閲覧できるか」「検索エンジンにどう扱われるか」が明確に異なります。ここを曖昧にしたまま操作すると、思わぬトラブルの原因になります。

📊

WordPress 5つの公開ステータス比較

ステータス 閲覧できる人 検索エンジン 主な用途
公開(Published) すべての訪問者 インデックスされる 通常の記事公開
非公開(Private) 管理者・編集者のみ インデックスされない 限定公開・社内共有
下書き(Draft) 管理者・編集者のみ インデックスされない 執筆途中の保存
保留中(Pending) 管理者・編集者のみ インデックスされない 承認待ちコンテンツ
予約済み(Scheduled) 公開時刻まで非表示 公開後にインデックス 予約投稿

非公開と下書きの決定的な違い

「非公開も下書きもログインしないと見られないなら同じでは?」と思う方は少なくありません。

しかし、この2つには明確な違いがあります。下書きは「まだ完成していないコンテンツ」を意味し、非公開は「完成しているが意図的に公開を制限しているコンテンツ」を意味します。

下書きの記事にはパーマリンク(固定URL)が確定しません。一方、非公開の記事にはURLが割り当てられ、ログイン済みの管理者や編集者はそのURLで直接アクセスできます。

つまり、社内マニュアルや限定コンテンツとして活用する場合は「非公開」、まだ書きかけの記事は「下書き」と使い分けるのが正しい運用です。

パスワード保護との使い分け

もうひとつ混同されやすいのが、パスワード保護機能です。

非公開とパスワード保護の最大の違いは、非公開はWordPressにログインできる管理者・編集者だけがアクセスできるのに対し、パスワード保護はパスワードを知っている人なら誰でもアクセスできるという点です。

たとえば、会員限定のお知らせをQRコードで配布して閲覧してもらいたい場合は、パスワード保護が適しています。WordPressのアカウントを持っていない外部ユーザーにも共有できるからです。

一方、社内スタッフだけに見せたい場合は非公開設定の方が安全です。パスワードは意図せず漏洩するリスクがありますが、非公開記事はWordPressのログイン認証が必須となるためです。

⚠️
注意事項
非公開記事を閲覧できるのは「管理者」と「編集者」の権限を持つユーザーのみです。「投稿者」や「寄稿者」の権限では、たとえログイン状態でも非公開記事は表示されません。ユーザー権限の設定を事前に確認しておきましょう。

個別記事を非公開にする方法

WordPressの公開ステータスを正しく理解する - wordpress 非公開
WordPressの公開ステータスを正しく理解する – wordpress 非公開

ここからは、具体的な操作手順を解説していきます。個別記事の非公開設定には、大きく分けて3つのアプローチがあります。

方法1:編集画面から非公開に設定する

もっとも基本的な方法です。ブロックエディター(Gutenberg)を使っている場合の手順を説明します。

1

記事の編集画面を開く

WordPress管理画面から「投稿」→「投稿一覧」で対象記事の「編集」をクリックします。

2

公開状態を変更する

右サイドバーの「投稿」タブ内にある「公開状態」の項目をクリックし、「非公開」を選択します。

3

確認して更新する

「この投稿を非公開にしますか?」という確認ダイアログが表示されるので「OK」をクリックします。

操作はこれだけです。非公開に設定された記事のタイトルには自動的に「非公開:」というプレフィックスが付与され、投稿一覧でもひと目で判別できるようになります。

方法2:新規投稿時に最初から非公開で作成する

まだ公開する予定がない記事を、最初から非公開ステータスで作成する方法もあります。

新規投稿の作成画面で記事を書き終えたら、右上の「公開」ボタンをクリックします。すると公開前の確認画面が表示されるので、ここで「公開状態」を「公開」から「非公開」に変更してください。

その後「公開」ボタンを押すと、記事は非公開ステータスで保存されます。

この方法は、社内向けのナレッジベースを構築する場合などに便利です。最初から非公開で作成しておけば、誤って一般公開してしまうリスクを回避できます。

方法3:クイック編集で素早く切り替える

投稿一覧画面から、記事の編集画面を開かずにステータスを変更できる方法です。

投稿一覧で対象記事にマウスを合わせると「クイック編集」というリンクが表示されます。これをクリックすると、インライン編集パネルが開きます。

パネル内の「ステータス」ドロップダウンから「非公開」を選択し、「更新」ボタンをクリックするだけです。

個人的な経験では、複数の記事のステータスを変更する際にはこのクイック編集が最も効率的だと感じています。ただし、一度に1記事ずつしか操作できないため、大量の記事を処理する場合は次の一括操作の方が適しています。

方法4:一括操作で複数記事をまとめて非公開にする

数十件、あるいはそれ以上の記事を一度に非公開にしたい場合は、一括操作機能を使います。

投稿一覧画面で非公開にしたい記事のチェックボックスをすべてオンにし、「一括操作」ドロップダウンから「編集」を選択して「適用」をクリックします。すると一括編集パネルが表示されるので、「ステータス」を「非公開」に変更して「更新」を押してください。

ページ上部の「表示オプション」で1ページあたりの表示件数を増やしておくと、より多くの記事を一度に選択できます。

💡 実体験から学んだこと
サイトリニューアルの際に約200記事を一括で非公開にしたことがあります。一括操作を使えば5分程度で完了しましたが、事前にバックアップを取っておいたおかげで、誤って関係ない記事まで非公開にしてしまった際もすぐに復旧できました。大量操作の前には必ずバックアップを取ることをおすすめします。

サイト全体を非公開にする3つの方法

個別記事を非公開にする方法 - wordpress 非公開
個別記事を非公開にする方法 – wordpress 非公開

個別記事ではなく、WordPressサイト全体を一時的に非公開にしたいケースもあります。サイトリニューアル中、開発・テスト段階、あるいは緊急メンテナンス時などが代表的な場面です。

ここでは難易度別に3つの方法を紹介します。

方法1:プラグインでメンテナンスモードを有効にする(初心者向け)

もっとも簡単で安全な方法です。コードを一切触る必要がないため、WordPress初心者の方にも安心しておすすめできます。

代表的なプラグインとして「WP Maintenance Mode」「Maintenance」「Coming Soon Page」などがあります。

🔌

メンテナンスモード用プラグイン比較

プラグイン名 特徴 難易度 おすすめの場面
WP Maintenance Mode カスタマイズ性が高い ★☆☆ 長期メンテナンス
Maintenance シンプルで軽量 ★☆☆ 一時的な非公開
Coming Soon Page デザイン性が高い ★★☆ サイト公開前の準備期間

導入手順はどのプラグインもほぼ共通です。

WordPress管理画面から「プラグイン」→「新規追加」でプラグイン名を検索し、インストール後に有効化します。設定画面でメンテナンスモードを「有効」に切り替え、必要に応じてメンテナンスページのデザインやメッセージを編集します。

プラグインによるメンテナンスモードでは、ログイン済みの管理者には通常通りサイトが表示され、一般訪問者にはメンテナンス画面が表示されるという仕組みになっています。

これにより、管理者はサイトの修正作業を進めながら、外部からのアクセスを完全にブロックできます。

方法2:Basic認証でサーバーレベルのアクセス制限をかける(中級者向け)

プラグインに頼らず、サーバーレベルでアクセスを制限する方法です。.htaccessファイルと.htpasswdファイルを使って、サイトにアクセスする前にユーザー名とパスワードの入力を求めます。

この方法のメリットは、WordPressの管理画面にアクセスできない緊急時でも、FTPやサーバーのファイルマネージャーから設定できる点です。

.htaccessファイルに以下のような記述を追加します。

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /サーバーのフルパス/.htpasswd
Require valid-user

.htpasswdファイルには、ユーザー名と暗号化されたパスワードを記載します。パスワードの暗号化には、レンタルサーバーの管理画面やオンラインのhtpasswd生成ツールを利用できます。

ただし、.htaccessの記述を誤るとサイト全体がエラーになる可能性があるため、必ず変更前のファイルをバックアップしておいてください。

方法3:503エラーページでメンテナンス状態を通知する(上級者向け)

503(Service Unavailable)ステータスコードを返すことで、検索エンジンに「このサイトは一時的に利用できない」と正しく伝える方法です。

この方法が上級者向けである理由は、SEOへの影響を最小限に抑えられるという大きなメリットがある一方、実装にはサーバー設定の知識が必要だからです。

503ステータスコードを返すことで、Googleなどの検索エンジンはインデックスを削除せず、一時的な停止として扱います。これは長期間のメンテナンスでSEO評価を維持したい場合に非常に重要なポイントです。

functions.phpに以下のようなコードを追加することで実装できます。

function maintenance_mode() {
if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {
wp_die( 'メンテナンス中です。', 'メンテナンス中', array( 'response' => 503 ) );
}
}
add_action( 'get_header', 'maintenance_mode' );

このコードは、テーマの編集権限を持つログインユーザー以外のすべてのアクセスに対して503エラーを返します。

非公開とパスワード保護の選び方

サイト全体を非公開にする3つの方法 - wordpress 非公開
サイト全体を非公開にする3つの方法 – wordpress 非公開

ここまでの内容を踏まえて、「結局どの方法を選べばいいの?」という疑問に答えるための判断フレームワークを整理します。

🔒

非公開が適しているケース

  • 社内スタッフだけに共有したい
  • WordPress管理者間での情報共有
  • 一般訪問者に絶対に見せたくない
  • 検索エンジンにも完全に非表示にしたい
  • セキュリティを最優先にしたい
🔑

パスワード保護が適しているケース

  • WordPressアカウントを持たない外部ユーザーに共有
  • QRコードやリンクで限定配布したい
  • 会員向けコンテンツの簡易的な制限
  • イベント参加者限定の情報提供
  • 手軽さを優先したい

経験上、多くの場面で「非公開」の方が安全性は高いと感じています。パスワード保護はパスワードの流出リスクが常にあるため、機密性の高い情報には向きません。

一方で、「特定のグループに一時的に情報を共有したい」という場面ではパスワード保護の方が圧倒的に手軽です。用途に応じた使い分けが大切です。

非公開にしたのに表示されるときのトラブルシューティング

「非公開に設定したはずなのに、まだ記事が見えてしまう」というトラブルは、実はかなり多く報告されています。

原因はいくつか考えられますが、代表的なものを順番に確認していきましょう。

キャッシュが原因で古い内容が表示されている

もっとも多い原因がキャッシュです。

WordPressのキャッシュプラグイン(WP Super Cache、W3 Total Cacheなど)を使用している場合、非公開に設定した後もキャッシュされた古いページが表示され続けることがあります。

対処法はシンプルです。キャッシュプラグインの設定画面から「キャッシュをすべて削除」を実行してください。また、CDN(Cloudflareなど)を利用している場合は、CDN側のキャッシュもパージする必要があります。

ブラウザのキャッシュも忘れずに確認しましょう。Ctrl + Shift + Delete(Macの場合はCommand + Shift + Delete)でブラウザキャッシュをクリアするか、シークレットウィンドウで確認するのが確実です。

REST APIを通じてコンテンツが露出している

これは多くの方が見落としがちなポイントです。

WordPressのREST APIは、デフォルトの設定では認証済みユーザーに対して非公開記事のデータを返すことがあります。通常のブラウザ閲覧では問題ありませんが、APIを通じたアクセスでは注意が必要です。

特に、ヘッドレスCMSとしてWordPressを使用している場合や、外部サービスとAPI連携している場合は、非公開記事がAPI経由で取得されていないかを確認してください。

検索エンジンのインデックスが残っている

記事を非公開にしても、すでにGoogleにインデックスされている場合は、検索結果にしばらく表示され続けます。

非公開記事にアクセスすると404エラーが返されるため、時間の経過とともに検索結果からは消えていきます。ただし、完全に消えるまでには数日から数週間かかることがあります。

急いで検索結果から削除したい場合は、Google Search Consoleの「URL削除ツール」を使用することで、一時的に検索結果からの表示をブロックできます。

💡 実体験から学んだこと
以前、クライアントのサイトで非公開にした記事が検索結果に残り続けるというご相談を受けました。調べてみると、キャッシュプラグインが非公開記事のHTMLキャッシュを保持しており、一般訪問者にもキャッシュ経由で表示されていたことが判明しました。非公開設定後は必ずキャッシュのクリアをセットで行うことを強くおすすめします。

ユーザー権限の設定ミス

「管理者でログインしているから見えている」というケースも意外と多いです。

非公開記事は管理者と編集者には通常通り表示されます。本当に一般訪問者から見えなくなっているかを確認するには、ログアウトした状態でアクセスするか、別のブラウザのシークレットウィンドウから確認してください。

非公開設定のベストプラクティスとSEOへの影響

非公開機能を正しく活用するために、運用上のベストプラクティスとSEOへの影響を整理します。

SEOへの影響を最小限に抑える方法

公開済みの記事を非公開にすると、その記事へのすべての外部リンク(被リンク)の価値が失われます。これはSEOにとって大きな損失になる可能性があります。

もし一時的な非公開であれば、503ステータスコードを返す方法を選択することで、検索エンジンに「一時的な停止」であることを伝え、インデックスの削除を防ぐことができます。

恒久的に非公開にする場合は、その記事への被リンクが多いかどうかを事前に確認し、必要に応じて別の記事へ301リダイレクトを設定することを検討してください。

ユーザー権限の適切な管理

非公開記事の閲覧権限は、デフォルトでは管理者と編集者に限定されています。

しかし、WordPressのカスタマイズによって、カスタムロール(独自の権限グループ)を作成し、特定のユーザーグループだけに非公開記事の閲覧を許可することも可能です。

「User Role Editor」などのプラグインを使えば、コードを書かずにカスタムロールを作成できます。たとえば「社内閲覧者」という権限を作成し、非公開記事の閲覧権限だけを付与するといった運用が可能です。

定期的な棚卸しの重要性

非公開記事が増えすぎると、管理が煩雑になります。

これまでの取り組みで感じているのは、月に一度は非公開記事の一覧を確認し、「本当にまだ非公開にしておく必要があるか」を見直す習慣が大切だということです。

不要になった非公開記事はゴミ箱に移動するか、内容を更新して再公開することで、サイト全体の健全性を保てます。

上級テクニック:WP-CLIとデータベース操作

大規模なサイト運営や開発環境では、管理画面からの操作だけでは効率が悪い場面があります。ここでは、より高度な方法を紹介します。

WP-CLIで一括ステータス変更する

WP-CLIはWordPressのコマンドラインツールで、サーバーにSSHアクセスできる環境で使用できます。

以下のコマンドで、すべての公開記事を一括で非公開に変更できます。

wp post list --post_status=publish --format=ids | xargs -d ' ' -I % wp post update % --post_status=private

特定のカテゴリーに属する記事だけを非公開にしたい場合は、以下のように条件を追加します。

wp post list --post_status=publish --category_name=news --format=ids | xargs -d ' ' -I % wp post update % --post_status=private

WP-CLIは管理画面での操作と比べて圧倒的に高速で、数百件の記事でも数秒で処理が完了します。

データベースから直接ステータスを変更する

最終手段として、データベースを直接操作する方法もあります。phpMyAdminやAdminerなどのツールから、以下のSQLクエリを実行します。

UPDATE wp_posts SET post_status = 'private' WHERE post_status = 'publish' AND post_type = 'post';
⚠️
データベース操作の重大な注意点
データベースの直接操作は、誤ったクエリを実行するとサイト全体が破損するリスクがあります。必ず操作前にデータベースの完全バックアップを取得してください。また、テーブルプレフィックス(wp_)はサイトによって異なる場合があるため、事前に確認が必要です。この方法は、他のすべての方法が使えない緊急時の最終手段として考えてください。

非公開設定の前に確認すべきチェックリスト

記事やサイトを非公開にする前に、以下の項目を確認しておくことで、予期しないトラブルを防げます。

非公開設定前の確認事項

特に見落としがちなのが内部リンクの確認です。非公開にした記事へのリンクが他の公開記事に残っていると、訪問者がリンクをクリックしても404エラーが表示されてしまいます。noindexタグの設定と合わせて、リンク切れのチェックも忘れずに行いましょう。

よくある質問

非公開にした記事はSEOに悪影響がありますか?

非公開にした記事自体は検索エンジンにインデックスされないため、直接的なSEOへの悪影響はありません。ただし、その記事が獲得していた被リンクの価値は失われます。また、非公開記事へのリンクが他のページに残っていると、リンク切れとなりユーザー体験を損なう可能性があります。一時的な非公開であれば503ステータスコードを返す方法が、SEO評価を維持する観点からは最も安全です。

非公開記事を再び公開するにはどうすればよいですか?

非公開にした記事を再公開するのは非常に簡単です。記事の編集画面を開き、右サイドバーの「公開状態」を「非公開」から「公開」に変更して「更新」をクリックするだけです。元のURLがそのまま維持されるため、以前のブックマークやリンクからもアクセスできるようになります。ただし、検索エンジンに再インデックスされるまでには数日かかることがあります。

パスワード保護と非公開はどちらがセキュリティ的に安全ですか?

セキュリティの観点では、非公開の方が安全です。非公開記事はWordPressの認証システムに基づいており、管理者・編集者権限を持つログインユーザーのみがアクセスできます。パスワード保護はパスワードを知っている人なら誰でもアクセスでき、パスワードの共有や漏洩のリスクがあります。機密性の高い情報には非公開を、手軽な限定共有にはパスワード保護を使い分けるのがおすすめです。

非公開記事は何件まで作成できますか?

WordPressには非公開記事の件数制限はありません。技術的には何千件でも非公開記事を保持できます。ただし、非公開記事が増えすぎると管理が煩雑になるため、定期的に棚卸しを行い、不要な記事は削除するか再公開するかを判断することをおすすめします。データベースの容量には影響しますが、通常の運用で問題になることはほぼありません。

固定ページも非公開にできますか?

はい、固定ページ(Page)も投稿(Post)とまったく同じ手順で非公開にできます。固定ページの編集画面から「公開状態」を「非公開」に変更するだけです。ただし、トップページやお問い合わせページなど、サイトの基本構造に関わる固定ページを非公開にすると、ナビゲーションメニューからのリンク切れが発生する可能性があるため、メニュー設定の見直しも併せて行ってください。

まとめ

WordPressの非公開機能は、正しく理解して使えば非常に強力なコンテンツ管理ツールです。

個別記事の非公開は編集画面から数クリックで完了し、サイト全体の非公開もプラグインを使えば初心者でも安全に実行できます。重要なのは、非公開・下書き・パスワード保護それぞれの特性を理解し、目的に応じた適切な方法を選択することです。

非公開設定後は必ずキャッシュのクリアと表示確認を行い、意図通りにアクセス制限が機能しているかを検証してください。

WordPressの始め方から学んでいる方も、運用歴の長い方も、この記事で紹介した方法とチェックリストを活用して、安全で効率的なコンテンツ管理を実践していただければ幸いです。