PR フォーム・メール設定

【初心者向け】Contact Form 7とAkismetを連携してスパムメールを防ぐ方法

KAZU

2017年からAFFINGERを愛用。
色んなテーマを試してきたけど、結局AFFINGERが一番使いやすい!

★…AFFINGER利用歴8年超
★…テーマ比較実績 10種類以上
★…生成AIを使った実験と検証数え切れず

現在は、AFFINGER×AIを使えば誰でも稼げる、そんな仕組みを検証中。

お問い合わせフォームにスパムが届くと、本当に面倒ですよね。

でも安心してください。Contact Form 7とAkismetを連携させれば、自動でスパム判定をしてくれるようになります。

この記事では、CF7のフォームにAkismetを組み込む方法を、初心者の方でもわかるようにシンプルに解説します。

最短の設定手順と確認方法を紹介するので、このページを見ながら設定すればすぐに実践できますよ。

Contact Form 7とAkismetを連携するメリット

Akismetはもともと「コメント欄のスパム対策」として有名なプラグインですが、実はお問い合わせフォーム(Contact Form 7)とも組み合わせて使えます。

フォームからのスパムは意外と多い

WordPressサイトを運営していると、コメント欄だけでなく お問い合わせフォーム経由のスパム送信 に悩まされることがあります。

たとえば、海外からの広告リンクや、自動送信ツールによる迷惑メッセージなどです。

放置していると、1日で数十件以上届くことも珍しくありません。

AkismetとCF7を組み合わせるメリット

CF7で作ったフォームにAkismetを組み込むと、送信内容を自動でチェックし、スパム判定されたメッセージは受信前にブロックされます。

つまり、

  • メールを開く時間や手間を削減できる
  • 本当に必要な問い合わせだけを確認できる
  • サイトの信頼性を保てる

というメリットがあります。

私自身も導入前は「またスパムか…」と毎日のようにガッカリしていましたが、Akismetと連携してからは、本当に必要なメッセージだけが届くようになり、精神的にもかなり楽になりました。

フォームタグにAkismet属性を追加する方法

AkismetをCF7で利用するには、フォームの入力タグに「akismet属性」を追加する必要があります。

これを設定することで、Akismetが送信内容をチェックしてくれるようになります。

注意点

現在のContact Form 7(v5.1以降)では、Akismetプラグインを有効化していると、新しく作成したフォームには「名前」や「メールアドレス」などに自動でAkismet属性が付与されます。

ただし、過去に作成したフォームや、独自のフィールド名を使っているフォームには自動で反映されません。

その場合は、以下のように手動でタグに属性を追加してください。

基本の書き方

以下のように、各フィールドに対して属性を追記します。

名前フィールド

[text* your-name akismet:author]
  • text* … 必須入力フィールド
  • your-name … フィールド名(任意で変更可)
  • akismet:author … 入力された値を「送信者名」としてAkismetに送信

メールアドレスフィールド

[email* your-email akismet:author_email]

author_email を指定することで、入力されたメールアドレスをスパム判定に利用できます。

URLフィールド(任意)

[url your-url akismet:author_url]

URLを入力させる場合は author_url を追加できます。

不要であれば省略してもOK。

実際のフォーム例

例えば、以下のようなシンプルなお問い合わせフォームがあったとします。

[text* your-name akismet:author "お名前"]
[email* your-email akismet:author_email "メールアドレス"]
[text your-subject "件名"]
[textarea your-message "メッセージ本文"]
[submit "送信"]

これで、名前とメールアドレスの入力値がAkismetに送られ、自動でスパム判定されます。

