WordPressのコメントスパム対策完全ガイド|Akismet・標準機能・ファイアウォールで確実に防ぐ方法
サイトに届くスパムコメントが手に負えなくなっていませんか?
私たちも同じ経験があります。かつてこのサイトには、1日平均100件ものスパムコメントが届いていました。
手作業で一件一件削除するのは本当にうんざりする作業です。あなたもきっと同じ気持ちではないでしょうか。
そこで私たちは、スパムコメントの管理にかかる時間と労力を減らすため、さまざまな方法を試してみました。その結果、最も効果的な対策が見つかったのです!
本記事では、WordPressでスパムコメントを防ぐ具体的な方法を解説します。
WordPressでコメントスパムを防ぐ方法
毎日何百件ものスパムコメントが届いているなら、素早い対応が重要です。導入が簡単で、確実に効果を発揮し、貴重な時間と労力を節約できるソリューションが必要ですね。
おすすめ度の高い順に、以下の対策をご紹介します。
1. プラグインを使ってコメントスパムを防ぐ
スパムコメントをブロック・削除する最も簡単な方法は、プラグインを利用することです。プラグインはセットアップが簡単で、大幅な時間節約につながります。
特におすすめのプラグインをご紹介します。
① Akismetで無料ブロック(標準搭載)
Akismetは、すべてのWordPressサイトに最初からインストールされているスパム防止プラグインです。自己学習型アルゴリズムでユーザーコメントを分析し、明らかなスパムコメントを自動的に除去。残りのコメントは承認待ちとして分類してくれます。
有効化の手順は以下の通りです。
- 管理画面から「プラグイン」をクリックします。インストール済みプラグイン一覧にAkismetが表示されるので、「有効化」をクリックしてください。
- Akismetアカウントの設定を求められるので、「Set up your Akismet account(Akismetアカウントを設定)」をクリックします。
- Akismetの公式サイトへリダイレクトされ、プランを選択できます。個人ブログや非商用サイト向けの無料プランと、商用サイト向けの有料プランが用意されています。選択後、サイトURLやメールアドレスなどの情報を入力しましょう。
- 必要情報を入力すると、AkismetからメールでAPIキーが送られてきます。WordPressダッシュボードに戻り、「プラグイン」>「Akismet」>「設定」を開き、「Manually enter an API key(APIキーを手動入力)」を選択してください。
- ここにAPIキーを入力すれば完了です!
これでAkismetの設定は終わり。すぐにスパムコメントのブロックが始まります。また、個々の投稿者ごとのアクティビティや統計情報を表示してくれるので、繰り返しスパムを行うユーザーの特定にも役立ちます。コメント内に挿入されたリンクの検出機能もあります。
② Antispam Beeでブロック
Antispam Beeは、スパムコメントのフィルタリングと除去に特化したWordPressプラグインです。柔軟なオプションが豊富で、スパムコメントの分類や管理を細かく行えます。主な機能は以下の通りです。
- 地域ベース(ジオブロッキング)によるコメント制限
- メールでのスパム通知
- 特定言語のみコメント許可
- ダッシュボードにウィジェット形式でスパム統計を表示
- ローカルのスパムデータベースと照合して疑わしいコメントを判定
このプラグインを有効にするには、インストールして有効化するだけ。あとは使いたい機能を選んで設定するだけでOKです。
③ コメントフォームにreCAPTCHAを追加
「reCAPTCHA in WP comments form」プラグインは、コメント送信前にGoogleのreCAPTCHAを挟むことで、投稿者が人間かどうかを確認できるようにするツールです。
これはボットを識別・ブロックする最も効果的な方法の一つです。サイトにreCAPTCHAを設置するのは、玄関に鍵をかけるようなもの。ボットには鍵がないため入れないのです!
有効化の手順:
- WordPressサイトに「reCAPTCHA in WP comments form」プラグインをインストールし、有効化します。
- Akismetと同様に、APIキーの取得が必要です。「プラグイン」>「AntiSpam Bee」>「設定」から、取得・有効化の手順を確認できます。
有効化後は、スパムコメントを検知した際の動作などを自由にカスタマイズできます。reCAPTCHAの表示例はこちらです。
reCAPTCHAの唯一の欠点は、ユーザー体験を損ないやすい点です。コメント送信時の追加ステップが、本物の読者を遠ざけてしまう可能性もあります。
おまけのヒント: Cloudwaysをご利用の場合、当サイトとCloudwaysのコラボレーションによる「Bot Protection(ボット保護)」機能が使えます!この機能は、不要なリクエストを送信する悪質なボットをあらゆる種類ブロックし、CPU使用率を40%以上も削減します。
実際にこの機能でボットがブロックされた様子のスクリーンショットです。
わずか1日で15,000件以上のリクエストがブロックされたことが分かります。この機能の詳細や使い方については、Cloudways Bot Protectionの発表記事をご覧ください。
これまで、プラグインを使えば簡単にWordPressのスパムコメントをブロックできることを学びました。しかし、「これ以上プラグインを増やしたくない」という方もいるでしょう。ご安心ください!WordPressには、スパムコメントを管理・阻止するために活用できる標準機能が数多く備わっています。
それでは詳しく見ていきましょう。
2. WordPress標準機能でコメントスパムを防ぐ
① コメントモデレーションを有効にする
1日のスパムコメントが少しだけの場合は、手動での管理でも十分対応できます。すべてのコメントについて、公開前に手動で承認するよう設定できます。
「設定」>「ディスカッション」に移動し、「コメントの手動承認を必須にする」を選択してください。
これで、すべてのコメントが自動的に「コメント」セクションに保存されます。内容を確認し、正規のコメントだと思われるものだけを承認すればOKです。
② コメントフォームからURLフィールドを削除する
スパムコメントの最も一般的な目的は、あなたのサイトからの被リンク獲得です。「素晴らしい記事ですね!」などと書き手を褒めちぎりながら、無関係なサイトへのリンクを残すスパムコメントを見たことはありませんか?これはブラックハットSEOと呼ばれるリンク手法で、サイトからの外部リンク数を不必要に増やし、SEOに悪影響を及ぼします。
この問題は、そもそもURL欄自体を無効化することで対処できます!
そのためには、functions.phpファイルのコードを編集する必要があります。
コードを変更する前には、必ずサイトのバックアップを取ることをおすすめします。BlogVaultのような信頼性の高いバックアッププラグインを使えば、サーバー上にサイトをバックアップできます。万が一問題が起きても、数秒でサイトを復元可能です!
バックアップが完了したら、以下の手順に進みましょう。
- WordPressダッシュボードの「外観」メニューにマウスを合わせ、「テーマファイルエディター」をクリックします。現在のテーマのコード編集画面が開きます。
- 「テーマファイル」一覧の上部にある「functions.php」をクリックします。
- ファイルの末尾に以下のコードを追加し、「ファイルを更新」をクリックします。
//* Remove URL field from comments
function remove_url_comments($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','remove_url_comments');
これで、コメントフォームにWebサイトのURL欄が表示されなくなります。
③ コメントの文字数に上限・下限を設定する
中には「Hello」といった一言コメントだけを残すよう設計されたスパムボットも存在します。一見无害なコメントのため、自動スパム対策ツールでは検出できません。文字数に必須の制限を加えることで、こうしたボットを防げます!
コメント欄に文字数制限を追加するには、functions.phpファイルを編集します。
- 「外観」>「テーマファイルエディター」からfunctions.phpを開き、ファイル末尾に以下のコードを追加します。
add_filter( 'preprocess_comment', 'wpb_preprocess_comment' );
function wpb_preprocess_comment($comment) {
if ( strlen( $comment['comment_content'] ) > 5000 ) {
wp_die('Comment is too long. Please keep your comment under 100 characters.')
}
if ( strlen( $comment['comment_content'] ) < 60 ) {
wp_die('Comment is too short. Please use at least characters.');
}
return $comment;
}
- 「ファイルを更新」をクリックします。設定した制限未満のコメントを投稿しようとすると、次のようなメッセージが表示されます。
④ コメント機能を永久にオフにする
スパムコメントの管理に時間をかけたくないなら、コメント機能を無効化するのが一番の近道です!
WordPressでは、過去の投稿のコメントを無効化したり、ブログ全体のコメントを永久にオフにしたりすることができます。
過去の投稿のコメントを無効化する手順:
- 「設定」>「ディスカッション」に移動します。
- 「他のコメント設定」で「○日より古い投稿のコメントフォームを自動的に閉じる」を有効にし、日数を任意の値に変更します。
- 指定した日数より古い投稿へのコメントは、WordPressが自動的にブロックします。
コメントを永久に無効化する手順:
- サイト全体でコメント機能を恒久的にオフにするには、「設定」>「ディスカッション」に移動します。
- 「新しい投稿へのコメントを許可する」のチェックを外します。
以後、ユーザーは新規投稿にコメントできなくなります。
スパムコメントの投稿は、ボットがサイトを悪用する手段の一つにすぎません。ボットはサイトのパスワードを推測してハッキングする目的でも使われています。
あらゆる種類のボットをブロックし、サイトを完全に守るためには、ファイアウォールの活用が不可欠です。
MalCareのファイアウォール保護は、あらゆるボットからサイトを守る、最も包括的で効果的なソリューションです。
仕組みを詳しく見ていきましょう。
3. ファイアウォールでコメントスパムを防ぐ
MalCareのリアルタイムファイアウォール保護は、複数の手法を駆使して悪質なボットのアクセスをブロックします。サイトへのリクエストを常時分析しており、MalCareはスパムボットが使用する悪意あるIPアドレスを識別して自動的にブロック。さらにログイン保護機能により、WordPress管理画面やバックエンドへの不正アクセスの監査ログも記録します。
MalCareのファイアウォール保護を有効にする手順:
- サインアップページからMalCareアカウントを作成します。
- サイトのURLを追加し、プラグインをインストールします。MalCareのダッシュボードから直接行うことも、WordPress公式ディレクトリから手動でインストールすることも可能です。
- プラグインのインストールが完了すると、ファイアウォールは自動的に有効になります。MalCareが悪質なボットトラフィックやIPアドレスを自動的にブロックし、サイトを保護します。
詳細を確認するには、「Firewall」セクションの矢印をクリックしてください。
- 表示されたセクションでは、トラフィック数・ログインリクエスト数およびブロック件数がグラフで表示されます。「Show More」をクリックすると具体的な詳細を確認できます。
サイトへの全リクエストの詳細——発信国、日時、リクエストが許可されたか否か——をひと目で確認できます。
MalCareのスマートファイアウォールは悪質なボットをブロックすることで、サイトを守り、コメントスパムを大幅に削減します。
以上、スパムコメントを排除するさまざまな方法を見てきました。ところで、そもそもなぜスパムコメントは発生するのでしょうか?
以下で詳しく解説します。
なぜコメントスパムボットはあなたのサイトを狙うのか?
その答えを理解する前に、まずボットを使ったコメントスパムがどれほど簡単に行えるかを知っておく必要があります。「ボットネット」と呼ばれるネットワークや闇市場のフォーラムは数百も存在し、誰でも簡単にコメントスパム用のボットをレンタルできます。実際、メールスパムに限って言えば、全スパムの80%がたった10のボットネットから送信されているというデータもあります!
スパムボットが使われる主な理由は以下の3つです。
- リンクを背負わせるため(バックリンク獲得):
スパムコメントは、サイトへの被リンクを構築するブラックハットSEOの手法です。無関係な低品質サイトがボットを使い、リンク付きのスパムコメントを大量投稿することで、SEO評価を不正に稼ごうとしています。
- サーバーに負荷をかけるため:
ハッカーはボットでサーバーに過剰な負荷をかけ、クラッシュさせようとします。ログインページを攻撃対象とし、大量のリクエストでサーバーを圧迫するのです。そのリクエストの中にコメント投稿も含まれることがあります。管理者がサイト復旧に追われている間に、ハッカーは別の手法で密かに侵入を試みます。
- 無関係なサイトへトラフィックを誘導するため:
ウイルスを配布するサイトや違法薬物を販売するサイトなどは、スパムコメントでアクセス数を増やそうとします。疑いを持たない訪問者がコメント内のリンクをクリックし、それらのサイトへ誘導されてしまうのです。
このように、スパムコメントは正常なサイトを踏み台にして利益を得るために利用されています。
すでにいくつかの対策を実践している方もいるでしょう。しかし、戦いはそれで終わりではありません。スパマーは常に手法を進化させ、アンチスパム対策をすり抜けようと変化し続けています。
だからこそ、スパムコメントを目にしたときに見分けられるスキルが重要です。以下のチェックリストを参考にしてください。
WordPressスパムコメントを見分けるチェックリスト
以下の特徴がひとつでも当てはまるコメントは、ほぼ間違いなくスパムです。
- 怪しいリンクが含まれている:
リンクに数字が含まれていないか、短縮URLになっていないかを確認しましょう。多くの場合、違法薬物販売サイトやウイルス配布サイトへのリダイレクトに使われています。
- 過剰に褒めているのに内容が記事と無関係:
スパマーは「素晴らしい投稿です!」「最高のリソースです、また参考にさせていただきます」などと褒めちぎります。しかしそれらのコメントは、記事の内容に触れておらず、価値を一切付加していません。
- 不自然なキーワードが含まれている:
SEO対策で使われるような特定キーワードが含まれており、日常会話としては不自然な文章になっています。
- 短くて汎用的な内容:
2番目と同様に、「良い記事ですね」「とても役立つリソースです」など定型文のような内容。ボットは複数のサイトに同じようなコメントを投稿するのが普通です。
- 投稿者名が会社名になっている:
個人ではなく企業の名義でコメントしている場合、その会社のサイトへのリンクを貼ることが目的である可能性が高いです。
まとめ:どの対策を選ぶべきか?
WordPressのスパムコメントをブロックするさまざまな方法をご紹介しました。自分に合った方法を見つけて実践しましょう!
私たちのおすすめは、MalCareのファイアウォール保護と、Akismetのようなアンチスパムプラグインの併用です。この組み合わせによって、コメント管理の手間はほぼゼロになり、スパムボットを確実にシャットアウトできています。
ただし、スパムボットの防御だけで安心はできません。ウェブサイトを守るべき脅威はまだまだ潜んでいます。それらに対抗できるのは、高品質なWordPressセキュリティプラグインだけです。
MalCareは最高峰のセキュリティプラグインです。他のスキャナーが見逃すマルウェアをも検出できることで知られています。さらに嬉しいのは、ワンクリックで即座にマルウェアを除去する「1-Click Instant Malware Removal」機能を備え、サイトを100%ハッキングフリーに保てることです。
優れたファイアウォール保護、アップタイム監視、ウェブサイト強化機能を備えたMalCareは、40万人以上のサイト運営者が選ぶ信頼のセキュリティソリューションです。
今すぐMalCareを無料でお試しください!
-
WordPressのスパムリンクインジェクションを検出・削除する完全ガイド
サイト訪問者から「あなたのウェブサイトにスパムリンクが表示されている」と指摘された場合、そのサイトはスパムリンクインジェクションと呼ばれるハッキング被害を受けている可能性が高いです。 WordPressにおけるスパムリンクインジェクションの典型的な症状は以下の通りです。 サイト上に不正なスパムリンクが表示される(違法商品やグレーマーケットの商品へのリンクが多い) 自分が作成していない新しいページが存在する 検索結果に表示されるメタディスクリプションが不審な内容になっている これは、ハッカーがあなたのサイトに便乗してトラフィックを横取りし、スパムサイトのSEOを強化するために用いられる
-
WordPressデータベースのクリーンアップ方法|サイト高速化のための最適化手順とおすすめプラグイン5選
WordPressサイトを快適に、そして高速に運用したいなら、データベースから不要なデータを取り除く「クリーンアップ」は欠かせません。WordPressデータベースのクリーンアップは、ページの表示速度を改善するために非常に効果的なメンテナンス作業です。キャッシュの活用、画像の最適化、JavaScriptの遅延読み込み、未使用CSSの削除といった他のパフォーマンス対策と併せて定期的に行うことで、より大きな効果が得られます。WordPressのデータベースには、投稿や固定ページなどのコンテンツだけでなく、コメント、リンク、ポートフォリオ項目、フォームの送信内容、プラグイン設定、テーマ設定、メディア