WordPressスパム対策完全ガイド|コメント・問い合わせフォームの迷惑投稿を今すぐ止める方法

はじめに

WordPressを運営していると、ある日突然、英語のコメント、意味不明なURL付き投稿、海外からの問い合わせメール、宣伝目的のフォーム送信が大量に届くことがあります。これらは一般的に「WordPressスパム」と呼ばれ、放置すると管理画面の通知が増えるだけでなく、SEO評価の低下、ユーザー体験の悪化、セキュリティリスクにもつながります。

特に、コメント欄や問い合わせフォームを公開しているサイトは、スパムbotの標的になりやすい傾向があります。WordPressには標準でコメント承認制、リンク数制限、禁止キーワード、ピンバック・トラックバックの制御などの機能が用意されており、まずはこれらを正しく設定するだけでもスパムの大部分を減らせます。WordPress公式ドキュメントでも、コメント機能を使う前に「設定 > ディスカッション」を確認することが推奨されています。WordPress.org

この記事では、ワードプレスのスパム対策を「コメント」「問い合わせフォーム」「プラグイン」「プラグインなし」「緊急対応」「SEO管理」の順に、初心者にもわかりやすく解説します。今すぐ迷惑投稿を止めたい方は、まず基本設定から順番に進めてください。

1. WordPressスパムとは?コメント・問い合わせフォームに迷惑投稿が届く原因

WordPressスパムとは、サイト運営者の許可なく送信される迷惑コメント、宣伝リンク、フィッシングURL、意味のない自動投稿、問い合わせフォーム経由の営業メールなどを指します。

スパムの目的はさまざまです。自社サイトへの被リンクを増やしたい業者、検索順位を操作したいスパマー、詐欺サイトへ誘導したい攻撃者、脆弱なWordPressサイトを探しているbotなどが存在します。人間が手動で送っている場合もありますが、多くは自動化されたプログラムによって大量送信されます。

1-1. WordPressに届く主なスパムの種類

WordPressサイトに届くスパムには、主に次のような種類があります。

コメント欄に投稿されるURL付きコメント、問い合わせフォームから届く営業メール、意味不明な英数字の羅列、海外カジノ・医薬品・投資系の宣伝、偽ブランド品へのリンク、ピンバック・トラックバックを悪用した通知、会員登録フォームへの不正登録、ログイン画面への総当たり攻撃などです。

特に多いのは、本文中に複数の外部リンクを含めたコメントスパムです。WordPress公式ドキュメントでも、スパムコメントには多くのリンクが含まれることが多く、一定数以上のリンクを含むコメントを承認待ちにできると説明されています。WordPress.org

1-2. コメントスパムと問い合わせフォームスパムの違い

コメントスパムは、記事下のコメント欄に投稿される迷惑メッセージです。承認制にしていない場合、サイト上にそのまま表示される可能性があります。スパムリンクが公開されると、読者に不信感を与え、検索エンジンにも低品質なユーザー生成コンテンツとして見られるおそれがあります。

一方、問い合わせフォームスパムは、Contact Form 7などのフォームから管理者宛に送られる迷惑メールです。サイト上に公開されるわけではありませんが、受信箱が埋まり、重要な問い合わせを見落とす原因になります。また、フォーム送信機能を悪用されると、サーバー負荷やメール配信評価にも悪影響が出る場合があります。

1-3. なぜWordPressサイトはスパムの標的になりやすいのか

WordPressは世界中で使われているCMSであり、コメント欄、問い合わせフォーム、ログインページ、XML-RPC、REST APIなど、外部からアクセスできる仕組みが多く存在します。そのため、botにとって攻撃対象を見つけやすく、自動投稿の対象にされやすいのです。

また、初期設定のままコメントを開放しているサイト、更新が止まっているプラグインを使っているサイト、フォームに認証機能がないサイトは、スパム送信者にとって狙いやすい状態です。WordPressスパム対策では、「公開されている入力欄を最小限にする」「自動投稿を判定する」「怪しい投稿を公開前に止める」という考え方が重要です。

1-4. スパムを放置すると起こるSEO・セキュリティ上のリスク

スパムを放置すると、まずユーザー体験が悪化します。記事下に無関係な宣伝コメントが並んでいれば、読者はサイトの管理状態に不安を感じます。問い合わせフォームにスパムが大量に届くと、本来対応すべき見込み客や顧客からの連絡を見落とすかもしれません。

SEO面でも注意が必要です。Googleのスパムポリシーでは、ポリシー違反に該当する行為があるページやサイトは、検索順位が下がったり検索結果から除外されたりする可能性があると説明されています。Google for Developers

