2026年6月26日

2026年6月26日

WordPressでメンバーシップサイトを構築する手順|設計・プラグイン選び・公開前の確認

WordPressでメンバーシップサイトを作るなら、会員管理・閲覧制限・決済をまとめて扱えるメンバーシッププラグインを使い、キャッシュ・ファイル保護・REST APIの3点を自分で確認するのが現実的な進め方です。プラグインを入れるだけで「見えてはいけないものが見えない」状態になるとは限らないため、この記事では設計の決め方、プラグインの選び方、導入後の設定の流れ、公開前に確かめるべき抜け道までを順に説明します。

作り始める前に決めておくこと

プラグイン選びより先に、サイトの仕組みを紙に書き出しておくと、後からの作り直しを避けられます。最低限、次の4点は決めておきます。

  • 会員の種類:無料会員だけか、有料プランがあるか。プランは何段階か
  • 課金方法:買い切りか、月額・年額の継続課金か。無料体験期間を設けるか
  • 制限の単位:サイト全体を会員限定にするか、カテゴリー単位か、記事の途中から隠すか
  • 会員に提供するもの:記事の閲覧だけか、PDFや動画のダウンロード、講座の進捗管理、会員同士の交流まで必要か

特に「制限の単位」と「提供するもの」は、プラグインごとに得意分野がはっきり分かれる部分です。記事の途中から続きを会員限定にしたいのか、講座形式でレッスンを順番に解放したいのかで、適したプラグインが変わります。

有料で販売する場合は、技術面とは別に、特定商取引法に基づく表記、利用規約、プライバシーポリシー、解約方法の案内を用意します。継続課金では「いつ・いくら請求されるか」「どこから解約できるか」を申込画面で分かるようにしておくと、問い合わせやトラブルを減らせます。

プラグインの選び方

代表的なメンバーシッププラグインには、次のような特徴があります。機能や料金体系はバージョンアップで変わるため、ここでは方向性だけを示し、詳細は導入前に各公式サイトで確認してください(2026年10月現在)。

  • Paid Memberships Pro:本体は無料で公開されていて、会員レベルの作成、閲覧制限、Stripeなどの決済に対応しています。追加機能はアドオンで足していく構成です
  • MemberPress:有料のみ。閲覧制限のルール設定、講座機能、クーポンなどが一通りそろっていて、追加の組み合わせを考える手間が少ない製品です
  • Restrict Content / Restrict Content Pro:閲覧制限を中心にしたシンプルな構成で、無料版と有料版があります
  • Ultimate Member:会員登録フォーム、プロフィール、会員一覧といったコミュニティ寄りの機能が中心です。有料プランの販売は拡張機能やほかのプラグインと組み合わせて実現します
  • WooCommerceと会員系の拡張機能:すでにWooCommerceで物販をしているなら、商品と会員資格を同じ仕組みで扱えます

選ぶときは、日本円での継続課金に対応した決済サービスと連携できるか、日本語の表示を自然に直せるか、会員データをCSVなどで書き出せるかを確認します。最後の点は、将来プラグインを乗り換えるときに会員情報を移せるかどうかに直結します。

導入から公開までの流れ

ここでは、多くのプラグインに共通する手順を順に示します。画面の項目名はプラグインによって異なります。

  1. ステージング環境を用意し、本番サイトのバックアップを取る
  2. プラグインをインストールし、会員登録・ログイン・アカウント管理・購入完了などの固定ページを作成する(自動で作ってくれるプラグインもあります)
  3. 会員レベル(プラン)を作り、料金、課金周期、有効期限を設定する
  4. 決済サービスをテストモードで接続し、テスト用のカード番号で申込から解約まで通しで試す
  5. 閲覧制限のルールを設定し、会員限定の記事・ページ・カテゴリーを割り当てる
  6. 会員向けの自動メール(登録完了、決済失敗、更新前の案内など)の文面を整える
  7. 後述の確認項目を済ませてから、決済を本番モードに切り替える

手順4では、成功するケースだけでなく、カードが拒否された場合や、継続課金の2回目で決済に失敗した場合の動きも確かめます。決済サービスからWebフックで結果を受け取る構成では、Webフックの送信先URLを本番とテストで別々に登録する必要があることが多く、ここが未設定だと「決済は成功しているのに会員資格が付かない」状態になります。

手順6のメールは、WordPress標準の送信方法のままだと迷惑メールに振り分けられやすく、会員が登録完了メールを受け取れない原因になります。SMTPプラグインや送信用のメールサービスを使い、送信ドメインのSPF・DKIMを設定しておくと届きやすくなります。

キャッシュとの付き合い方

