【スパム対策】WordPressで迷惑メールが大量に来てしまうとき

MW WP FORMで作成した問い合わせフォームから
迷惑メールが大量に届いてしまうという場合の対策メモ

プラグイン「reCAPTCHA for MW WP Form」

reCAPTCHAとはGoogleが無償で提供しているスパム(迷惑メール)対策サービスで、人間とロボットを区別してくれます
よく、フォームを送信する前にぐにゃぐにゃした文字を見て内容を入力したり
画像が並んでいて「信号機だけを選択する」とかするあれですね

ただ画像の選択が結構難しかったり…

しかし新しいreCAPTCHA v3はそういった作業なしで
スパムをブロックしてくれるとのことです

wordpressで最も良く使う「MW MP Form」用のプラグインがあるのでその設置方法

1.reCAPTCHA for MW WP Formをインストール

2.有効化して設定

有効化すると、MW WP Formメニューの中に「reCAPTCHA v3」という項目ができるのでそこから設定します
まず矢印のところからGoogleのサイトに行き、キーを取得します

Googleのサイトで必要事項を入力し送信します
今回はプラグインを使うのでreCAPTCHA v3のほうを選択します

webサイトが設定されると
・サイトキー
・シークレットキー の2つが表示されるのでコピー
WordPress管理画面の設定画面に戻りペーストします
変更を保存できたら、その下にあるショートコードをコピーして
作成したフォーム内に貼り付け

さらに、そのフォーム内でバリデーションルールを追加
項目に「recaptcha-v3」と入力し、一番下のチェックボックスにチェックを入れます

これで設定完了!
問い合わせフォームのページを確認し、右下にマークが出ていればOK

それでもスパムメールがなくならない→フォームを複雑にしてみる

これで弾いてくれるメールもあるのでしょうが、今回の外国語大量メールはなかなかおさまりませんでした…
そこで調べたところ、フォームがシンプルであるほどスパムメールは送りやすくなるとのことで、項目を増やしてみました

1.ひらがな・カタカナでないと入力できない項目を作る

MW WP FORMではバリデーションルールを追加することができます
それを使って 例えばお名前の「読み仮名」という項目を作り
バリデーションルールで「ひらがな・カタカナ」にチェックを入れ
さらに必須項目にチェックを入れることで
外国語の入力→送信できないようにします

2.必須項目のチェックボックスを作る

MW WP FORMのバリデーションルールを設定するところでは
・必須項目
・必須項目(チェックボックス)

という2種類の必須項目があります
このうち、
・必須項目(チェックボックス)
のほうを使うようにするということです

こちらのブログを参考にさせていただきましたm(_ _)m

MW WP Form で空メールが送信される現象とその対策 | フロントエンドエンジニアのblog
WordPress のメールフォームプラグイン MW WP Form を利用しているサイトの一つで、下記のように各項目の内容が空のメールが送信される現象がありました。 お問い合わせフォームより送信され

外国語大量メールには、今のところこの2が最も効いているようです!

コメント