さらに、スパムコメントに含まれるURLがマルウェア配布サイトや詐欺サイトだった場合、読者を危険なページへ誘導してしまいます。管理者アカウントの乗っ取りや改ざんが発生しているケースでは、スパムは単なる迷惑投稿ではなく、セキュリティ侵害のサインである可能性もあります。

2. まず確認したいWordPressスパム対策の基本設定

WordPressスパム対策は、いきなりプラグインを追加する前に、標準機能の設定を見直すことが大切です。管理画面の「設定 > ディスカッション」には、コメント承認、リンク数制限、禁止キーワード、古い記事のコメント停止、ピンバック・トラックバック制御など、基本的な対策がそろっています。

2-1. コメント承認制を有効にする

最初に設定したいのが、コメントの承認制です。

管理画面で「設定 > ディスカッション」を開き、「コメントの手動承認を必須にする」にチェックを入れます。これにより、投稿されたコメントはすぐ公開されず、管理者が確認してから表示されます。

ブログで読者との交流を重視する場合でも、初回コメントだけは承認制にするのがおすすめです。WordPressには「コメントの投稿者の過去のコメントが承認されている場合のみ自動承認する」設定もあります。常連読者のコメントは通しつつ、初回投稿者のスパムは止められるため、運用負担を抑えられます。WordPress.org

2-2. コメント内のリンク数を制限する

スパムコメントの多くは、外部サイトへのリンクを含みます。そこで「コメント内に含まれるリンク数が一定以上の場合は承認待ちにする」設定を使います。

おすすめは、最初は「1」または「2」に設定することです。リンクが1つでも入っているコメントは承認待ちにし、管理者が確認して問題なければ公開します。読者が参考URLを共有するサイトでは厳しすぎる場合もあるため、運用しながら調整しましょう。

2-3. NGワード・禁止IPアドレスを設定する

「コメントモデレーション」や「コメント内で許可されないキーワード」を使うと、特定の単語、URL、メールアドレス、IPアドレスを含む投稿を制御できます。

たとえば、毎回同じドメインからスパムリンクが投稿される場合、そのドメインを禁止リストに追加します。特定のIPアドレスから大量投稿がある場合は、そのIPも登録できます。

ただし、禁止キーワードは慎重に設定してください。WordPress公式ドキュメントでは、許可されないキーワードに一致したコメントは通知なしに削除されるため、正当なコメントまで消える可能性があると注意されています。WordPress.org

2-4. 古い記事のコメント受付を自動で閉じる

スパムbotは、管理者が見落としやすい古い記事を狙うことがあります。数年前の記事に突然スパムコメントが増えた場合は、古い記事のコメント受付を自動で閉じる設定が有効です。

「設定 > ディスカッション」で「○日以上前の投稿のコメントフォームを自動的に閉じる」にチェックを入れます。日数はサイトの性質によって異なりますが、ニュース性の高いブログなら30日から90日、長期的に議論が続くメディアなら180日程度を目安にするとよいでしょう。

2-5. 不要なピンバック・トラックバックを無効化する

ピンバックとトラックバックは、自分の記事に他サイトからリンクされたことを通知する仕組みです。WordPress公式ドキュメントでは、トラックバックは手動で作成され、ピンバックは自動で送信されるものと説明されています。WordPress.org

便利な機能ではありますが、現在はスパム目的で使われることも少なくありません。運営上必要ない場合は、「設定 > ディスカッション」で「新しい投稿に対し他のブログからの通知を受け付ける」のチェックを外しましょう。

3. コメントスパムを止める具体的な対策

基本設定だけで減らない場合は、コメント専用のスパム対策を追加します。ポイントは、自動判定、bot対策、コメント欄の必要性の見直し、投稿条件の制限です。

3-1. Akismet Anti-spamで自動判定する

Akismet Anti-spamは、WordPressの代表的なスパム対策プラグインです。コメントやフォーム送信内容をスパムデータベースと照合し、怪しい投稿を自動で判定します。WordPress.orgのプラグインページでも、スパムコメントやコンタクトフォームのスパムをブロックするためのプラグインとして紹介されています。WordPress.org 日本語

導入手順は、プラグインをインストールして有効化し、Akismetアカウントを作成してAPIキーを設定するだけです。設定後は、コメント一覧でスパム判定された投稿を確認できます。

ただし、Akismetだけに頼り切るのではなく、コメント承認制やリンク数制限と組み合わせるのがおすすめです。誤判定が起こる可能性もあるため、定期的にスパムフォルダを確認しましょう。

3-2. CAPTCHA・reCAPTCHAでbot投稿を防ぐ

CAPTCHAは、人間とbotを判別するための認証機能です。画像認証、チェックボックス、スコア判定などの種類があります。

