あなたのWordPressサイトに、簡単に導入できるお問い合わせフォーム「Contact Form 7」を設置しましょう。これは初心者にも扱いやすく、サイトに必要な機能を手軽に追加できます。
WordPressサイトにContact Form 7(お問い合わせフォーム)を設置し、スパムメール対策の方法をご紹介します。
Contact Form 7とは?
Contact Form 7は、WordPressサイトにお問い合わせフォームを追加するためのプラグインです。以下のリンクからダウンロードできます。
Contact Form 7
プラグインのインストール
WordPressの管理画面から「プラグイン」→「新規追加」→「検索キーワード」に「Contact Form 7」と入力します。以下の赤枠「Contact Form 7」が表示された「今すぐインストール」ボタンをクリック後、「有効化」ボタンでプラグインをアクティブにしましょう。
フォームの設定
WordPress管理画面の左メニューの「お問い合わせ」→「新規追加」画面から新しいフォームを作成できます。フォームの内容、送信先メールアドレス、自動返信メール、エラーメッセージなど、必要な設定を行います。
「フォームの入力内容」「問い合わせメール送信先」「自動返信メール」「入力エラーメッセージ」等を設定後、表示された赤枠箇所のショートコードをコピーし任意のページ(固定、投稿ページ等)にペーストするとフォームが表示されます。
スパムメール対策1:フォーム項目に「承諾確認」チェックを追加
フォームに「承諾確認」のチェックボックスを追加することで、スパムメールを防ぎます。フォームの設定画面で「承諾確認」を選び、同意内容とオプションを設定します。
手順は以下の通りです。
- フォームタブから「承諾確認」をクリック
- 同意内容のテキストを入力
- オプションの「チェックボックス」を任意選択にするのチェックを外す
- 「タブを挿入」をクリック
- フォーム項目に「承諾確認」チェックとテキストが追加されます
スパムメール対策2:フォーム項目の「メッセージ本文」に日本語入力必須化
メッセージ本文の入力で日本語の使用を必須にすることも、スパム対策の一つです。海外からのスパムメールでは入力内容が英数字のみが多いのでフォームの入力項目の「メッセージ本文」が英数字のみだった場合入力エラーにします。
これは「functions.php」に特定のコードを追加することで実現できます。コードは以下の通りです。
functions.phpに以下を追記します。
function wpcf7_validate_spam_message( $result, $tag ) {
$value = str_replace(array(PHP_EOL,' '), '', esc_attr($_POST['your-message']));
if (!empty($value)) {
if (preg_match('/^[!-~]+$/', $value)) {
$result['valid'] = false;
$result['reason'] = array('your-message' => '日本語で入力してください');
}
}
return $result;
}
add_filter( 'wpcf7_validate', 'wpcf7_validate_spam_message', 10, 2 );
フォーム項目の「メッセージ本文」が英数字のみだった場合、エラーメッセージが表示されます。英文のみではお問い合わせ出来なくなりスパムメール対策になります。
まとめ
これであなたのサイトに、使いやすいお問い合わせフォームが設置でき、スパムメールからも守れます。初心者でも簡単にできるので、ぜひ試してみてください!
※流用される場合は自己責任でお願いします。