フォームの迷惑メールとreCAPTCHA
WordPressの問い合わせフォームと言えば、定番の「ContactForm7」。
ロボットがやっているのか、ある時から、来てしまう「スパム」「迷惑メール」。
ContactForm7などの問い合わせフォーム以外の「コメント」などでも、迷惑なコメントが多くなってきます。
その対策で、よく使われるのが、「文字認証」の仕組み
文字認証以外でも「橋」はどれですか。「車」はどれ?
と「絵」を選ぶというのもあります
これらは、googleの「reCAPTCHA」という仕組みを利用しています。
これらの「文字/画像認証」は、スパムを防ぐことができますが、「面倒」な作業ですので、「やーめた!」と、スパムではない方からの情報も遮断してしまう可能性があります。
reCAPTCHAの最新版 v3
googleのreCAPTCHAですが、2018年末に、v3になりました。
このバージョンでは、「文字認証」「画像認証」が、ありません。
「自動的」にやってくれます。
これなら、面倒さはなくなり、スパムもなくなりそうです!
今回、WordPressのContactForm7に、reCAPTCHA v3を設定してみます。
WordPress/ContactForm7/eCAPTCHA v3
↑「お問い合わせ」の「インテグレーション」を選び、「インテグレーションのセットアップ」を選択します。
↑google の reCAPTCHAへのリンクがありますので、リンク先に行きます。
↑「My reCAPTCHA」を選びます。
↑一番上の「Label」は、自分でわかる、適当な設定名を入れます。
「reCAPTCHA v3」を選びます。
「Domain」のところに、設定するドメイン名を入れます。
「Register」を押します。
↑設定内容が表示されます。
「Site key」と「Secret key」を使います。
下の「Step1」のところは、WordPressで設定すれば、自動的に設定されますので、無視しても大丈夫です。
↑「サイトキー」「シークレットキー」をコピー&ペーストして、「変更を保存」を押します。
↑reCAPTCHA v3が設定されました。
reCAPTCHA のバッジを消したい・・・
reCAPTCHA v3 が設定されましたが、設定後、前ページに、「バッジ」が表示されます。デザイン上「えーーー(汗)」という感じです。
このバッジを消す方法はないのでしょうか・・・
reCAPTCHAのサポートページを覗いてみます。
「ユーザーフローにreCAPTCHAブランドを視覚的に含める限り、バッジを非表示にすることができます。次のテキストを含めてください。」
(chromeの翻訳)
とあります。
さっそく、問い合わせページに、reCAPTCHAへのリンクが書かれたHTMLを貼り付けます。
↑上記のように「問い合わせページ」のところに入れました。
しかし、「バッジ」は、そのままです。
さて・・・・
これを表記すれば、「バッジ」は「自分で消してもいいよ」というふうに解釈しました(笑)
バッジを消す方法は、探すといろいろあります。
.grecaptcha-badge { display:none; }
今回、上記のCSSを設定しました。
これで、バッジは、表示されなくなりました。
google eCAPTCHA v3 の効果は?
さて、実際に、迷惑メールが、除去されるのでしょうか・・・
どれくらい除去されるかは、reCAPTCHAのページで集計されるようです・・・
↑上記の「Spam index」「Pass rate」のところに表示されるようです・・・
google reCAPTCHA v3 まとめ
まだ、スパムがきていませんが、reCAPTCHA v3で、スパムが除去されれば、有用なツールですね
WordPress,ContactForm7 バージョン
WordPress 4.9.8
ContactForm7 5.1.1
でチェックしました。