Google reCAPTCHA v3は、ユーザーに画像選択やチェック操作を求めず、サイト上の行動に基づいてリクエストごとにスコアを返す仕組みです。Google公式ドキュメントでも、reCAPTCHA v3はユーザーの操作負担なしに各リクエストへスコアを返すと説明されています。Google for Developers

コメント欄にCAPTCHAを追加すると、単純なbot投稿は大幅に減らせます。一方で、ユーザーに手間をかけすぎるとコメント数が減る可能性があります。ブログのコメント欄では、まずAkismetや承認制を使い、それでもスパムが多い場合にCAPTCHAを追加する流れが現実的です。

3-3. コメント欄そのものを非表示・無効化する

コメント欄を使っていないサイトでは、コメント機能そのものを停止するのが最も確実です。

管理画面の「設定 > ディスカッション」で新規投稿へのコメントを無効化し、既存記事は投稿編集画面からコメントを閉じます。記事数が多い場合は、一括編集やコメント無効化プラグインを使うと効率的です。

企業サイト、店舗サイト、サービスサイトでは、コメント欄より問い合わせフォームや電話、LINE、予約フォームを使うケースが多いため、コメント機能は不要な場合があります。使わない入力欄を閉じることは、最もシンプルなWordPressスパム対策です。

3-4. 日本語を含まないコメントをブロックする

日本語サイトなのに、英語やロシア語、意味不明な文字列だけのコメントが大量に届く場合は、「日本語を含まないコメントをブロックする」対策が有効です。

専用プラグインを使う方法もありますが、functions.phpで制御することもできます。ただし、コード編集はミスをするとサイトが表示されなくなる可能性があるため、必ずバックアップを取り、子テーマまたはコード管理プラグインで行いましょう。

PHP
function block_comment_without_japanese($commentdata) {
if (!preg_match('/[ぁ-んァ-ン一-龥]/u', $commentdata['comment_content'])) {
wp_die('日本語を含まないコメントは投稿できません。');
}
return $commentdata;
}
add_filter('preprocess_comment', 'block_comment_without_japanese');

海外読者がいるサイトや英語コメントも受け付けたいサイトでは、この方法は向いていません。自社サイトの読者層に合わせて判断してください。

3-5. 海外IPからの大量投稿を制限する

日本国内向けサイトで、海外IPからのスパムが大量に届く場合は、サーバー側の国外IP制限やWAFを活用します。

レンタルサーバーによっては、管理画面への国外IPアクセス制限、コメント投稿への制限、XML-RPC制限、WAF設定が用意されています。WordPress側のプラグインだけで止まらない場合は、サーバーのセキュリティ設定を確認しましょう。

ただし、海外在住の日本人ユーザーや海外取引先がアクセスするサイトでは、国外IP制限によって正規ユーザーまでブロックする可能性があります。制限範囲は「管理画面のみ」「コメント投稿のみ」「フォーム送信のみ」など、できるだけ限定するのが安全です。

4. 問い合わせフォームのスパム対策

問い合わせフォームのスパムは、コメントスパムよりも気づきにくい問題です。サイト上に表示されないため軽視されがちですが、営業機会の損失やメールサーバー負荷につながります。Contact Form 7を使っている場合は、標準機能と追加プラグインを組み合わせて対策しましょう。

4-1. Contact Form 7のスパム対策設定

Contact Form 7では、Akismet連携、reCAPTCHA連携、禁止ワードリストなどを使ってスパムを減らせます。Contact Form 7公式ドキュメントでは、Akismetが導入されている場合、フォーム送信データをAkismetに送り、スパムと判定されるとメール送信を停止すると説明されています。Contact Form 7

また、WordPressの「許可されないコメントキーワード」はContact Form 7にも利用できます。Contact Form 7公式ドキュメントでは、禁止リストに登録した単語やIPアドレスを含むメッセージはスパムとして扱われ、配信されないと説明されています。Contact Form 7

まずは次の設定を確認しましょう。

フォームに不要なURL欄を設置していないか、メールアドレス欄が必須になっているか、本文欄に最小文字数を設定できるか、禁止ワードやIPアドレスを登録しているか、AkismetやreCAPTCHAと連携しているかを見直します。

4-2. Google reCAPTCHAを導入する

Contact Form 7はreCAPTCHA v3に対応しています。Contact Form 7公式ドキュメントでは、Contact Form 7 5.1以降はreCAPTCHA v3 APIを使用し、ユーザーが画像を読んだり「私はロボットではありません」にチェックしたりする必要がないと説明されています。Contact Form 7

導入の流れは次の通りです。

