• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

コメントスパム対策

提供: WordPress Codex 日本語版
Combating Comment Spamから転送)
移動先: 案内検索

このページ「コメントスパム対策」は 情報が古くなっている可能性があります。最新版英語)も合わせてご覧ください。最新に更新してくださる協力者を求めています

コメントスパムは、ブログにはつきものです。WordPress には、コメントスパムを防ぐツールが同梱されている他、さまざまなスパム防止プラグインがあり、必要に応じて導入することができます。

コメントスパムから守る万能の方法はありません。スパマーはいろいろな手段を用います。いくつかの対策を講じるようにしてください。スパマーは攻撃方法を変えてくるため、防御方法も更新する必要があります。

免責事項: ここで紹介するプラグインやコードは、プラグイン作者以外によって保証されているものではありません。動作した結果について、WordPress は一切責任を負いません。

紹介基準: ここで紹介するコードは、WordPress Support Forum あるいは Hackers メーリングリストのどちらかに投稿され、第三者によって「問題なく動作する」との追認を経たものです。

上記基準を満たさないコードあるいはリンクはすべて削除されます。

Akismet コメントスパムフィルター

WordPress の現行バージョンには Akismet プラグインが同梱されています。Akismet はコミュニティによってスパム判定を学習させたデータベースを持っており、独自のアルゴリズムを用います。

WordPress ブログで Akismet を有効にするには、プラグイン 画面からプラグインの有効化を行います。コメント 画面にメニューが追加され、「捕らえた」スパムのリストを表示します。

コメントスパムが Akismet の網をくぐり抜けた場合、コメント画面でスパムとしてマークします。削除しないでください。"コメントスパム" としてマークすることで、Akismet に情報が送信され、データベースに追加されます。

Akismet 画面 で捕らえられたコメントスパムをときどきチェックして、検出漏れ(正当なコメントにもかかわらず Akismet がスパムとして判定したコメント)を発見してください。承認するをクリックするか、チェックボックスをオンにして、一覧の上部または下部のドロップダウンメニューで承認する をクリックし、コメントをスパムリストから取り除いてください。

自分のコメントが Akismet に捕らえられた

Akismet は、コメントスパムをスパムとマークし、スパムではないコメントを正当なコメントとしてマークした人たちから学習します。もしあなたのコメントが Akismet に捕らえらたら、Akismet 画面から取り除いてください。2、3回かかるかもしれませんが、自動的に学習してスパムでないと判断してくれるはずです。

ブログへのコメントが Akismet に捕らえられることがあるかもしれません。Akismet 画面を定期的に確認する習慣がないなら、コメントが表示されないという人がメールを簡単に送れる方法を用意しておきましょう。

データベースの更新やソフトウェアの大幅な変更が行われた場合、再度この作業を行う必要があるかもしれません。

Akismet があなた自身や読者のコメントをたくさんスパムと判定し続ける場合は、Akismet までお問い合わせください。

コメントスパム対策 FAQ

デフォルトのコメントスパムツール

WordPress には、Akismet WordPress プラグインだけでなく、以下のコメントスパムツールが備わっています。これらの設定は 管理画面 > 設定 > ディスカッション設定画面にて行なえます。

コメントに含まれるリンク数

コメントスパムには多くのハイパーリンクが含まれていることがあるので、コメント投稿に含めることのできるリンク数を変更することで防げるかもしれません。以下の手順でコメントに含まれるリンク数を変更することができます。

注意: 0 あるいは空白にはしないでください。全てのコメントを承認待ちにするという、望ましくない結果になります。

スパムワード

スパムワードリストに掲載されていない単語、語句を見つけたら、追加することができます。WordPress インストール時に付属しているSpam Words リストに追加することができます。

  • 設定 > ディスカッション設定 画面へ移動する。
  • スパムワード テキストエリアで、スパムワード を追加します。
  • 複数の単語を追加するときは、空白で区切るのではなく、一行に一つずつ追加してください。もし空行を含めると、全てのコメントが承認待ちになります。
  • コメントの内容、名前、URL、メールアドレス、IP にこれらの単語のいずれかでも含んでいる場合、そのコメントは承認待ちになります。