設定のポイント

  • 必須フィールドには必ず「*」をつける
    (例:[text* your-name ...]
  • フォームタグを編集したあとは、必ず保存して実際に送信テストを行う
  • 既存フォームに追加するだけなので、難しい操作は不要

実際の送信テストと確認方法

フォームタグにAkismet属性を追加したら、必ずテスト送信をして動作を確認しましょう。

ここではチェックすべきポイントを解説します。

テスト送信を行う

  1. 作成したお問い合わせフォームを開く
  2. 名前・メールアドレス・本文にテスト用の内容を入力
  3. 「送信」ボタンをクリック

正常に設定できていれば、Akismetが自動でスパム判定を行います。

スパム判定がどう反映されるか

  • 通常のメッセージ
    → いつも通りメールが届く。管理画面の「お問い合わせ」一覧にも表示される。
  • スパムと判定されたメッセージ
    → 管理画面で「スパム」として処理される。
    → 受信メールに届かない場合もある。

※サイトやサーバー環境によって挙動が少し異なる場合があります。実際の挙動を必ずチェックしてください。

Akismetの統計で確認できる

WordPress管理画面の 「設定」→「Akismet Anti-Spam」 を開くと、スパム判定された件数や履歴を確認できます。

「どのくらいスパムを防げているか」が数字で見えるので、導入効果を実感しやすいですよ。

  • テスト送信ではあえて「英語だけの文章」や「怪しいリンク入りの文章」を入力すると、スパム判定されやすくなります。
  • 本当に必要なメールがスパムに振り分けられていないかどうか、最初のうちは必ず確認するようにしましょう。

誤判定があった場合の対応

Akismetは高精度ですが、100%ではありません。

ときどき「本来は必要な問い合わせ」がスパムに分類されることがあります。

ここでは CF7の送信内容 で誤判定が起きたときの正しい対処手順を整理します。

前提:CF7標準では「スパム一覧」は見られません

Contact Form 7(CF7)は 標準では送信内容をWordPressに保存しません

そのため、管理画面の「お問い合わせ」からスパムを開いて解除することはできません。

※Akismetと自動連携して「スパム」一覧が見られるのは ブログのコメント機能 です。管理画面の「コメント → スパム」に出るのはコメントのスパムで、CF7の送信とは別です。

対応ステップ

ステップ1:Flamingoを導入して記録・救済できる状態にする(推奨)

「Flamingo」は、Contact Form 7の問い合わせ履歴をデータベース化するプラグインです。

  1. 「プラグイン → 新規追加」で「Flamingo」をインストール → 有効化 まで行う


     
  2. WordPress左メニューに「Flamingo」が追加されます。
    受信メッセージを開く


     
  3. 通常のメッセージは「受信トレイ」、スパム判定されたメッセージは「スパム」に振り分けられます。


     
  4. 誤判定を見つけたら該当メッセージを開き、ステータスを変更(=スパム解除) して受信へ移動

    Flamingoは導入後の送信から保存します。導入前に届かなかったメールはさかのぼって取得できません。

    ステップ2:メール受信側もチェック

    • メールクライアントの迷惑メールフォルダを確認
    • 送信先アドレス(管理者メール)に対して 差出人ドメインの許可(ホワイトリスト) を設定
    • 送信ログ系プラグインやサーバーのメールログがあれば到達状況を確認

    ステップ3:再発を減らす設定

    • reCAPTCHAを併用(次の記事で詳しく解説)
    • 不要な入力項目(例:任意のURLフィールド)を減らす/必須化の見直し
    • 明らかにスパムが通る文面・パターンがあればフォームの文言やガイドを調整

    ステップ4:運用のコツ

    • 導入直後や設定変更直後は Flamingoの「スパムメッセージ」を短い間隔で確認
    • 落ち着いてきたら 週1回程度 の定期チェックに移行
    • 変更のたびに テスト送信 → 受信/スパムの動作確認 をセットで行う

    まとめ:Akismet連携でCF7のスパム対策を強化しよう

    お問い合わせフォームは、サイト運営に欠かせない大切な窓口です。

    でもスパムが大量に届いてしまうと、対応に時間を取られてしまい、本来の読者対応やビジネスに集中できなくなります。

    今回ご紹介したように、Contact Form 7のフォームタグにAkismet属性を追加するだけで、スパム判定が自動化されます。

    これだけでもスパムの大部分をブロックできるので、運営の負担がぐっと減りますよ。

    補足

    もし最近作ったフォームで、すでに [text* your-name akismet:author] のように akismet 属性が入っている場合は、特に追記作業は不要です。

    一方で、過去に作ったフォームやカスタムタグを使っている場合は、このページで紹介した方法で手動追加してください

    さらに強固にしたい方は、reCAPTCHAの導入がおすすめです。

    次の記事で詳しく解説しているので、あわせてチェックしてください。

    👉 次に読むべき記事

    • この記事を書いた人
    • 最新記事

    KAZU

    2017年からAFFINGERを愛用。
    色んなテーマを試してきたけど、結局AFFINGERが一番使いやすい!

    ★…AFFINGER利用歴8年超
    ★…テーマ比較実績 10種類以上
    ★…生成AIを使った実験と検証数え切れず

    現在は、AFFINGER×AIを使えば誰でも稼げる、そんな仕組みを検証中。

    -フォーム・メール設定
    -, ,

    PAGE TOP