Google reCAPTCHAでサイトキーとシークレットキーを取得し、WordPress管理画面の「お問い合わせ > インテグレーション」からreCAPTCHAを設定します。その後、実際にフォームを送信し、正常に届くか確認します。

reCAPTCHAを導入しても完全にゼロにはなりません。スコア判定型のため、判定をすり抜ける投稿や、逆に正規ユーザーが弾かれるケースもあります。フォームが送信できないという問い合わせが増えた場合は、他の対策とのバランスを見直しましょう。

4-3. hCaptchaを導入する

hCaptchaは、reCAPTCHAの代替として使われる認証サービスです。WordPress.orgの「hCaptcha for WP」プラグインページでは、reCAPTCHAの代替として使えるプラグインであり、スパムや不正利用から守る機能を提供すると説明されています。WordPress.org

hCaptchaは、Contact Form 7、ログインフォーム、コメント欄、会員登録フォームなどに対応しているプラグインがあります。Googleサービスへの依存を減らしたい場合や、プライバシー面を重視したい場合の選択肢になります。

導入時は、hCaptchaアカウントでサイトキーとシークレットキーを取得し、WordPress側のプラグイン設定に入力します。フォームごとに有効化できる場合は、問い合わせフォーム、ログイン、コメント欄のどこに設置するかを選びましょう。

4-4. Honeypotでbotだけを検知する

Honeypotは、人間には見えない入力欄をフォーム内に設置し、その欄に入力したbotをスパムとして判定する方法です。通常のユーザーには追加操作が発生しないため、ユーザー体験を損ねにくいのがメリットです。

Contact Form 7向けには、Honeypot機能を追加するプラグインがあります。WordPress.orgのCF7 Appsプラグインページでは、Contact Form 7にHoneypotやhCaptchaなどのスパム保護機能を追加できると説明されています。WordPress.org

Honeypotはシンプルなbotには有効ですが、高度なbotや人力スパムは防げません。Akismet、禁止ワード、reCAPTCHA、hCaptchaなどと組み合わせると効果が高まります。

4-5. 確認画面・チェックボックス・必須項目で自動送信を減らす

フォームの構造を見直すだけでも、スパムを減らせます。

たとえば、プライバシーポリシー同意のチェックボックスを必須にする、問い合わせ種別を選択式にする、本文に最小文字数を設定する、確認画面を追加する、簡単な質問項目を入れるなどです。

ただし、項目を増やしすぎると正規ユーザーの離脱が増えます。問い合わせフォームは、スパム対策と送信しやすさのバランスが重要です。企業サイトや店舗サイトでは、最低限の必須項目にしつつ、botが突破しにくい仕組みを加えるのが理想です。

4-6. メールアドレス・URL入力欄の制限を見直す

フォームにURL入力欄がある場合、スパム送信者に悪用されやすくなります。URL欄が不要なら削除しましょう。必要な場合でも、任意項目にせず、用途を明確にしておくことが大切です。

メールアドレス欄では、使い捨てメールアドレスや不自然なドメインからの送信が多い場合、禁止ドメインを設定する方法もあります。ただし、過度に制限すると正規ユーザーの問い合わせを弾く可能性があるため、実際に届いたスパムの傾向を見ながら調整してください。

5. WordPressスパム対策におすすめのプラグイン

WordPressスパム対策プラグインは数多くありますが、やみくもに入れるのはおすすめしません。コメントを守りたいのか、問い合わせフォームを守りたいのか、ログイン画面も守りたいのかを明確にして選びましょう。

5-1. Akismet Anti-spam

Akismet Anti-spamは、コメントスパム対策の定番です。コメント、フォーム、WooCommerceなどのスパム判定に使えます。

メリットは、導入が簡単で、スパム判定の実績が多く、コメント欄を運用しているサイトと相性がよいことです。デメリットは、商用利用の場合のプラン確認が必要なこと、誤判定がゼロではないことです。

ブログやメディアサイトでコメント欄を開けているなら、まず候補に入れたいプラグインです。

5-2. SiteGuard WP Plugin

SiteGuard WP Pluginは、日本でもよく使われているWordPressセキュリティプラグインです。WordPress.orgの公式ページでは、ログイン攻撃への保護を中心としたセキュリティプラグインで、ログインページ変更、CAPTCHA、ログインロック、ピンバック無効化などの機能があると説明されています。WordPress.org

コメントスパムだけでなく、ログイン画面への攻撃や管理画面保護も同時に行いたい場合に向いています。特に日本語サイトでは、ひらがなCAPTCHAを使える点がメリットです。

