WordPressでお問い合わせのプラグインといったら、「Contact Form 7」と言ってもいいくらいよく使われているプラグインだと思います。
Googleアドセンスを利用するのであれば、お問い合わせは必要となってきます。
そんなお問い合わせフォームを作るプラグインの「Contact Form 7」なんですけども、スパムのメールが来てしまうこともあります。
「Akismet」でも対応できることはできますが、より強力にするために「functions.php」の一番最後に記載すればスパムを回避できますのでやっておきましょう。
他にもセキュリティのプラグインやGoogleの「reCAPTCHA」を使うのもいいですが、「Contact Form 7」を入れたがために遅くなったり見た目が悪くなったりします。
そこで今回は、お問い合わせでつかう「Contact Form 7」の説明をしつつ、サイトを遅くさせないように「functions.php」に追加させてスパム回避をする方法を説明します。
Contact Form 7を入れないといけないのはなんで?
WordPressのお問い合わせに使う「Contact Form 7」は、Googleアドセンスを利用するのであれば必須となってきます。
WordPressのテーマには「Contact Form 7」を入れなくてもいいものもありますので、お問い合わせで有名な「Contact Form 7」を入れないといけない場合は入れましょう。
Googleアドセンスが信頼できるサイトがどうかを判断するために、お問い合わせを導入し連絡が取れるようにしないといけないです。
信頼できるサイトだと判断できるかどうかも大切なことなんですけども、企業や見ている人からの連絡も受けることもあるため、「Contact Form 7」を使っておきましょう。
せっかくのチャンスを逃しては意味はないですし、Googleアドセンスに申請できないというのもあるので、お問い合わせのプラグイン「Contact Form 7」は使うのが定番です。
Contact Form 7などお問い合わせの天敵であるスパムメールが来るのはなんで?
Googleアドセンスに申請するのに「Contact Form 7」が必要なんですけども、なんでスパムメール(迷惑メール)が来るのかというのを簡単に説明していこうと思います。
1番多いのはなんらかのサイトに登録している場合に、「Contact Form 7」のお問い合わせを利用して送るというのが個人的には思っています。
特に海外通販サイトとかは、結構スパムメールが来るなんていう話は聞きますね。
「Contact Form 7」で作ったお問い合わせから、なんで知るかというと自分のサイトのURLを掲載しているからなんだろうと思います。
「Contact Form 7」で添付ファイルをつけないようにすれば問題ない、ウィルスを添付して送ってくる場合もあります。
単なる迷惑行為だったら「Akismet」や「functions.php」に、コードを貼り付けてしまえば済む話なんですけど、個人情報を吸い出そうとする場合が厄介かなと思います。
「個人情報が流出してしまった」なんてニュースを見飽きた方もいるかと思いますが、サイトのデータが盗まれるのは非常に面倒ですよね。
そこでサイトを閉鎖させるのはもったいないと思うので、「Contact Form 7」に工夫をしたり「Akismet」を入れたり「function.php」に何らかのコードを書き加える必要があります。
Contact Form 7を入れて簡単にお問合せを設定してみよう!
「Contact Form 7」のインストールから設定までやっていきましょう。
プラグインの追加に関しては、当サイトの違うプラグインではありますが、やることは同じなので見てくださいね。

(クリックすると拡大します)
オレンジの枠のところの通りにクリック。

(クリックすると拡大します)

(クリックして拡大させてみてください)
オレンジの枠の所にタイトルを入れてから保存しましょう。
「Contact Form 7」の設定はたったこれだけなのです。

(クリックして拡大させてみてください)
この「Contact Form 7」で作られたショートコードを固定ページに貼り付けると、「お問い合わせ」のフォームができあがるようになっています。

(クリックして拡大させてみてください)
では「Contact Form 7」で作られたかどうかを、確認しておくことにします。

(クリックすると拡大します)
こんな感じの画面が表示されたら完ペキです。
AkismetでContact Form 7のスパム対策をするにはどうすればいい?
「Akismet」はコメントだけでなくて、「Contact Form 7」のスパム対策もやってくれます。
「Akismet」に関する記事はこちらから見てみてくださいね。

「コンタクトフォーム」のところの一部を変えるだけなので、WordPressの初心者もできるカンタンなスパム対策です。

