【WordPressコメントスパム対策】Step1 最初に見直す標準設定

WordPress

WordPressでブログ運用を始めてからしばらく経つと、
突然、英語や意味不明なコメントが増え始めます。

このブログでも、翻訳できないようなアルファベットの羅列や、
オンラインカジノへの誘導、同じ文章のコメントなどが
少しずつ増えてきました。

幸い、コメントは承認制にしていたため
記事が荒れることはありませんでしたが、
承認待ちのコメントが増え、管理画面の確認が大変です。

そのため、コメントに対してもスパム対策を講じることにしました。

この記事では、
プラグインを入れる前にやっておきたい
WordPress標準のコメントスパム対策を整理して紹介します。

前提条件

本記事の内容は、以下の環境を前提にしています。

  • WordPress:6.x 系(設定画面のキャプチャは v6.9.1時点のものです)

なぜ最初にデフォルト設定を見直すのか

実は最近のWordPressでは、
初期状態でもある程度のコメント対策が設定済みです。

実際、私の環境でも基本的な設定はすでに有効でした。
ただし、それだけでは不十分なケースもあります。

例えば、

  • 一度承認された投稿者によるスパムコメント
  • URL付きのコメントを狙った人力スパム
  • ピンバック・トラックバック経由の通知スパム

といったものは、初期設定のままでは防ぎきれません。

WordPressにはこうしたコメントを「一度止める」ための仕組みが標準で用意されています。
この記事では、それらを改めて整理してプラグインを入れる前にやっておくべき設定を確認します。

コメントのスパム対策

設定画面の場所は、以下となります。

管理画面 → 設定 → ディスカッション

本記事では、コメントスパム対策として特に効果の高い設定項目に絞って解説します。
それ以外の項目については、WordPressのデフォルト設定のままとしています。

デフォルトの投稿設定

  • 【OFF】投稿中からリンクしたすべてのブログへの通知を試みる
    • OFFにすることで、外部のサイトへの自動通信を行わなくなります
  • 【OFF】新しい投稿に対し他のブログからの通知 (ピンバック・トラックバック) を受け付ける
    • OFFにすることで他のサイトからのピンバックを受け取らなくなります
    • ここが特に効果的で、スパムの温床を遮断できます
  • 【ON】新しい投稿へのコメントを許可
    • 記事に対してコメントを許可するかの設定のためONでOK
    • コメントを受け付けないブログであればOFFにしても良いです

最終的に以下の画像のような状態にしました。

ピンバック・トラックバックは、記事内でリンクした相手、またはリンクされた相手に対して「リンクしました」という通知を送受信する仕組みです。
昔はブログ同士の交流に使われていましたが、現在ではスパムの温床になりやすく、
運用面でのメリットも少ないため、OFFにしています。

コメント表示条件

  • 【OFF】コメントの手動承認を必須にする
    • ONにしてすべて承認を必須にしても良いですが、コメント数が増えると運用負荷が高くなります
    • またスパム以外のコメントは即時反映された方が投稿者も嬉しいですね
  • 【ON】すでに承認されたコメントの投稿者のコメントを許可し、それ以外のコメントを承認待ちにする
    • 承認の手間を省くことができます
    • この設定がONでないと、リンク数やキーワードによる判定が行われません

「すでに承認されたコメントの投稿者」とは、
過去に同じ名前・同じメールアドレスで投稿されたコメントが、
一度でも承認されている人を指します。

同じメールアドレスでも名前が異なっていたり、
逆に同じ名前で異なるメールアドレスの場合は、
初回投稿と判断され、承認が必要となります。

なお、IPアドレスやCookieは判定には使用されません。

コメントモデレーション

ここでは、コメントの内容をもとに「一度承認待ちにする」条件を設定します。

  • コメント内に含まれるリンク数が一定数を超えた場合、承認待ちにする

このブログでは、以下のように設定しています。

  • コメント内のリンク数:2(WordPressの初期値)

コメントスパムの多くは、短文に複数のURLを含めて投稿されます。
リンク数による制限は、誤って通常のコメントを弾いてしまう可能性が低く、
効果の高い基本的な対策です。

なお、この設定は「即削除」ではなく承認待ちになるだけなので、
正常なコメントであれば、確認したうえで公開できます。

「コメントモデレーション」には、リンク数の条件だけでなく、
特定のキーワードを含むコメントを承認待ちに回す設定もできます。

ここで設定したキーワードに一致した場合、コメントは公開されず、
管理者の確認(承認 or ゴミ箱)を待つ状態になります。

私は ChatGPT と相談して、以下のようなワードを登録してみました。

ワード説明
http
https
www.
スパム系のコメントはほぼリンク設置のため、URLを含むコメントを一度保留できます。
.ru
.xyz
.top
.click
.work
スパム率が高いドメインとのことで、通常コメントで入ることはないですね。
casino
viagra
loan
スパム用途で使われやすいワード。
seo
crypto
bitcoin
仮想通貨やSEO関連の営業コメントで多いワード。ブログのテーマが上記なら設定しなくてもよいかも。
great post
nice article
very informative
英語圏でよく見るスパムとのこと。

すべてを一度に設定する必要はなく
実際に来ているスパムの傾向を見ながら、少しずつ追加するのがおすすめ!

コメント内で許可されないキーワード

この項目に設定したキーワードを含むコメントは、
承認待ちではなく自動的にゴミ箱に振り分けられます。

誤って正常なコメントを削除してしまう可能性があるため、
基本的には設定しなくて良いかと思います。

まずはコメントモデレーションで「承認を通す」運用とし、
どうしても繰り返し投稿される明確なスパムがある場合のみ、
必要に応じて設定するのがおすすめです。

運用のコツ:

  • まずは「コメントモデレーション(承認待ち)」で様子見する
  • 誤爆しそうなワードは入れない
  • 明確にスパムだと分かるものだけ「許可されないキーワード(自動ゴミ箱)」へ移す
    • オンラインカジノ、薬物関係とかは最初から設定しても良いかもしれません

まとめ

ということで今回は
プラグインや外部サービスを使わずに、
WordPress標準機能だけでできるコメントスパム対策を整理しました。

  • ピンバック・トラックバックをOFFにして、通知系スパムの入口を閉じる
  • 初回コメントは承認待ち、一度承認した投稿者のみ自動承認とする
  • リンク数やキーワードで「一度止める」条件を作る

この設定により、
英語の定型文+意味不明な文字列+URLといったスパムコメントは、
公開前にほぼ管理画面側で止められるようになります。

一方で、人の手で投稿されるスパムや、
条件をすり抜けてくるコメントを完全に防ぐことはできません。

このブログでは、コメントによる交流は続けたいため、
いきなりコメント欄を閉じたり、自動削除を多用する運用はしていません。

ただ、この設定だけではまだ実現したいことの半分もできていません・・・

スパムコメントは即表示されなくなりますが、
初回承認のためのコメントの精査作業の手間は残ったままです。

そのため次のステップとして、
コメント投稿時の「人かどうか」を判定する仕組みを追加することで、
承認待ちに回るコメント自体を減らしていく予定です。

次回は、Cloudflare Turnstile を使ったコメントスパム対策について、
進めていきたいと考えています。


それでは良い WordPress ライフを!

コメント

タイトルとURLをコピーしました