ただし、ログインURL変更や管理画面制限は、設定を誤ると自分がログインできなくなる場合があります。導入後は、新しいログインURLを必ず控えておきましょう。

5-3. Contact Form 7 Honeypot

Contact Form 7を使っていて、ユーザーにCAPTCHA操作を求めたくない場合は、Honeypot系プラグインが便利です。

見えない入力欄を設置し、botがその欄に入力した場合にスパムとして扱います。ユーザー体験を損ねにくい一方で、高度なbotや人力スパムには弱いため、Akismetや禁止ワードと併用しましょう。

5-4. Invisible reCaptcha for WordPress

Invisible reCaptcha for WordPressは、かつて広く使われていたreCAPTCHA導入プラグインです。ログインフォーム、登録フォーム、コメントフォーム、Contact Form 7などを保護できる機能があります。

ただし、2026年時点で注意が必要です。WordPress.orgの公式ページでは、このプラグインは最新の主要なWordPressリリースでテストされておらず、保守やサポートが終了している可能性、互換性問題の可能性があると表示されています。また、最終更新も6年前と記載されています。WordPress.org

そのため、新規導入は慎重に判断し、現在はreCAPTCHA対応が継続されている別プラグインや、Contact Form 7標準のreCAPTCHA連携、hCaptcha、WP Armourなどを検討するのがおすすめです。

5-5. WP Armour

WP Armourは、Honeypot方式のスパム対策プラグインです。WordPress.orgの公式ページでは、API呼び出し、サブスクリプション、CAPTCHA、パズルなしで、コメント、問い合わせフォーム、ログイン、登録などに対応すると説明されています。WordPress.org

CAPTCHAのようにユーザーへ追加操作を求めないため、問い合わせフォームの送信率を落としたくないサイトに向いています。Contact Form 7、Gravity Forms、WPFormsなど複数フォームへの対応状況を確認してから導入しましょう。

5-6. プラグインを選ぶときの注意点

スパム対策プラグインを選ぶときは、次の点を確認してください。

最終更新日が古すぎないか、現在のWordPressバージョンでテストされているか、レビューやサポート状況に問題がないか、使っているフォームプラグインと相性がよいか、同じ機能のプラグインを重複して入れていないかを確認します。

特にCAPTCHA系プラグインを複数入れると、フォーム送信エラーや表示崩れの原因になることがあります。スパム対策は「多ければ多いほどよい」わけではありません。役割を分け、必要最小限の構成にしましょう。

6. プラグインなしでできるWordPressスパム対策

プラグインを増やしたくない場合でも、WordPress本体、テーマ、サーバー設定でできるスパム対策があります。プラグインの追加に抵抗がある方は、まずこの章の内容から実践してください。

6-1. コメント機能を手動で停止する

コメント欄を使わないなら、プラグインなしで停止できます。

「設定 > ディスカッション」で新規投稿へのコメントを無効化し、既存記事は投稿一覧から一括編集でコメントを閉じます。固定ページにコメント欄が表示されている場合も、ページ編集画面でディスカッション設定を確認しましょう。

テーマによっては、コメントを閉じても「コメントは受け付けていません」と表示される場合があります。その場合は、テーマのコメントテンプレートや表示設定を確認します。

6-2. ディスカッション設定を最適化する

プラグインなしで最も効果があるのは、ディスカッション設定の最適化です。

おすすめ設定は、コメントの手動承認を有効化、リンク数が1つ以上なら承認待ち、コメント投稿者の名前とメールアドレスを必須、古い記事のコメント受付を自動停止、ピンバック・トラックバックを無効化、NGワードをコメントモデレーションに追加、悪質なものだけ許可されないキーワードに追加、という組み合わせです。

これだけでも、ワードプレスのスパムコメントは大きく減ります。

6-3. .htaccessで特定アクセスを制限する

Apacheサーバーを使っている場合、.htaccessで特定のアクセスを制限できます。たとえば、コメント投稿先であるwp-comments-post.phpへの不自然なアクセスを制限する方法があります。

apache
<Files wp-comments-post.php>
Order allow,deny
Allow from all
Deny from 123.456.789.000
</Files>

この例では、特定IPをブロックしています。実際には、存在しないIPではなく、アクセスログで確認した悪質なIPを指定します。

ただし、.htaccessの記述ミスはサイト全体のエラーにつながります。編集前に必ずバックアップを取り、サーバーの仕様に合った記述を使ってください。Nginx環境では.htaccessは使えないため、サーバー管理画面やNginx設定で対応します。

6-4. functions.phpで投稿条件を制御する

functions.phpを使えば、コメント内容に日本語が含まれていない場合に拒否する、URLを含むコメントを承認待ちにする、特定文字列を含む投稿を拒否するなどの制御ができます。

