WordPressは大人気ですが、大量のコメントスパムに対処するのは面倒です。ビジネスで使用しているブログの種類に関係なく、遅かれ早かれ、WordPressコメントスパムを阻止する方法や戦略を考案する必要があります。
ただありがたいことに、スパムを99%削減してくれる、簡単に有効化、インストール可能な優れたプラグイン、コツ、設定はたくさんあります。そうです、本当に効果的です!これでスパムコメントの管理に時間を費やすことなく、ビジネスとブログの成長に集中できます。
コメントスパムが多すぎると、サイトに悪影響が及ぼされます。検索エンジンのランキング、正当なユーザー間でのコメントの信頼性、セキュリティに影響が出る可能性があります。これの阻止に時間を投じるだけの価値は十分にあるでしょう。
では、WordPressでコメントスパムはどのようにして防ぐことができるのでしょうか?
標準搭載の機能を使用してWordPressスパムコメントを阻止する7つの方法
WordPressコメントスパム対策として、まずは「設定」>「ディスカッション」からディスカッション設定へと移動しましょう。
この画面では、以下のことが行えます。
また、個々の投稿編集画面で、それぞれの投稿のコメントを無効にすることもできます。
それでは、手段を見てみましょう。
1. コメント全体を無効にする
WordPressのコメントを完全に無効にする最初のオプションがこちら。コメント機能を使用していない、または不要な場合には、スパムコメントを完全に防止するために無効にすることができます。最も簡単な方法は「設定」>「ディスカッション」にある「新しい投稿へのコメントを許可する」オプションをオフにすることです。
コメントを完全に無効にするには、ディスカッション設定画面の上部にある「投稿のデフォルト設定」セクションから、この選択肢をオフにします。
これにより、すべての新しい投稿へのコメントがオフになります。また、ピングバックをオフにすることもできます。
この操作では、既に公開済みの投稿へのコメントはオフになりません。これをオフにするには、個別の投稿ごとにオフにしていく必要があります。その方法については後ほどご紹介します。
画面の一番下までスクロールし、「変更を保存」ボタンをクリックします。すると、今後公開する投稿に対する一切のコメントが無効になります。
2. 匿名コメントをオフにする
匿名でのコメントをオフにすることもできます。WordPressのコメントでは、4つの情報入力が要求されます。デフォルトでは、コメント、名前、メールアドレス、ウェブサイトURLです。
匿名コメントを許可すると、上記の情報を入力する必要がなくなります。これにより、あらゆるウェブサイトのコメントフォームをクロールする膨大な数のスパムボットに対しての扉が開かれてしまいます。
WordPressで匿名コメントを無効にするには「設定」>「ディスカッション」で「コメントの投稿者の名前とメールアドレスの入力を必要にする」にチェックを入れます。
これにより、ボットによる自動コメント(コメントスパムの大部分を占めるもの)の投稿が難しくなりますが、完全に阻止できる訳ではありません。また、悪意のあるコメントや嫌がらせに対するある程度の抑止力にもなります。
3. コメント管理を有効にする
WordPressコメントスパム対策としての次の方法は、標準搭載の管理機能の使用です。
まずは、各コメントを手動で承認する機能が利用できます。これにより投稿されるスパムそのものが減るわけではありませんが、サイト訪問者に対しては、あなたが承認した正当なコメントのみを表示できます。
2つ目はコメントモデレーションキューです。たとえば、コメントに一定数以上のリンクが含まれている場合、コメントを自動的にモデレーションとして保留できます。フィルターに使用する単語、名前、URL、IPなどのリストを作成することもできます。
「自分宛のメール通知」セクションと「コメント表示条件」セクションを利用します。
- すべてのコメントを管理するには「コメントの手動承認を必須にする」にチェックマークを入れます。
- 新しいコメント投稿者からのコメントのみを管理するには「すでに承認されたコメントの投稿者のコメントを許可し、それ以外のコメントを承認待ちにする」にチェックマークを入れます。
- コメントが保留になったときにメールを受け取るには(素早く承認するか、またはゴミ箱に入れるために重要です)「コメントがモデレーションのために保留されたとき」オプションをオンにします。
4. ログインしているユーザーからのコメントのみを許可する
コメントを投稿できるユーザーをさらに制限するには、ログイン中のユーザーからのコメントのみを許可するように選択できます。これは、サイトがメンバーシップコミュニティとして機能し、そのコミュニティ内での議論を促進しつつ、他のコメント投稿者はアクセスできないようにしたい場合に便利です。
これを行うには「他のコメント設定」セクションから「ユーザー登録してログインしたユーザーのみコメントをつけられるようにする」にチェックマークを入れます。
また、 ユーザー登録も考慮する必要があります。誰でも登録できるようにするか、それともモデレートプロセスを設けるかです。「設定」>「一般」に移動すると、登録設定を変えることができます。
5. コメントブロックリストを作成する
コメントを許可しつつも特定のテーマに関するコメントは避けたい場合には、ブラックリストの言葉を設定できます。スパムに一般的に使用される言葉や、冒とく的な表現など、サイトに表示したくない言葉をリスト化できます。
競合他社の製品やサイトの言及やリンクを避けたい場合にも使えます(ただし、やりすぎには注意です)。
ブラックリストを作成するには「コメントブロックリスト」フィールドに、単語やフレーズを1行に1つずつ入力します。言葉に限定する必要はなく、メールアドレス、ウェブサイトのURL、IPアドレスなど、何でも記述できます。
スパムで使用されがちな出来合いの単語リストを使用することで、簡単に済ませることができます。その場合には禁止する必要のない単語が含まれている可能性があるため、最初に中身を確認しましょう。たとえば、「ハンドバッグ」などがあるかもしれません。アクセサリストアを運営している場合には、禁止は避けるべきでしょう!
特定の単語を含むコメントを完全に禁止する代わりにモデレートするには「コメントモデレーション」フィールドを利用します。すると、その単語を含むコメントは(ゴミ箱ではなく)モデレーション待ちになります。または、2つのフィールドを組み合わせて使用して、一方のフィールドにいくつかの単語を、もう一方のフィールドに別の単語を入力することもできます。
6. コメントのリンクを制限または禁止する
スパムコメントには、スパム送信者のサイトへのトラフィック誘導目的でリンクが含まれることがよくあります。リンク付きのコメントを完全に禁止するか、コメントで許可されるリンクの数を制限することができます。
「コメントモデレーション」セクションで、コメントがモデレーションの対象になるリンクの数を選択できます。1つまでリンクを許可するには「2」を選択し、リンクのあるコメントを完全に禁止するには「1」を選択します。
または、複数のリンクを含むコメントを許可するには、より大きな数値を選択します。
許可されるリンク数を超えるコメントは、そのまま公開されず管理者による承認待ちとして保留されます。
7. 個々の投稿のコメントを無効にする
WordPressサイトで投稿を公開した後にコメントを無効にする場合、または特定の投稿へのコメントのみを禁止する場合は、その投稿の編集画面で設定を行います。
これは、物議を醸す話題についての投稿を公開している場合や、大量のスパムの標的になっている投稿がある場合に便利です。
「投稿」に移動し、編集したい投稿を見つけて、その名前をクリックして投稿編集画面を開きます。
右側の「文書」欄で「ディスカッション」タブまでスクロールしてそれを開きます。その投稿へのコメントを無効にするには「コメントを許可」チェックボックスをオフにします。
「更新」ボタンをクリックし変更を保存すると、その投稿に対してコメントが表示または有効化されなくなります。
プラグインを使用してWordPressサイトのスパムコメントを阻止する
WordPressサイトのコメントスパムを阻止するより強力な方法が必要であれば、プラグインをインストールし管理することができます。つまり、サイトでコメント機能そのものを有効にしたまま、スパムコメントがモデレートのために通知されたり、公開されたりするのを防ぎます。
WordPressコメントスパムを阻止するために使用できるプラグインをいくつか以下にご紹介します。
Akismet
AkismetプラグインはAutomatticによって開発されたもので、すべてのWordPressデータファイルにデフォルトで含まれています。何百万ものサイトやコミュニティからのデータをリアルタイムで分析し、WordPressサイトをスパムから保護します。
優れたWordPressプラグインです。個人での使用は完全に無料で、商用サイトは月額5ドルからです。
現在、インストール数は500万件を超え、評価は5/5です。Akismetは、WordPressリポジトリからダウンロードするか、WordPressダッシュボード内の「プラグイン」>「新規追加」で検索してダウンロードできます(削除していない限り、サイトにすでにあるはずです)。
このプラグインには、スパムルールやフィルター構築の長い歴史があり、正当なコメントを表示し、悪いコメントを排除するという機能性に優れています。
商用サイトを運営している場合は、Akismetライセンスを購入する必要がありますが、趣味のブログであれば無料です。非常に強力な性能を誇り、WordPressサイトからコメントスパムの99%以上を排除します。
Disable Comments
Disable Commentsは、投稿タイプごとにコメントをまとめて無効化できる無料のプラグインです。既存のコンテンツがあるWordPressサイトでコメントを無効にしたいものの、手動で全てをこなすのが面倒という場合に便利です。
プラグインでコメント投稿者リンクを削除する方法
WordPressサイトにコードスニペットを追加するだけで、WordPressの投稿者コメントリンクを削除できます。
Kinstaブログでは、これをコメントの質向上に役立てています。既存のコメント投稿者の名前にリンクがないことで、リンク目当ての人は、実際に行動に移さないはずです。そして、コンテンツに純粋に関心のある訪問者からのコメントのみを受け入れることになります。
これを行う方法としては、独自のシンプルなプラグインを作成できます。
まず、wp-content/pluginsディレクトリにプラグイン用のファイルを作成します。例えば、kinsta-comment-author-link.phpのような名前にします。
次に、プラグインファイルに次のコードを追加します。
/*
Plugin Name: Remove Comment Author Links
Plugin URI: https://kinsta.com
Description: This plugin removes links to comment author websites, as a way of reducing the impact of comment spam.
Version: 1.0
Author: Rachel McCollin
Author URI: https://rachelmccollin.com
Textdomain: kinsta
License: GPLv2
*/
function kinsta_remove_comment_author_link( $return, $author, $comment_ID ) {
return $author;
}
add_filter( 'get_comment_author_link', 'kinsta_remove_comment_author_link', 10, 3 );
function kinsta_remove_comment_author_url() {
return false;
}
add_filter( 'get_comment_author_url', 'kinsta_remove_comment_author_url');
必要に応じて、コメントでサイトURLを入力するフィールドを完全に削除することもできます。これを行うには、以下のコードをプラグインに追加します。
function remove_website_field($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields', 'remove_website_field');
プラグインファイルを保存し、管理画面のプラグイン画面から有効化します。
このプラグインは、コメントのコーディング方法によっては、一部のテーマでは機能しない場合があります。 WordPressテーマが標準のコメントフォームを使用している場合は問題ありません。そうでない場合は、テーマのコメントフォームのコードから、使用されているフィルターフックを見てみてください。
自信がない人は、代わりにサードパーティのプラグインを使用してください。また、自分で開発したテーマでない限り、テーマファイルを直接編集しないようにしましょう。編集すると、更新の際に変更点が失われてしまいます(子テーマの作成に関する詳細ガイドをご参照ください)。
その他のスパム対策プラグイン
Akismetは圧倒的な人気を誇るスパム対策プラグインです(というのも主に、WordPressに標準でインストールされるため)が、これが唯一の選択肢ではありません。以下のプラグインも検討してみる価値があります。
Anti-spamには無料、有料バージョンがあり、有料版には既存のコメントのスパムチェック機能と24時間年中無休のテクニカルサポートが付帯します。
WPBruiser {no- Captcha anti-Spam}は、独自のアルゴリズムを使用してスパムコメントを見つけ、キャプチャ画像導入の必要性を排除してくれます。
Antispam Beeは、サードパーティのサイトにデータを送信することなく、コメントスパムを無料でブロックします。
Spam protection, AntiSpam, FireWall by CleanTalkは、コメントだけでなく、Contact Form 7、Gravity Form、 Mailchimpなどのフォームプラグインでも機能します。
WordPress Zero Spamも、キャプチャの不要なプラグインのです。Contact Form 7やGravity Formsなどのフォームプラグインもサポートしています。
All In One WP Security & Firewallは、コメントスパムの阻止も行うオールインワン型セキュリティプラグインです。
これらのプラグインは、WordPressのデフォルトのコメントフォームと互換性があります。サードパーティのコメントシステムを使用している場合には、そのシステムに付属するスパム防止機能を使用する必要があります。
CaptchaでWordPressのスパムコメントを阻止する
もう1つの一般的な方法として、CAPTCHAを使用できます。CAPTCHAは、訪問者が(ロボットではなく)人間であることを証明するための機能です。これをWordPressサイトで実装できるすばらしいプラグインはたくさんあります。しかも、そのほとんどは完全に無料です。
特定の物の画像を識別するよう求める方法を使用すると、ユーザーからは反感を買う可能性があります。だからこそ、実際、最近では多くのサイトが「ロボットではありません」という単純なチェックボックス(ボットにはチェック不可)タイプを使用しています。
これをWordPressサイトに実装するプラグインはたくさんあり、大多数が無料です。
Google Captcha (reCAPTCHA) by BestWebSoft
GoogleによるCAPTCHA(つまりreCAPTCHA)は非常にお勧めです。おそらく、Googleのものは、最もクリーンで使いやすい選択肢の1つでしょう。わかりにくい問題を出したり、読みにくい文字を表示したりして、ユーザーエクスペリエンスを損なうことはありません。
CAPTCHAに不満で訪問者がサイトを離れる事態は避けたいもの。 Google Captcha (reCAPTCHA) by BestWebSoftを使って、これをWordPressサイトに実装できます。
このプラグインによって(判読の難しい文字や数字を読んだり、写真を識別したりすることなく)ユーザーはロボットでないことをチェックボックスで証明します。ボックスは手動でのみチェックできます。
設定するには、GoogleのCaptcha APIを使用してサイトを登録し、チェックボックス機能であればreCAPTCHA v2を、JavaScriptを使用してユーザーに何も操作を求めないタイプであればreCAPTCHA v3を選択します。
プラグイン設定画面にあるリンクから、この設定へと移動することができます。
次に、サイトキーとシークレットキーが提供されるので、これをサイトのプラグイン設定画面にコピーします。「Enable ReCAPTCHA for」セクションで「Comments Form」を選択し「Save Changes」ボタンをクリックします。
これで、ユーザーがコメントを追加しようとするときに、「私はロボットではありません」のチェックボックスをオンにすることが必要になります。
その他の機能は次のとおりです。
その他のReCaptchaプラグイン
利用可能なreCaptchaプラグインはたくさんあり、その一部はフォームプラグインなどの特定のサードパーティプラグインと連携するよう設計されています。多くはコメントにも対応しています。
- Cerber Security, Antispam & Malware Scanは、GoogleのReCaptchaを使用してコメントスパムを阻止し、他の種類の攻撃からもサイトを保護します。
- Simple Google reCAPTCHAは、サイトにキャプチャをすばやく簡単に追加でき設計です。
- Advanced noCaptcha & invisible Captcha (v2 & v3) でも、reCAPTCHA APIのv3を使用して非表示のキャプチャを追加できます。
- Stop Spammersは、コメントやその他のフォームにキャプチャを追加し、さらにサイトでのスパムアカウントの登録も防止します。
サードパーティのコメントシステムを使用してWordPressのスパムコメントを阻止する
最後になりますが、これも便利な方法です。デフォルトのコメント機能を無視し、サードパーティのコメントシステムを導入することでも、WordPressのコメントスパムを簡単に阻止できます。
Kinstaブログでは以前、Disqusを使用していましたが、その際には、スパムの99%を見事にカットしてくれました。おかげで、スパムコメントの管理に時間を費やす必要はありませんでした。
ただしDisqusに問題がないという意味ではありません。Disqusの広告の変更に関する記事もあわせてご覧ください。Disqusインターフェースからの広告削除は有料です。これにより、サイトのパフォーマンスや信頼性に悪影響が出る可能性があります。
Disqusの条件付き読み込み
WordPress site. ブログでDisqusを使用する場合は、無料のDisqus Conditional Loadプラグインを使用することをお勧めします。これは、WordPressサイトのパフォーマンスに影響を与えないようにコメントを遅延読み込みする方法としてJoel James氏によって開発されました。
プラグインを通常の方法でインストール、有効化して、Disqusに登録します。このプラグインは、公式のDisqusプラグインよりも信頼性が高いため、Disqusを引き続き使用する場合は、代わりにこのプラグインを使用するようにしましょう。
Disqusの代替案
私たちのように、Disqusの変更を歓迎できない場合には、他のサードパーティコメントプラグインを使用することもできます。ビルトインのコメントシステムを改善するタイプも、全く別のシステムに置き換えるものもあります。
- Yoast Comment Hacksでは、コメントをカスタマイズ、特定の長さ以上/以下のコメントを許可しない、初めてコメントした人をお礼ページにリダイレクトする、コメント通知メールをクリーンアップするなどの設定を追加できます。
- Comments – wpDiscuzは、Disqusと同様の機能を備えた、同サービスに対する最高の代替案だと自称するプラグインです。
- Super Socializerを使えば、訪問者がSNSアカウントを使用してコメントできるシステムが実装できます。
- Jetpackプラグインには、自己ホスト型WordPressサイトでcomの機能が利用できるように、さまざまな機能が搭載されています(関連記事: WordPress.comとWordPress.orgの違い)。その中の一つが、Akismet採用でコメントスパムを阻止する独自のコメントシステムです。
ウェブアプリケーションファイアウォールでWordPressのスパムコメントを阻止する
SucuriやCloudflareなどのウェブアプリケーションファイアウォール(WAF)を追加すると、WordPressサイトのスパムの量を大幅に削減できます。
というのも、これらのサービスは、WordPressホストとウェブサイトの間に位置し、すべての不正なプロキシトラフィックやボットをブロックしてくれます。また、ワンクリックで国全体を簡単にブロックできます。
WAFは、訪問者あたりの帯域幅を減らすのにも役立ち、毎月のホスティング請求額の節約にもつながります。
まとめ
WordPressに標準でコメントシステムが付帯しているのは素晴らしいことですが、そのシステムが、私たちが求めるほどの機能を搭載していないこともあります。
サイトをコメントスパムから守るためには、目的にあった策を講じる必要があります。その方法は以下の通りです。
- WordPressを設定しコメントをブロック、管理する
- サードパーティのコメント、スパムプラグインをインストールする
- 独自のプラグインを作成して、サイトでスパムを阻止
これらの方法のいずれかを使用してWordPressコメントスパムを阻止すると、結果的に、サイトのセキュリティが強化され、信頼性とパフォーマンスが向上します。
コメントを残す