メンバーシップサイトで最も起きやすい事故が、ページキャッシュによる表示の取り違えです。会員がログインした状態で表示したページがキャッシュされ、それが未ログインの訪問者に配信されると、会員限定の内容が誰にでも見えてしまいます。逆に、未ログイン用のキャッシュが会員に返ると「会員なのに見られない」という問い合わせになります。

多くのキャッシュプラグインやサーバーのキャッシュ機能は、ログイン中のユーザーにはキャッシュを使わない設定を標準で持っています。それでも次の点は自分で確認してください。

  • ログイン中ユーザーにキャッシュを返さない設定が有効になっているか
  • 会員登録・ログイン・アカウント・決済のページがキャッシュの対象外になっているか
  • CDNを使っている場合、CDN側でもログインCookieの有無でキャッシュを分けているか

確認は、会員でログインしたブラウザーと、シークレットウィンドウの未ログイン状態で同じ会員限定ページを交互に開くのが簡単です。それぞれで正しい表示が続くか、キャッシュを削除した直後と、しばらく時間を置いた後の両方で見ておきます。

メディアファイルとREST APIの抜け道

メンバーシッププラグインの閲覧制限は、基本的に「WordPressがページを表示するとき」に働きます。そのため、次の2つは制限の外側になりやすい部分です。

1つ目はアップロードしたファイルです。wp-content/uploads/ の画像やPDFは、Webサーバーが直接返すため、URLさえ分かればログインしていなくても開けます。会員限定のPDFを記事に添付しただけでは保護されません。対策としては、プラグインの保護ダウンロード機能を使う、Webサーバーの設定で特定フォルダーへの直接アクセスを禁止してPHP経由で配信する、動画は限定公開に対応した動画配信サービスに置く、といった方法があります。Nginxで直接アクセスを禁止する例は次のとおりです。

# 会員向けファイルを置くフォルダーへの直接アクセスを拒否する
location ^~ /wp-content/uploads/members-only/ {
    deny all;
}

この設定だけではファイルを誰も開けなくなるため、ログインと会員資格を確かめてからファイルを返す配信処理と組み合わせて使います。設定変更前には現在の設定ファイルをバックアップし、nginx -t で構文を確認してから再読み込みしてください。

2つ目はREST APIとRSSフィードです。WordPressは /wp-json/wp/v2/posts で投稿の本文を返し、フィードでも本文や抜粋を配信します。プラグインがこれらの経路にも制限をかけているかは製品や設定によって異なるため、未ログインの状態で実際に取得して確かめます。

# 会員限定記事(ID 123)の本文が未ログインで取得できてしまわないか確認
curl -s "https://example.com/wp-json/wp/v2/posts/123" | head -c 600

# フィードに会員限定記事の本文が出ていないか確認
curl -s "https://example.com/feed/" | grep -c "会員限定記事に含まれる特徴的な語句"

本文が返ってくる場合は、プラグインの設定でREST APIやフィードへの制限を有効にするか、フィードを抜粋のみにする設定を見直します。

検索エンジンと会員限定コンテンツ

会員限定の記事も、タイトルと冒頭部分を公開しておけば検索から見込み客を集める入口になります。記事の途中から隠す方式にすると、検索エンジンにも内容の一部が伝わります。ただし、検索エンジンにだけ全文を見せて訪問者には隠すと、ユーザーと検索エンジンで異なる内容を見せる扱いになるおそれがあります。全文を検索エンジンに読ませたい場合は、Googleが案内している有料コンテンツ向けの構造化データ(isAccessibleForFree など)の仕様を確認したうえで実装を検討します。

運用で見ておきたいこと

公開後は、会員数が増えるほどデータベースの会員情報と決済履歴が重要な資産になります。日々のバックアップに加え、次の点を定期的に見直してください。

  • 管理者アカウントに二要素認証を設定し、会員向けログイン画面にもログイン試行の制限をかける
  • 会員の役割(通常は購読者)に、不要な管理画面へのアクセス権が付いていないか確かめる
  • 決済サービス側の会員数・継続課金数と、プラグイン側の有効会員数が一致しているか照合する
  • プラグインの更新はステージングで決済とログインを試してから本番に適用する

まとめ

  • 会員の種類・課金方法・制限の単位・提供物を先に決めてから、得意分野が合うプラグインを選ぶ
  • 決済はテストモードで申込から決済失敗、解約まで通しで試し、Webフックの送信先も確認する
  • ログイン中のページがキャッシュされて未ログインの訪問者に配信されないよう、キャッシュとCDNの設定を確かめる
  • アップロードしたファイル、REST API、フィードは閲覧制限の外側になりやすい。未ログイン状態で実際に取得して確認する
  • 有料販売では特定商取引法に基づく表記や解約方法の案内も公開前に整える

お気軽にご相談ください

お見積りへ お問い合わせへ
▲