ただし、functions.phpはテーマ更新やPHPエラーの影響を受けやすい場所です。直接編集する場合は子テーマを使い、管理画面に入れなくなったときにFTPやサーバーファイルマネージャーで戻せる状態にしておきましょう。

簡単な制御なら、コードスニペット管理プラグインを使うほうが安全です。

6-5. サーバー側のWAF・国外IP制限を活用する

WAFは、Webアプリケーションへの攻撃を検知・遮断する仕組みです。レンタルサーバーによっては、管理画面からWAFを有効化できます。

スパム投稿だけでなく、不正ログイン、SQLインジェクション、クロスサイトスクリプティングなどの攻撃対策にも役立ちます。WordPress側で何度も対策してもスパムが止まらない場合は、サーバー側でアクセスを制御するほうが効果的なケースがあります。

ただし、WAFが正常なフォーム送信を誤検知することもあります。問い合わせフォームで403エラーが出る、保存できない、送信できないといった問題が起きた場合は、WAFのログや除外設定を確認してください。

7. スパムが急増したときの緊急対処法

急にスパムコメントやフォーム送信が増えた場合は、通常の設定見直しだけでなく、緊急対応が必要です。まず被害拡大を止め、次に原因を確認し、最後に再発防止策を入れます。

7-1. まずコメント・フォーム送信を一時停止する

スパムが数分ごとに届くような状態では、まず入口を閉じます。

コメント欄なら、ディスカッション設定でコメントを無効化し、既存記事のコメントも一時的に閉じます。問い合わせフォームなら、該当ページを非公開にする、フォームショートコードを外す、送信ボタンを一時停止するなどの対応を行います。

企業サイトでは、フォーム停止中に電話番号、メールアドレス、LINE、予約システムなど代替連絡手段を表示しておくと機会損失を減らせます。

7-2. スパム投稿を一括削除する

コメント一覧からスパムコメントを選択し、一括で「スパム」または「ゴミ箱」に移動します。数が多い場合は、表示オプションで一覧表示件数を増やすと作業しやすくなります。

ただし、正規コメントが混じっている可能性もあるため、すべてを一括削除する前に数件確認しましょう。Akismetなどのプラグインを使っている場合は、スパム判定された投稿を確認し、問題なければ削除します。

問い合わせフォーム経由のメールは、メールソフトやWebメール側で差出人、件名、本文中のURLを条件にフィルタを作成すると整理しやすくなります。

7-3. 不審なユーザー・管理者アカウントを確認する

スパムが急増したときは、単なるbot投稿ではなく、サイトが侵害されている可能性も確認します。

WordPress管理画面の「ユーザー」を開き、見覚えのない管理者アカウントがないか確認してください。不要なユーザー、権限が高すぎるユーザー、使っていないアカウントは削除または権限を下げます。

管理者パスワードは強力なものに変更し、可能であれば二要素認証も導入しましょう。ログイン履歴を確認できるプラグインやサーバーログがある場合は、不審なログインがないか確認します。

7-4. WordPress本体・テーマ・プラグインを更新する

古いWordPress本体、テーマ、プラグインには脆弱性が残っている場合があります。スパムや不正アクセスが急増した場合は、すべての更新状況を確認しましょう。

更新前にはバックアップを取得し、可能であればステージング環境で動作確認します。特にフォーム、セキュリティ、キャッシュ、会員機能、EC機能に関係するプラグインは、更新後の動作確認が重要です。

使っていないプラグインやテーマは、停止するだけでなく削除します。不要なファイルを残しておくと、攻撃対象になる可能性があります。

7-5. マルウェア感染や改ざんの有無を確認する

スパムページが勝手に生成されている、検索結果に不審なタイトルが表示される、海外サイトへリダイレクトされる、管理画面に知らないユーザーがいる場合は、マルウェア感染や改ざんを疑います。

確認するポイントは、テーマファイル、プラグインファイル、wp-config.php、.htaccess、uploadsフォルダ、不審なPHPファイル、データベース内の不明な投稿やユーザーです。

自力で判断できない場合は、サーバー会社のサポートやWordPressセキュリティ専門業者に相談してください。スパム対策だけでなく、サイト全体の復旧が必要になることがあります。

8. SEOに悪影響を出さないためのスパム管理

WordPressスパム対策は、単に迷惑投稿を減らすだけではありません。検索エンジンに低品質なページや不審なリンクを見せないことも重要です。

8-1. スパムリンクが検索評価に与える影響

コメント欄にスパムリンクが大量に表示されていると、検索エンジンから低品質なユーザー生成コンテンツが放置されているサイトと見られる可能性があります。

