WordPressのコンタクトフォームで定番の「Contact Form 7」にスパムメールが届くようになって困っています。
画像認証やフィルタを使わずに手軽にスパム対策ができる事もあるので、今回はその対策方法をみていきたいと思います。
承諾の確認を使う方法
チェックボックスをチェックしないとメールが送信できないようにする方法です。たったこれだけでスパム業者は自動ソフトで操作できなくなるので、迷惑メールがなくなります。
自分が利用しているコンタクトフォームを選択して編集モードにします。
タグの作成のプルダウンから「承諾の確認」を選択します。
生成されたコードをコピーしてフォーム編集欄に貼り付けます。
お問い合わせのリンクをインデックスさせない
次は、そもそも「問い合わせ」というリンクボタンをnoindexにしてしまう対策です。
これで検索エンジンから問い合わせページを収集して、スパム行為を行う業者からのスパムを抑制する事ができます。
問い合わせページのheadに、
<meta name="robots" content="noindex"/>
このタグを挿入するか、テーマの機能から「このページをindexさせない」にチェックしたりして対応しましょう。
Contct Form 7で送信されるメールに送信者の情報を記入させる
通常「Contact Form 7」から送られたメールには、送信者のメールアドレスしか情報が載りませんが、特殊タグをを追記する事で、送信者のIPアドレス・UAを取得する事ができます。
「Contact Form 7」の設定から、「メッセージ本文:」の部分に、
IP:[_remote_ip]
UA:[_user_agent]
を追記します。
すると受信したメールにスパムを送った人物のIPアドレス等の情報が自動で記入されて届きます。
まとめ
これ、実は意外な効果がありました。
スパムはもちろんなのですが、誤送信してしまう人が減りました。
Enter一発で送信できてしまっていた仕様に問題がありましたね。
というわけで一石二鳥。
今日も知識欲は止まらない。