WordPressのコメントを安全に投稿してもらう方法(スパム対策)
WordPressのコメント欄は、読者との交流やSEO対策にも役立ちますが、一方でスパムの温床になりやすい場所でもあります。スパムコメントが増えると、サイトの信頼性が低下し、読者の離脱を招く可能性もあります。
そこで今回は、コメント欄を安全に保ち、スパムを未然に防ぐ方法を紹介します!🚀
1. Google reCAPTCHAを導入(ボット対策)
Google reCAPTCHAをコメントフォームに追加すると、ボットによる自動投稿を防ぐことができます。
📌 設定方法
- 「Advanced noCaptcha & invisible Captcha」プラグインをインストール
- Google reCAPTCHAのサイトキーとシークレットキーを取得
- プラグインの設定で「コメントフォームにreCAPTCHAを適用」をオンにする
✔ メリット → スパムボットをほぼ完全にブロック
✖ デメリット → まれに誤検知がある
2. Akismet(スパムフィルター)の導入
WordPress公式のスパム対策プラグイン「Akismet」を使うと、機械学習でスパムコメントを自動判別できます。
📌 設定方法
- 「Akismet Anti-Spam」プラグインをインストール
- APIキーを取得(無料プランあり)
- コメントのスパム判定を自動化
✔ メリット → メンテナンス不要で高精度
✖ デメリット → まれに誤判定がある(手動解除可能)
3. 日本語必須フィルターを追加(海外スパム対策)
スパムの多くは英語・中国語などの海外発なので、日本語が含まれていないコメントを弾くと効果的です。
📌 設定方法(functions.phpに追加)
function block_non_japanese_comments($commentdata) {
if (!preg_match('/[ぁ-んァ-ン一-龠]/u', $commentdata['comment_content'])) {
wp_die('スパム防止のため、日本語の文字を含めてください。');
}
return $commentdata;
}
add_filter('preprocess_comment', 'block_non_japanese_comments');
✔ メリット → 日本語を含まないスパムをほぼ完全にブロック
✖ デメリット → 日本語を含まない正当なコメントも弾かれる
4. URLを含むコメントを禁止する
スパムの大半は、怪しいリンクを含むコメントなので、URL投稿を制限すると効果的です。
📌 設定方法(functions.phpに追加)
function block_comment_with_links($commentdata) {
if (preg_match('/https?:\/\//', $commentdata['comment_content'])) {
wp_die('スパム防止のため、URLを含むコメントは投稿できません。');
}
return $commentdata;
}
add_filter('preprocess_comment', 'block_comment_with_links');
✔ メリット → リンク付きスパムを完全シャットアウト
✖ デメリット → 正当なコメントも弾かれる可能性あり
5. コメントの承認制を有効化(手動チェック)
自動承認を無効にし、管理者が手動でコメントを確認する設定にすると、スパムを完全に防げます。
📌 設定方法
- WordPress管理画面 → 設定 → ディスカッション
- 「コメントの手動承認を必須にする」にチェック
✔ メリット → 100%スパムを防げる
✖ デメリット → 手動確認が必要で手間がかかる
6. コメントフォームに簡単な質問を追加
スパムボット対策として、「日本の首都は?」などの簡単な質問を追加すると有効です。
📌 設定方法(functions.phpに追加)
function custom_comment_form_field() {
echo '<p>日本の首都は?(ひらがなで入力)<br><input type="text" name="custom_answer"></p>';
}
add_action('comment_form_logged_in_after', 'custom_comment_form_field');
add_action('comment_form_before_fields', 'custom_comment_form_field');
function verify_custom_comment_field($commentdata) {
if (!isset($_POST['custom_answer']) || trim($_POST['custom_answer']) !== 'とうきょう') {
wp_die('スパム防止のため、正しい回答を入力してください。');
}
return $commentdata;
}
add_filter('preprocess_comment', 'verify_custom_comment_field');
✔ メリット → ボットには突破が難しい
✖ デメリット → ルールを知らないユーザーが困る可能性あり
7. まとめ:おすすめの対策セット
方法 | 難易度 | スパム防止効果 | おすすめ度 |
---|---|---|---|
reCAPTCHAの導入 | ★★☆ | 高い | ✅✅✅ |
Akismet(スパムフィルター) | ★☆☆ | 高い | ✅✅✅ |
日本語必須フィルター | ★☆☆ | 高い | ✅✅ |
URL投稿禁止 | ★☆☆ | 中程度 | ✅✅ |
コメント承認制 | ★☆☆ | 100%防止 | ✅✅✅ |
質問認証を追加 | ★★☆ | 高い | ✅✅ |
結論:スパムをゼロに近づける対策
💡 おすすめの対策セット
- reCAPTCHA(スパムボット対策)
- Akismet(機械学習でスパム判別)
- 日本語必須フィルター(海外スパム対策)
- コメント承認制(管理者チェック)
これらを組み合わせれば、スパムコメントはほぼゼロ にできます!🚀✨
ぜひ、あなたのWordPressサイトにも導入してみてください!😊
Webのプロがあなたの悩みを解決します!
お問合せは24時間受付のお問い合わせフォームからご連絡ください。