(クリックすると拡大します)
この通りにやらなくてもいいのですが、名前・メールアドレスのところに「akismet:author」や「akismet:author_email」を入力するだけです。
「Akismet」だけ入れても十分だと思いますが、「Contact Form 7」の「コンタクトフォーム」もきちんと設定してあげてくださいね。
Contact Form 7のコンタクトフォームに承認確認を入れてスパム対策をしよう!
「Akismet」を入れるのがどうも好きじゃないという方向けなんですけども、「Contact Form 7」の「コンタクトフォーム」に承認確認をさせてスパム対策をすることもできます。
当サイトでも取り入れている方法なんですけども、名前やメールドレスをきちんと入れたとしてもスパムが来てしまうという場合にピッタリなやり方かなと思います。

(クリックすると拡大します)
スパムを回避するのに「コンタクトフォーム」にある、「承認確認」のボタンをクリックしてみましょう。

(クリックすると拡大します)
新しくウィンドウが出てきますが、そのままだとメールにそのままスパムが来てしまうので、オプションにあるチェックボックスを外してください。
メッセージ(メール)を送るためには、チェックボックスを入れないと送信できないようになります。
「同意条件」は、好きな文章でいいかと思っていますが、あまりに高圧的な文章にしないほうがいいかと思っています。
「タグを挿入」をクリックした後に保存をして、お問い合わせに自分自身の名前やアドレスなどを入れて、チェックボックスになにもせず送信するとエラーが出るようになります。
スパムはたいていコンピュータから無作為に送信されている場合もあるため、必ず入力しないといけなくなるのでスパムが圧倒的に減ります。
スパム対策のために「function.php」にコードを追加してみよう!
鉄壁のスパムのガードをするのに、上の2つのスパム回避方法をほどこして、さらに「function.php」にコードを記述するスパム回避もあります。
「親テーマ」・「子テーマ」と分かれているWordPressのテーマだったら、「子テーマ」の「function.php」にスパム回避のコードを入れるのがいいかと思います。
たいていのWordPressのテーマの更新は、「親テーマ」の更新がメインとなっていますので、更新すると「function.php」にスパム回避のコードを記述しても消えてしまいます。
「子テーマ」の更新があるかもしれませんが、「親テーマ」より頻度はかなり低いはずなので。「子テーマ」の「function.php」にスパム回避のコードを入れれば楽です。
「子テーマ」がないという場合には、テキストなどに今からコードを表示させるので、「function.php」にスパム回避のコードを入れてみてください。
「function.php」なので最後にスパム回避のコードを記述するのがいいですし、バックアップもとっておいたほうがいいでしょう。
//お問い合わせの送信する文章にひらがながないと送信失敗(contact form7) add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2); add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2); function wpcf7_validation_textarea_hiragana($result, $tag) { $name = $tag['name']; $value = (isset($_POST[$name])) ? (string) $_POST[$name] : ''; if ($value !== '' && !preg_match('/[ぁ-ん]/u', $value)) { $result['valid'] = false; $result['reason'] = array($name => 'エラー / この内容は送信できません。'); } return $result; } function display_post_top_thumbnail( $content ){ if( has_post_thumbnail() === true ) { global $post; $content = '<div class="post-top-thumbnail">' . get_the_post_thumbnail( $post->ID, 'full' ) . '</div>' . $content; } return $content; } add_filter( 'thk_content', 'display_post_top_thumbnail', 11, 1 );
このスパム回避のコードを「function.php」の最後に入れて保存してみてください。
まとめ
WordPressのお問い合わせにいいプイラグインである「Contact Form 7」の説明をしてみましたがどうでしょうか?
Googleアドセンスを利用するのであれば、お問い合わせのフォームが必須となってくるので、お問い合わせフォームがテーマになければ「Contact Form 7」を入れてみましょう。
サイトのアクセスが多くなってくるとスパムのメッセージや来ることもあります。
「Contact Form 7」を使うにしてもスパムのメッセージが多くなればなるほど、サイトの信頼性が失われて一生懸命文章を書いたとしても去っていく人がいるかもしれません。
「Contact Form 7」を使うのと同時にスパム回避をしておくのをおススメします。
割と簡単な「Contact Form 7」のスパム回避は3種類です。
スパム回避をするのにreCAPTCHAを「Contact Form 7」では使えるんですけども、場所が邪魔だというときにこの3種類の「Contact Form 7」のスパム回避をしておくといいでしょう。
「Contact Form 7」を使っていてスパム回避を1つでも行っていない場合には、「function.php」でも「Akismet」でも「承認確認」の3つを合わせて使うといいですよ。