Googleはユーザー生成スパムを防ぐためのガイドを公開しており、新規ユーザーの投稿をnoindexにする、信頼度に応じてインデックス許可を変える、といった対策にも触れています。Google for Developers

コメント欄を開放する場合は、投稿前の承認、スパムリンクの削除、ユーザー権限の管理を徹底しましょう。

8-2. コメント欄の外部リンクにnofollowを設定する

コメント欄や掲示板など、サイト運営者が完全には管理できない外部リンクには、nofollowやugc属性を設定するのが一般的です。Google Search Centralでは、リンク先と自サイトを関連付けたくない場合にnofollowを使うと説明されています。Google for Developers

WordPress本体やテーマ、コメントプラグインによって出力されるリンク属性は異なるため、実際のHTMLを確認しましょう。コメント本文中のリンク、投稿者URL、プロフィールリンクなどが対象です。

8-3. 低品質な自動投稿をインデックスさせない

会員投稿、口コミ、掲示板、Q&A、レビューなど、ユーザーが投稿できる機能を持つサイトでは、低品質な自動投稿がインデックスされないようにする必要があります。

新規ユーザーの投稿は承認制にし、一定期間または一定評価に達するまではnoindexにする、短すぎる投稿は公開しない、外部リンクを含む投稿は承認待ちにするなどの対策が有効です。

スパムが生成したページがすでにインデックスされている場合は、ページを削除し、404または410を返す、必要に応じてSearch Consoleの削除ツールを使うなどの対応を検討します。

8-4. Googleサーチコンソールで異常を確認する

Googleサーチコンソールでは、検索パフォーマンス、インデックス状況、手動による対策、セキュリティの問題などを確認できます。

急に表示回数が増えた不審なクエリ、知らないURLのインデックス、手動対策の通知、セキュリティ警告がないか確認しましょう。Googleの手動対策レポートでは、ユーザー生成スパムやハッキングされたページに関するガイドを確認することが推奨されています。Google ヘルプ

サーチコンソールは、スパムが検索結果に影響していないかを確認するための重要なツールです。

8-5. スパム対策とユーザー体験のバランスを取る

スパムを止めたいからといって、フォームに難しいCAPTCHAを何度も表示したり、入力項目を増やしすぎたりすると、正規ユーザーまで離脱します。

コメント欄を活性化したいブログでは、Akismetと承認制を中心にし、CAPTCHAは必要に応じて追加する。問い合わせを増やしたい企業サイトでは、HoneypotやreCAPTCHA v3のようにユーザー負担が少ない対策を優先する。このように、目的に合わせてバランスを取りましょう。

9. WordPressスパム対策のおすすめ設定手順

ここまで紹介した対策を、サイトの種類別に整理します。迷ったら、まず初心者向けの最短手順から実行してください。

9-1. 初心者向けの最短対策手順

まず「設定 > ディスカッション」で、コメント承認制を有効にします。次に、リンクを1つ以上含むコメントを承認待ちにします。不要であれば、ピンバック・トラックバックを無効化します。

その後、Akismet Anti-spamを導入し、コメントスパムを自動判定できるようにします。問い合わせフォームを使っている場合は、Contact Form 7のreCAPTCHA、Akismet連携、Honeypotのいずれかを追加します。

最後に、スパムが届いたら内容を確認し、繰り返し出てくるドメイン、IPアドレス、キーワードを禁止リストに追加します。

9-2. コメント欄を使うサイト向けの設定

コメント欄を使うブログやメディアでは、完全閉鎖ではなく、管理しやすい仕組みを作ります。

おすすめは、初回コメント承認制、リンク付きコメントの承認待ち、Akismet導入、日本語を含まないコメントの制限、古い記事のコメント自動停止です。

読者との交流を重視する場合は、常連読者のコメントを自動承認し、新規投稿者だけを確認する運用にすると、管理負担とユーザー体験のバランスを取りやすくなります。

9-3. 問い合わせフォーム中心のサイト向けの設定

問い合わせフォームが中心のサイトでは、フォームスパム対策を優先します。

Contact Form 7を使っているなら、reCAPTCHA v3、Akismet連携、Honeypot、禁止ワードリストを組み合わせます。URL欄が不要なら削除し、本文に最小文字数を設定します。プライバシーポリシー同意チェックボックスも、正規ユーザーにとって自然な範囲で追加できます。

送信エラーが増えた場合は、CAPTCHAの設定やWAFの誤検知を確認しましょう。

9-4. 企業サイト・店舗サイト向けの設定

企業サイトや店舗サイトでは、コメント欄を使わないことが多いため、まずコメント機能を無効化します。問い合わせフォームには、HoneypotまたはreCAPTCHA v3を設定し、スパムが多い場合はhCaptchaやWAFも検討します。

