「お客様の声」や商品レビューは、小売ECの購入意思決定に大きな影響を与える要素のひとつです。ところが実際のサイト運用を見ていくと、コメント欄は初期設定のまま放置されているか、逆にスパム対策を理由に一律でオフにされているケースが少なくありません。どちらの状態も、UGC(ユーザー生成コンテンツ)による社会的証明という武器を活かせていない点で共通しています。
WordPressには、投稿ごとにコメント(=レビューやお客様の声)欄が開いているかどうかを判定する comments_open() という条件分岐タグが用意されています。単体では地味な関数ですが、投稿タイプやカテゴリ、商品の属性ごとにコメント欄の出し分けを設計するための起点として使うと、UGC活用の設計図がぐっと具体的になります。
この記事では、comments_open() の正確な仕様を確認したうえで、小売事業者向けのWordPressサイトにおいて、レビュー・お客様の声欄をどう設計し、社会的証明とインバウンド集客の両方に活かすかを解説します。単なる関数解説にとどまらず、運用フローや判断軸まで含めて整理します。
この記事で分かること
- comments_open() の正確な仕様と使い方
- コメント欄をレビュー・お客様の声として設計する考え方
- 外部レビュープラットフォームとの役割分担
- スパム対策と承認フローの組み立て方
- UGCを集客・CVに結びつける運用の全体像
comments_open()が小売ECの集客で重要になる理由
小売ECにおいて、購入前の比較検討フェーズで最も参照されやすい情報のひとつが「他の購入者の声」です。価格や機能説明は売り手側の主張として受け取られやすい一方、レビューやお客様の声は第三者の評価として信頼されやすく、いわゆる社会的証明として機能します。この社会的証明が弱いページは、どれだけ商品説明を作り込んでも離脱されやすくなります。
一方で、コメント機能はWordPressの標準機能としては汎用的すぎるため、そのまま使うと「スパムコメントだらけになる」「本文と関係のない質問が入り込む」「承認作業が追いつかない」といった運用上の悩みが発生しがちです。結果として、多くのサイト運用者は思考停止的にコメント欄自体を非表示にしてしまい、UGCの機会そのものを失っています。
comments_open() を軸にすれば、こうした「全部オンか全部オフか」の二択から抜け出し、投稿タイプ・カテゴリ・商品の性質ごとにコメント欄の要否を判断する設計に移行できます。これは技術的な話であると同時に、コンテンツマーケティングとしての意思決定でもあります。
- レビュー・お客様の声は購入意思決定に直結する社会的証明である
- コメント機能を一律オン/オフにすると機会損失か運用崩壊のどちらかに寄りやすい
- 投稿タイプ・カテゴリ単位でコメント欄の出し分けが必要になる
- UGCは検索エンジンにとっても更新性・独自性のシグナルになりやすい
comments_open()の役割を実務目線で理解する
comments_open() は、指定した投稿でコメント(レビューやお客様の声を含む)が受け付けられる状態かどうかを判定するWordPressの条件分岐タグです。引数には投稿IDまたはWP_Postオブジェクトを渡せます。省略した場合は、ループ内のグローバルな投稿(現在表示中の投稿)が対象になります。戻り値は真偽値(true/false)です。
if ( comments_open() ) {
// 現在の投稿でコメント(レビュー)欄を表示する
comment_form();
} else {
echo '現在この商品ページへのレビュー投稿は受け付けていません。';
}
投稿IDを明示的に指定すれば、ループの外や別の投稿を対象に判定することもできます。例えば、関連商品カードの中で「レビュー受付中」バッジを出し分けたい場合などに使えます。
$related_id = 123;
if ( comments_open( $related_id ) ) {
echo 'レビュー受付中';
}
ここで注意したいのは、comments_open() が判定しているのは「投稿ごとのcomment_status(open/closed)」と「サイト全体のディスカッション設定」を組み合わせた実効的な状態である点です。管理画面の「設定 > ディスカッション」でサイト全体のデフォルトを決めていても、個別投稿の編集画面で「コメントを許可」のチェックを外していれば、その投稿ではfalseになります。逆に、投稿単位で許可していてもテーマやプラグインが ‘comments_open’ フィルターでfalseを返すように上書きしていれば、実際にはコメントは閉じた扱いになります。
// 特定の投稿タイプではコメントを一律で閉じるアンチパターンの例
add_filter( 'comments_open', function( $open, $post_id ) {
if ( get_post_type( $post_id ) === 'product_review' ) {
return false;
}
return $open;
}, 10, 2 );
このようなフィルターは強力ですが、レビュー欄を主戦力にしたい投稿タイプに対して誤って適用してしまうと、UGCの入り口そのものを塞いでしまいます。comments_open() を使った条件分岐を実装する際は、「どの投稿タイプ・カテゴリでコメントを開けたいのか」を先に言語化してから実装に落とすことが重要です。単に管理画面のチェックボックスに任せきりにすると、意図と実装がズレたまま運用が固定化されてしまうアンチパターンに陥りやすくなります。
小売事業者のインバウンド集客に落とし込む考え方
商品ページのレビュー欄をコメント機能で代替するかを判断する
WordPressの標準コメント機能を「商品レビュー」としてそのまま使うか、専用のレビュープラグインや外部サービスに任せるかは、最初に決めておくべき判断です。標準機能は軽量で自由度が高い反面、星評価や写真投稿といったレビューらしいUIは自前で作り込む必要があります。
comments_open() を使えば、商品カテゴリごとに「標準コメントをレビュー欄として使う投稿タイプ」と「使わない投稿タイプ」を明確に切り分けられます。例えば、比較的シンプルな消耗品カテゴリは標準コメントで十分だが、高単価商材は専用レビューUIを使う、といった判断です。
- 商品単価・検討期間の長さで採用するレビュー方式を分ける
- 標準コメントを使う投稿タイプを明確に定義する
- UIの作り込みコストと運用工数を比較して決める
投稿タイプ・カテゴリ別にコメント欄の有無を出し分ける
小売ECのWordPressサイトでは、通常の記事投稿に加えて、商品紹介用のカスタム投稿タイプや、事例紹介、キャンペーン告知など複数の投稿タイプが混在することが多くあります。すべてに同じコメントポリシーを適用する必要はありません。
comments_open() とget_post_type() を組み合わせれば、テンプレート側で「このカスタム投稿タイプだけコメントフォームを出す」「キャンペーン告知記事はコメントを出さない」といった出し分けを、テーマファイルの一箇所で管理できます。管理画面の個別設定に依存しない分、運用ルールがブレにくくなります。
- 投稿タイプごとにコメント欄の方針を一覧化する
- テンプレート側で出し分けロジックを一元管理する
- 個別投稿の手動設定に依存しすぎない
外部レビュープラットフォームとの役割分担を設計する
Googleビジネスプロフィールのレビューや、ECモールのレビュー機能、専用レビューSaaSなど、外部のレビュープラットフォームを既に使っている小売事業者も多いはずです。この場合、WordPress側のコメント欄と役割が重複しないように設計する必要があります。
例えば、購入後の満足度評価は外部プラットフォームに集約し、WordPress側のコメント欄は「使い方の質問」「導入前の疑問」といった購入前後のコミュニケーションに特化させる、といった役割分担が考えられます。comments_open() による出し分けは、この役割分担をコード上で強制する手段にもなります。
- 外部レビューと自社サイトのコメント欄の役割を明文化する
- 重複する評価導線を減らし、UGCの分散を防ぐ
- 外部レビューへの導線をコメント欄周辺に配置する
スパム対策と承認フローを運用に組み込む
コメント欄を開放するうえで最大の懸念はスパムです。comments_open() で「開く投稿」を絞り込んだうえで、承認制(コメントを保留にして手動承認する設定)やAkismet等のスパムフィルターを組み合わせることで、開放範囲を限定しつつ運用負荷を抑えられます。
特に、コメントを開く投稿タイプを絞ること自体が、スパム流入の母数を減らす効果を持ちます。「全ページ開放してフィルターだけで守る」よりも、「開く範囲を関数で制御しつつ、開いた範囲は丁寧に承認する」方が、運用担当者の負荷は現実的になりやすいと考えられます。
- コメントを開く投稿タイプ・カテゴリを絞り込む
- 承認制コメントとスパムフィルターを併用する
- 承認作業の担当者と頻度をあらかじめ決めておく
コメントを収集して終わりにせず、コンテンツ資産として二次活用する
お客様の声やレビューコメントは、そのページに掲載して終わりではなく、他のコンテンツの素材としても活用できます。よくある質問への統合、特集記事での引用、SNS投稿への転用など、二次活用の設計まで含めてコメント欄運用を考えると、投資対効果が高まります。
この二次活用を前提にすると、「どの投稿タイプのコメントを重点的に集めるか」の優先順位も見えてきます。comments_open() による出し分けは、この優先順位づけを実装レベルで反映する手段でもあります。
- 良質なコメントをFAQや特集記事に転用する
- 二次活用を前提に重点的に集めるコメントの種類を決める
- コメント内容の傾向を定期的に棚卸しする
運用イメージ(架空パターン)
ここでは理解を深めるために、あくまで仮のケースとして運用イメージを描いてみます。例えば、キッチン雑貨を中心に扱う小売ECサイトを運営している仮のB社があるとします。B社では、通常の投稿タイプ「post」に加えて、商品紹介用のカスタム投稿タイプ「kitchen_item」を運用しているとします。
B社の担当者は、すべての投稿タイプでコメントを一律開放していた結果、スパムコメントの承認作業に日々の運用時間を取られていたとします。そこで、まず投稿タイプごとの方針を整理し、「kitchen_item(商品紹介)」はレビュー・お客様の声として積極的にコメントを開放する一方、「post(コラム記事)」はコメントを閉じ、SNSでの反応を主なフィードバック経路とする、という仮の方針を決めたとします。
この方針をcomments_open() とテンプレート側のロジックで実装し、投稿タイプ単位でコメントフォームの表示・非表示を切り替えたとします。あわせて、kitchen_itemのコメントは承認制にし、投稿時に「使ってみた感想」を促す一文をコメントフォームの近くに添えたとします。
このような仮の運用に切り替えた場合、承認作業の対象がkitchen_itemに限定されることで運用負荷が下がりやすく、また商品紹介ページに集まったコメントが購入検討中の読者にとっての判断材料として機能しやすくなる、と考えられます。あくまで仮のシナリオですが、投稿タイプ単位での出し分けが運用設計にどう効いてくるかのイメージとして参考にしてください。
実装・運用の進め方
- 投稿タイプ・カテゴリごとにコメント欄の方針を洗い出す
- comments_open() を使ったテンプレート側の出し分けロジックを実装する
- 承認制コメントとスパムフィルターの設定を見直す
- コメントフォーム周辺の文言をレビュー投稿を促す内容に調整する
- 外部レビュープラットフォームとの役割分担を文書化する
- 定期的にコメント内容を棚卸しし、二次活用先を検討する
よくある失敗と回避策
- 全投稿タイプでコメントを一律開放し、スパム対応に追われる
- 逆に一律で閉じてしまい、UGCによる社会的証明を失う
- 外部レビューとWordPressコメントの役割が重複し、情報が分散する
- 承認フローの担当者が決まっておらず、コメントが放置される
- comments_openフィルターの上書きに気づかず、意図と実装がズレる
社内で持つべき判断軸
- どの投稿タイプ・カテゴリでコメントを社会的証明として使いたいか
- 承認作業にどの程度の運用工数を割けるか
- 外部レビュープラットフォームとの役割はどう分担するか
- 収集したコメントをどのコンテンツに二次活用するか
成果測定で見るべき指標
- コメント(レビュー)が付いた投稿とそうでない投稿のCV率の差
- コメント欄を開放している投稿の直帰率・滞在時間
- スパムコメントと有効コメントの比率
- 承認から公開までの平均所要時間
- コメントを二次活用したコンテンツの流入・反応
よくある質問
comments_open()とget_comments_number()の違いは何ですか
comments_open()はコメントを新規に受け付けられる状態かどうかを判定します。一方get_comments_number()はその投稿に付いているコメント件数を取得する関数で、役割が異なります。表示済みコメント数の表示と、フォームの出し分けは別のロジックとして扱う必要があります。
投稿タイプによってコメントの受付可否を分けることはできますか
はい。comments_open()とget_post_type()を組み合わせてテンプレート側で分岐させれば、投稿タイプごとにコメントフォームの表示可否を制御できます。管理画面の個別設定に頼らず、一元的にルールを実装できます。
標準のコメント機能を商品レビューとして使うのは技術的に無理がありますか
無理はありませんが、星評価や画像アップロードなどレビューらしいUIを実現するには追加の実装やプラグインが必要になることが多いです。シンプルな自由記述のお客様の声であれば、標準機能でも十分機能します。
スパムコメント対策はcomments_open()だけで十分ですか
不十分です。comments_open()はあくまで「開く/閉じる」の判定であり、スパム対策自体はAkismetなどのフィルタリングツールや承認制の運用と組み合わせる必要があります。
外部レビューサービスを使っていてもWordPressのコメント機能は必要ですか
必須ではありませんが、購入前の質問対応や、使い方に関するやり取りなど、外部レビューではカバーしきれないコミュニケーションの受け皿として使う価値はあります。役割を分けて設計するのが望ましいです。
コメント欄を後から閉じても既存のコメントは消えますか
comments_open()の判定を変えても既存のコメントデータは削除されません。表示中のコメント一覧はそのまま残り、新規投稿の受付のみが制御される形になります。
EC制作・EC広告の相談先を探している小売事業者の方へ
ここまで解説した設計や実装は、単体の関数を知るだけでは十分ではありません。実際の集客成果につなげるには、商品データの持ち方、カテゴリやタグの設計、記事導線、内部リンク、コンバージョン導線、広告配信先の整合まで含めて一貫して設計する必要があります。
自社ECの制作、既存WordPressサイトの改善、Shopifyや基幹システムとの連携、広告運用と連動した特集ページ制作までまとめて整理したい場合は、事業構造に合わせた設計が重要です。運用負荷を抑えながら売上につながる情報設計を進めたい場合は、要件整理の段階から相談できる体制を持っておくと失敗を減らせます。
まとめ
comments_open() は小さな条件分岐タグですが、小売ECにおけるレビュー・お客様の声というUGC施策を、投稿タイプやカテゴリ単位で意図的に設計するための起点になります。全面開放でも全面閉鎖でもない、方針に基づいた出し分けを実装することで、社会的証明を強化しながら運用負荷を抑えることができます。まずは自社サイトのどの投稿タイプでコメントを開放すべきかを棚卸しするところから始めてみてください。

コメント