MENU

WordPressのコメントスパム対策まとめ|初心者でもできる安全設定

WordPressのコメントスパム対策まとめ|初心者でもできる安全設定

WordPressを運営していると、突然海外から大量のスパムコメントが届き始める場合があります。

特に初期状態のままコメント機能を有効にしていると、URL付きスパム、BOT投稿、英語スパムなどの対象になりやすいです。

ランキングを読み込み中...

また、放置するとサイト管理負担が増えるだけでなく、SEOやセキュリティ面でも悪影響へ繋がる可能性があります。

本記事では、WordPress初心者向けに、コメントスパム対策方法を分かりやすく解説します。

ランキングを読み込み中...

なぜコメントスパムが来るのか?

WordPressは世界中で利用されている人気CMSです。

そのため、自動BOTによるスパム投稿対象にもなりやすい特徴があります。

特に以下のようなコメントは典型的なスパムです。

  • 英語だけのコメント
  • URL入りコメント
  • 意味不明な短文
  • 海外SEOリンク誘導
  • 自動生成文章

これらはBOTが自動投稿しているケースも多く、放置すると大量発生する場合があります。

ランキングを読み込み中...

WordPress標準コメント設定を見直す

まずは、WordPress標準設定を見直すのがおすすめです。

WordPress管理画面の「設定 → ディスカッション」から変更できます。

特に以下はおすすめです。

  • コメント承認を必須にする
  • URL数制限を設定する
  • ブラックリスト設定を行う
  • 古い記事コメントを停止する

初期状態のままより、かなりスパムを減らしやすくなります。

日本語を含まないコメントを拒否する

日本語サイトでは、海外スパムの多くが英語だけで投稿されます。

そのため、日本語を含まないコメントを拒否すると、かなり効果が出る場合があります。

functions.phpへ以下コードを追加する方法があります。

// 日本語を含まないコメントを拒否
function my_reject_comment_without_japanese( $commentdata ) {
    if ( ! preg_match( '/[ぁ-んァ-ン一-龥]/u', $commentdata['comment_content'] ) ) {
        wp_die( '日本語を含まないコメントは投稿できません。' );
    }
    return $commentdata;
}
add_filter( 'preprocess_comment', 'my_reject_comment_without_japanese' );

特に日本語サイトではかなり有効な場合があります。

URL入りコメントを拒否する

スパムコメントは、外部サイトURLを貼り付けるケースが非常に多いです。

そのため、URL入りコメント自体を拒否する方法もあります。

// コメント本文にURLが含まれていたら拒否
function my_reject_comment_with_url( $commentdata ) {
    if ( preg_match( '/https?:\/\/|www\.|\.com|\.net/i', $commentdata['comment_content'] ) ) {
        wp_die( 'コメントにURLを含めることはできません。' );
    }
    return $commentdata;
}
add_filter( 'preprocess_comment', 'my_reject_comment_with_url' );

SEOスパム系コメント対策としてかなり効果があります。

短すぎるコメントを拒否する

BOTスパムでは、「Good」「Nice」など極端に短いコメントも多いです。

そのため、最低文字数制限を入れる方法もあります。

// 短すぎるコメントを拒否
function my_reject_short_comment( $commentdata ) {
    $content = trim( wp_strip_all_tags( $commentdata['comment_content'] ) );
    if ( mb_strlen( $content, 'UTF-8' ) < 10 ) {
        wp_die( 'コメント本文が短すぎます。10文字以上で入力してください。' );
    }
    return $commentdata;
}
add_filter( 'preprocess_comment', 'my_reject_short_comment' );

意味のない短文スパムを減らしやすくなります。

reCAPTCHAを導入する

Google reCAPTCHAを導入すると、自動BOT対策としてかなり効果があります。

特にContact Form 7と組み合わせるケースが多いです。

最近ではreCAPTCHA v3を使うサイトが増えています。

ただし、設定ミスがあると正常ユーザーまで弾く場合があるため注意が必要です。

コメント機能を完全停止する方法

そもそもコメントを使わないサイトでは、完全停止するのもおすすめです。

コメントをOFFにしても、直接POST送信されるケースがあるため、functions.php側制御も行うと安全です。

// コメント機能を完全停止
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);

// 既存コメント非表示
add_filter('comments_array', '__return_empty_array', 10, 2);

ブログ方針によっては、最初からコメントを使わない運営もあります。

Akismetは必要?

AkismetはWordPress標準搭載されるスパム対策プラグインです。

自動判定でスパムを減らせる反面、商用利用条件などもあるため、利用前に確認がおすすめです。

最近では、functions.php側対策だけで十分運営できるケースもあります。

コメントスパム対策は組み合わせが重要

WordPressのスパム対策は、「1つだけ」で完璧に防げるわけではありません。

以下のように組み合わせると、かなり効果が出やすいです。

  • 日本語制限
  • URL制限
  • reCAPTCHA
  • コメント承認制
  • 短文制限
  • 不要なら完全停止

特に日本語サイトでは、日本語制限だけでもかなり減るケースがあります。

まとめ

WordPressは人気CMSのため、コメントスパム対象になりやすい特徴があります。

そのため、初期段階からコメントスパム対策を行っておくことが重要です。

特に日本語サイトでは、日本語制限・URL制限・reCAPTCHAなどを組み合わせることで、かなりスパムを減らしやすくなります。

また、コメントを使わない場合は、最初から完全停止するのも安全な方法の一つです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!