ログイン画面には、SiteGuard WP PluginなどでログインURL変更、ログインロック、CAPTCHAを設定すると安心です。管理者アカウントは必要最小限にし、強力なパスワードと二要素認証を使いましょう。

9-5. メディアサイト・ブログ向けの設定

メディアサイトやブログでは、コメント欄を開けるか閉じるかを最初に決めます。コメントによる読者参加を重視するなら、承認制とAkismetを中心にします。コメント欄を使わないなら、最初から無効化するほうが管理が楽です。

記事数が多いサイトでは、古い記事のコメント欄がスパムの温床になりやすいため、一定期間でコメントを閉じる設定がおすすめです。外部リンクが多いコメントは承認待ちにし、nofollowやugc属性も確認しましょう。

10. WordPressスパム対策でよくある質問

10-1. Akismetだけでスパム対策は十分?

小規模なブログであれば、Akismetだけでもかなりのスパムを減らせます。ただし、完全ではありません。コメント承認制、リンク数制限、NGワード、古い記事のコメント停止と組み合わせることで、より安定します。

問い合わせフォームのスパムが多い場合は、Akismetに加えてreCAPTCHA、hCaptcha、Honeypotなども検討しましょう。

10-2. reCAPTCHAを入れてもスパムが届く原因は?

reCAPTCHAは強力ですが、すべてのスパムを完全に止めるものではありません。スコア判定をすり抜けるbot、人間が手動で送信するスパム、別のフォームや古いフォームからの送信、プラグインの設定ミスなどが原因になります。

reCAPTCHAを入れてもスパムが届く場合は、フォームが複数ないか、キーが正しく設定されているか、キャッシュが影響していないか、Honeypotや禁止ワードと併用できるかを確認してください。

10-3. コメント欄を閉じるとSEOに悪影響はある?

通常の企業サイトや店舗サイトでは、コメント欄を閉じても大きなSEO悪影響はありません。むしろ、管理されていないスパムコメントが大量に表示されているほうが問題です。

ブログやコミュニティサイトでは、良質なコメントが記事の価値を補足する場合もあります。その場合はコメント欄を閉じるのではなく、承認制やスパム判定を使って品質を管理しましょう。

10-4. 問い合わせフォームのスパムメールを完全にゼロにできる?

完全にゼロにするのは難しいです。スパム送信にはbotだけでなく、人力の営業投稿も含まれるためです。

現実的には、bot投稿をCAPTCHAやHoneypotで減らし、明らかなスパムをAkismetや禁止ワードで止め、残った少数をメールフィルタで整理する運用が効果的です。正規ユーザーが送信しやすい状態を保ちながら、スパムだけを減らすことが重要です。

10-5. スパム対策プラグインを複数入れても問題ない?

目的が違うプラグインを組み合わせるのは問題ありません。たとえば、Akismetでコメント判定、SiteGuardでログイン保護、Honeypotでフォーム保護という構成は考えられます。

しかし、同じフォームに複数のCAPTCHAを重ねたり、複数のスパム判定プラグインが同じ処理を行ったりすると、送信エラーや誤判定の原因になります。プラグインは必要最小限にし、導入後は必ずテスト送信を行いましょう。

まとめ

WordPressスパム対策は、難しいセキュリティ作業ではなく、基本設定の見直しから始められます。まずは「設定 > ディスカッション」でコメント承認制、リンク数制限、NGワード、古い記事のコメント停止、ピンバック・トラックバック無効化を設定しましょう。

コメント欄を使うサイトでは、Akismet Anti-spam、承認制、必要に応じたCAPTCHAを組み合わせます。問い合わせフォームを使うサイトでは、Contact Form 7のAkismet連携、reCAPTCHA、hCaptcha、Honeypot、入力項目の見直しが効果的です。

プラグインを選ぶときは、最終更新日、対応WordPressバージョン、レビュー、サポート状況を必ず確認してください。特に古いスパム対策プラグインは、互換性やセキュリティ面で問題になる可能性があります。

スパムが急増した場合は、コメントやフォーム送信を一時停止し、スパム投稿を削除し、不審な管理者アカウントや改ざんの有無を確認します。そのうえで、WordPress本体、テーマ、プラグイン、サーバー側WAFを最新・適切な状態に整えましょう。

ワードプレスのスパムは完全にゼロにするのが難しい一方で、正しい設定と運用を行えば大幅に減らせます。大切なのは、入口を減らし、自動投稿を判定し、怪しい投稿を公開前に止め、SEOとユーザー体験を守ることです。