有料会員制をサイトに追加するディレクトリ運営者の多くは、汎用のWordPress会員制プラグインに頼りがちです。
MemberPress、Restrict Content Pro、Paid Memberships Pro、Ultimate Member、ProfilePress。
いずれも本来の目的、すなわちページ全体やコンテンツのセクションを有料会員向けに保護するという点では優れたプラグインです。
しかし、どれもディレクトリサイトが実際に必要とする特定の用途向けには作られていません。
ディレクトリサイトがリスティング全体を非表示にしたいケースはほとんどありません。
プレビュー(写真、名前、カテゴリ、地域)を公開で表示し、高付加価値フィールド(連絡先情報、料金、完全な住所、ケーススタディ)をログイン後にのみ表示し、さらに特定の有料ティアのメンバーにはプレミアム添付ファイル、内部メモ、リードルーティングフォームまで公開したい、というニーズがあります。
これはページレベルのコンテンツ保護ではなく、フィールド単位のきめ細かな表示制御です。
汎用のメンバーシッププラグインをGeoDirectoryサイトに無理やり組み合わせると、リスティング全体を非表示にするか(SEOとコンバージョンファネルが壊滅します)、カスタムコードで部分的なコンテンツを公開するか(メンテナンスコストが膨らみます)、どちらかを選ぶ羽目になります。
もっとスマートな方法があります。
この記事では、弊社の無料BlockStrapテーマと無料BlockStrapページビルダープラグイン、そして UsersWP Membership アドオンを組み合わせて、競合他社には真似できないブロックレベルの表示ルールを持つディレクトリサイトを構築するためのアーキテクチャ的な根拠を解説します。
ディレクトリサイトにおける表示制御の課題
真剣にディレクトリサイトを運営するなら、必ず同じ核心的な問いに直面します。
一般公開ユーザーには何を見せ、無料会員には何を見せ、有料会員には何を見せるべきか?
最適な答えは業種によって異なりますが、構造は一貫しています:
- 一般訪問者には、価値を理解してもらい会員登録を促すのに十分な情報を表示(写真、名前、地域、カテゴリ)
- 無料登録会員にはやや多くの情報を表示(位置情報マップ、一部の連絡先情報、説明文の全文)
- 有料会員にはすべてを表示(直接連絡先、料金、プレミアム添付ファイル、リードルーティングフォーム)
- プレミアムリスティングオーナー自身には別のティアを用意(分析ダッシュボード、編集アクセス、注目掲載)
ほとんどのメンバーシッププラグインは、ページレベルでの「ログアウト」と「ログイン」の境界はそれなりにうまく処理できます。
しかし、リスティングページ内のブロックレベルでの表示制御に対応しているものはほとんどありません。
これらのプラグインでよく使われる回避策は、コンテンツをショートコードで囲む方法(Gutenbergやページビルダーで機能せず、リスティングテンプレートを変更するたびにメンテナンスが必要になります)か、テーマファイルに条件分岐PHPを書く方法(非開発者のクライアントがルールを変更できるようにする必要が生じた途端に破綻します)のどちらかです。
どちらのアプローチもスケールしません。
BlockStrapによる解決策
BlockStrapは、無料のWordPressページビルダープラグインで、無料のBlockStrapテーマ( Real Estate Listingsテーマ などを含む)と組み合わせて使用します。
ネイティブのGutenbergブロックと直接連携するため、サードパーティのページビルダーへの依存、JavaScriptが重いフロントエンド、そして有料サブスクリプションは一切不要です。
ディレクトリサイトにとって重要な機能:ほとんどのBlockStrapブロック(特にコンテナブロック)は、ブロックサイドバーから各ブロックごとに設定できるUWP メンバーシップコントロールをサポートしています。
表示ルールは以下の条件に紐付けることができます:
- 訪問者がログイン中かログアウト中か
- 訪問者が属するUsersWPメンバーシップレベル(無料ティア、有料ティア、プレミアムティア、独自に定義したカスタムティア)
- WordPressのユーザーロール(Subscriber、Editor、Author、カスタムロール)
- 複雑なマルチティアディレクトリに対応した上記の組み合わせ
両方のプロダクトを自社で開発しているため、連携は密接です。
UsersWP Membershipがティアを定義します。
BlockStrapはそれらのティアをネイティブに読み取り、訪問者のティアに応じてブロックの表示・非表示を切り替えます。
ショートコード不要。
カスタムPHP不要。
管理が必要なサードパーティプラグインも不要。
コンテナブロックは他のコンテンツをラップするため、ここでの主役となります。コンテナに表示ルールを設定するだけで、その内側にあるすべての要素(段落、フィールド、連絡先ボタン、画像、埋め込みフォーム)にルールが継承されます。
エディターでの表示イメージ
実際の例で見てみましょう:不動産ディレクトリを運営しており、ログアウトしている訪問者や無料会員には電話番号を非表示にしたいとします。有料会員だけが閲覧できるようにする設定です。
WordPress サイトエディターで、GD Single Template(各掲載ページのレンダリングを制御するテンプレート)を開きます。
電話番号フィールドを囲む BlockStrap コンテナを選択します(デモでは、電話フィールドを含む BS > list-group-item がこれに該当します)。
右側のサイドバーで「UWP Membership Controls」パネルを見つけ、「Enable Controls」をオンにします。
設定はシンプルです:
- このコンテンツを表示できるユーザー:ログイン済みユーザー
- ユーザータイプ:一致する
- 選択したユーザータイプ:Standard Access(UsersWP で定義した有料メンバーシップレベル)
テンプレートを保存します。
電話番号フィールドは、有料会員としてログインしていないユーザーには表示されなくなりました。
これがワークフローの全てです。
コンテナひとつ、トグルひとつ、ドロップダウン選択が3つ。
コード不要、ショートコード不要、サードパーティ製メンバーシッププラグインの設定も不要です。
コンバージョンを促進するパターン
電話番号を非表示にするのは、仕事の半分に過ぎません。
もう半分は、非表示コンテンツが置かれているまさにその場所で、ログアウト中の訪問者に会員登録を促すほど魅力的なものを見せることです。
パターンはこうです:コンテナを複製し、コピーの表示ルールを反転させ、非表示コンテンツをコンバージョン促進プロンプトに置き換えます。
具体的には:
- 非表示の電話番号を含むコンテナを右クリックして複製します
- 複製したコンテナで UWP Membership Controls を開き、ルールを反転させます(ログアウト中のユーザー、または下位ティアの訪問者には「ログイン中のユーザー+一致しない」を設定)
- 複製内の動的な電話フィールドブロックを削除し(リスティングごとにライブデータを取得するため静的テキストとして編集できません)、通常の段落ブロックに置き換えます
- 電話番号は非表示です。このリスティングの完全な番号を確認するには、登録またはアップグレードしてください。
ログアウト中の訪問者には、明確な行動喚起を伴うティーザーバージョンが表示されるようになりました。
有料会員には実際の電話番号が表示されます。
同じ方法は、メールアドレス、住所の完全な詳細、料金、ダウンロード可能な添付ファイル、お問い合わせフォームなど、制限したいあらゆるプレミアムフィールドにも適用できます。
業種別の実例
法律サービスディレクトリ
公開リスティングの表示内容:弁護士名、写真、専門分野、都市、弁護士資格取得年。
無料メンバーの追加項目:詳細な経歴、使用言語、専門家団体、学歴。
有料会員の追加項目:直通電話番号、直通メールアドレス、オンライン予約カレンダー、案件結果サマリー。
各ティアは独自のBlockStrapコンテナ内に配置され、表示ルールは適切なメンバーシップレベルに設定されています。
一般訪問者は、その弁護士が存在すること、そして何をしているかを把握でき、会員登録への意欲を高めるのに十分な情報が得られます。「詳細を見るには無料アカウントを作成してください」というプロンプトは、ゲートコンテンツが表示されるはずの場所にちょうど表示されます。
B2B Vendor Directory
公開リスティングに表示される情報:会社名、業種、本社所在都市、従業員数の規模区分。
無料メンバーの追加項目:会社の詳細説明、製品・サービスカテゴリー、顧客ロゴ。
認証済みバイヤー会員が追加できる情報:価格帯、アカウントマネージャーへの直接連絡先、見積依頼(RFQ)送信フォーム、ダウンロード可能な仕様書。
この認証の仕組みが機能する理由は、B2Bベンダーが価格情報や担当者の連絡先を真剣なバイヤーにのみ共有したいと考えており、会員ティア自体が資格審査の役割を果たすからです。
プレミアム不動産ディレクトリ
公開リスティングに表示される情報:物件写真、近隣エリア、寝室数、浴室数、価格帯(「$2M〜$3M」)。
無料会員が追加できる情報:正確な価格、延床面積の詳細、建築年、完全な写真ギャラリー。
有料会員が追加できる情報:担当エージェントへの直接連絡先、内覧スケジュール、完全な住所、学区、直近の売買履歴。
このティア構造は、リスティングエージェントが詳細な物件情報を公開する前にバイヤーの資質を確認したい高級不動産市場で特に効果を発揮します。
不動産サイトの幅広いセットアップについては、こちらのガイドをご覧ください: 不動産ウェブサイトの作り方 また、こちらの比較記事もご参照ください: WordPress向けおすすめ不動産リスティングプラグインの比較.
卸売サプライヤーディレクトリ
公開リスティングに表示される情報:サプライヤー名、原産国、製品カテゴリー。
無料会員が追加できる情報:最小注文数量、リードタイム、認証・資格情報。
有料(認証済みバイヤー)会員が追加できる情報:卸売価格、営業担当者の連絡先、サンプル申請フォーム、完全な製品カタログのダウンロード。
卸売ディレクトリは、サプライヤーが価格情報を資格審査の壁の後ろに積極的に隠したいと考えているため、ブロックレベルの表示制御との相性が最も優れたユースケースのひとつです。
汎用メンバーシッププラグインがここで力不足な理由
主要なWordPressメンバーシッププラグイン(MemberPressは約199ドル/年、Restrict Content Proは99ドル/年、Paid Memberships Proは無料から有料ティアで最大347ドル/年、Ultimate Memberはプレミアムアドオンが99ドル/年〜、ProfilePressは129ドル/年)は、いずれも同じ基本ユースケース、すなわちコースサイト、有料ニュースレター、コーチングプログラム、またはコンテンツライブラリを想定して作られています。
これらの基本モデルは「このURLは保護されている、このURLは公開されている」というものです。
一部のプラグインは部分的なコンテンツ保護のためにショートコードラッパーを提供しており、静的なテキストの1〜2段落を保護する場合には機能しますが、ディレクトリプラグインのテンプレートエンジンを通じてレンダリングされる動的なリスティングフィールドを保護しようとすると、すぐに限界が生じます。
これらのプラグインと格闘してディレクトリサイトでブロックレベルの表示制御を実現しようとするコストは、三つの形で現れます。ショートコードのデバッグ時間、ディレクトリプラグインがテンプレートを更新するたびに崩れるリスティング、そしてあなたのユースケースを想定して設計されていないソフトウェアに毎年支払い続けるライセンス料です。
WordPressメンバーシッププラグインのより詳しい比較については、 WordPressメンバーシッププラグイン厳選ガイド (UsersWPブログ)をご覧ください。
実践的なスタック構成
ブロックレベルの表示ルールを備えたディレクトリサイトに最適なフルスタック構成:
- GeoDirectory (無料)ディレクトリエンジン本体として
- あなたのジャンルに合った無料のBlockStrapテーマ(Real Estate Listings、またはその他のBlockStrapテーマから選択)
- ブロックレベルの表示制御のための無料BlockStrapページビルダープラグイン
- 無料の UsersWP プラグイン (ユーザー登録・プロフィール・メンバー管理用)
- The UsersWP Membership アドオン (シングルサイトで年額$49)有料メンバーシップティア向け
- 無料の GetPaid プラグイン (メンバーシップ決済処理用)
フルスタック構成の総年間コスト:シングルサイトで年額$49、取引手数料なし。
最も近い競合の組み合わせ(GeoDirectory+MemberPressのような汎用メンバーシッププラグイン)は、エントリーティアで年額$199+取引手数料4.9%がかかり、取引手数料をなくすには年額$349が必要です。それでもブロックレベルの表示制御はきれいに対応できません。
このアーキテクチャ上の優位性は、ディレクトリが成長するほど大きくなります。リスティングが増え、制御するフィールドが増え、定義するティアが増えるほど、ブロックレベルのアプローチはメンテナンスの負担を増やさずにスケールします。一方、ショートコードラッパーのアプローチは、リスティングを追加するたびに状況が悪化していきます。
最後に
ディレクトリサイトには固有のメンバーシップニーズがありますが、汎用のWordPressメンバーシッププラグインはそれに対応するために作られていません。
正しいアーキテクチャの答えは、仕事のために設計されたツールを使うことです:BlockStrapテーマ、BlockStrapページビルダープラグイン、GeoDirectory、UsersWP、そしてUsersWP Membership。すべて同じチームが開発し、ひとつの統合スタックとしてテスト済みです。
ブロックレベルの表示ルールは、開発者でなくてもブロックサイドバーから設定でき、制限したいリスティングフィールドや定義したメンバーシップティアに自由に適用できます。
ショートコード不要、カスタムコード不要、ディレクトリエンジンと競合するサードパーティプラグインのライセンスも不要です。
ステップバイステップの構築ガイドについては、こちらのガイドをご覧ください: 最高のビジネスディレクトリソフトウェア および、こちらの完全チュートリアルもご参照ください: ディレクトリウェブサイトの作り方.
ペイウォールとメンバーエクスペリエンスに関するスタックについては、こちらのガイドをご覧ください: 最高のWordPressメンバーシッププラグイン および ステップバイステップのペイウォールチュートリアル.
無料で始めましょう。
ディレクトリに十分な公開トラフィックが集まり、プレミアムコンテンツの制限が正当化できる段階になったら、メンバーシップ機能を追加しましょう。
フィールドを制限するたびに汎用プラグインと格闘するのではなく、目的のために設計された統合スタックを活用しましょう。