コメントブラックリスト

設定 > ディスカッション設定 画面には、コメントブラックリスト セクションがあります。 この単語リストはブラックリストになります。

ここに追加するときは慎重に行ってください。マッチしたコメントは、破棄され、通知もされません。破棄されたコメントはブログ上に表示されませんが、データベースには [spam] として保存されます。Akismet のようなスパム対策プラグインが学習するのに用いられます。

ブラックリスト単語は賢く選びましょう。

ブラックリストは、単語の一部にもマッチします。マッチする可能性があるものは、スパムワードリストに記入するほうが良いでしょう。例えば tramadol という単語をブラックリストにすると、tramadol, tramadols, bigtramadol 等を含むコメントが自動的に削除されます。しかし、ass という単語をブラックリストにすると、ass, asses, assistance, passionate, assumption 等を含むコメントが自動的に削除されます。

全てのコメントを承認待ちにする

あなたのサイトのコメントの量次第では、またコメントをきちんと管理したい場合など、全てのコメントを承認待ちにしたいこともあるでしょう。

設定 > ディスカッション設定 画面で、「(以下のマッチ条件に関わらず)管理者の承認を常に必要とする 」の横のチェックボックスにチェックを入れます。

承認済みコメントの投稿者からのコメントのみを許可

設定 > ディスカッション設定 画面で、すでに承認されたコメントの投稿者のコメントを承認することができます。「すでに承認されたコメントの投稿者のコメントを許可し、それ以外のコメントを承認待ちにする」の横のチェックボックスにチェックを入れてください。

ログイン中の登録ユーザーからのコメントのみを許可

登録したユーザー のみがコメントできるようにすることができます。

  1. 設定 > ディスカッション設定画面を開きます。
  2. その他のコメント設定 の「ユーザー登録してログインしたユーザーのみコメントをつけられるようにする」にチェックを入れます。

コメントが承認待ちであることをユーザーに通知する

コメントを付けるとき、ユーザーはブログにすぐ反映されることを予想します。コメントの承認を実装し、そのことをユーザーに通知しないと、おそらく何人かは、コメントが消失したと思って同じコメントを再送信することでしょう。これを防ぐため、そして読者を混乱させないために、以下のような手順で、コメントが承認待ちであることを通知します。

ポップアップコメントを使用している場合は、comments-popup.php を編集します。そうでない場合は、comments.php を編集します。

以下のコードを探します。

<p>
<input name="submit" type="submit" tabindex="5" value="<?php _e("Say it!"); ?>" />
</p>

ここを以下のように編集します。

<p>
<blockquote>
コメント承認モードに成っています。コメントを何度も送信しないでください。しばらくすると表示されます。
</blockquote>
<input name="submit" type="submit" tabindex="5" value="<?php _e("Say it!"); ?>" />
</p>

スパムプラグイン

WordPress 内蔵のコメントスパム防御ツールに追加できるプラグインが数多くあります。プラグインは、公式 WordPress プラグインディレクトリで探すことができます。

コメントスパムハック

以下は、一般ユーザーにはおすすめしません。WordPress コアファイルを編集します。 必ずバックアップを取ってください。

wp-comments-post.php の削除
コメントスパムに対する究極の解決策です。コメントを無効にし、コメントスパムの洪水を止めることができます。あなたのサイトにコメントを付けることが一切できなくなります。
wp-trackback.php の削除
トラックバックスパムに対する究極の解決策です。トラックバックを無効にし、トラックバックスパムの洪水を止めることができます。あなたの投稿記事にトラックバックすることが一切できなくなるので注意してください。
.htaccess でアクセス拒否
Apache サーバーを使用している場合、.htaccess ファイルを編集することができます。詳細はインターネットおよび Apache を参照してください。
nofollow の使用
nofollow/en 属性により、スパマーのページランクを向上させないことができます。グーグルによれば、「ハイパーリンクに属性 (rel="nofollow") を見つけた場合、これらのリンクは検索結果のランク付けに影響しません。」WordPress v1.5 では、コメントのすべてのリンクに nofollow 属性が自動的に付加されます。

参考

外部リソース

最新英語版: WordPress Codex » Combating Comment Spam最新版との差分