ตั้งค่าฟอร์มติดต่อ WordPress (Contact Form 7 / WPForms) พร้อม Anti-Spam

ฟอร์มติดต่อ (Contact Form) เป็นฟีเจอร์สำคัญของทุกเว็บไซต์ WordPress ช่วยให้ผู้เข้าชมสามารถส่งข้อความหาเจ้าของเว็บได้สะดวก บทความนี้จะแนะนำการติดตั้งและตั้งค่า Contact Form 7 และ WPForms พร้อมระบบป้องกัน Spam ด้วย reCAPTCHA และ Cloudflare Turnstile บน Cloud VPS ของ de.co.th

ทำไมต้องมีฟอร์มติดต่อบนเว็บไซต์?

การใส่อีเมลแบบ plain text บนเว็บไซต์ทำให้ถูก Bot เก็บไปส่ง Spam ได้ง่าย ฟอร์มติดต่อช่วยแก้ปัญหานี้โดยผู้เข้าชมกรอกข้อมูลผ่านฟอร์มแล้วระบบส่งอีเมลถึงคุณโดยไม่เปิดเผยอีเมลจริง นอกจากนี้ยังสามารถเก็บข้อมูลเพิ่มเติมเช่น เบอร์โทร หัวข้อ และข้อความได้ตามต้องการ

ติดตั้ง Contact Form 7

Contact Form 7 เป็นปลั๊กอินฟอร์มยอดนิยมที่ใช้งานฟรี 100% รองรับการปรับแต่งฟอร์มด้วย HTML และมี Shortcode สำหรับใส่ในหน้าต่างๆ วิธีติดตั้ง:

1. ไปที่ Plugins → Add New → ค้นหา “Contact Form 7” → Install Now → Activate

2. ไปที่ Contact → Contact Forms → คลิก “Add New” สร้างฟอร์มใหม่

3. ตั้งค่าฟิลด์ในแท็บ Form เช่น ชื่อ อีเมล หัวข้อ ข้อความ

4. ตั้งค่าแท็บ Mail กำหนดอีเมลปลายทางที่จะรับข้อความ

5. Copy Shortcode เช่น

Error: Contact form not found.

ไปวางในหน้าที่ต้องการ

ติดตั้ง WPForms (ทางเลือก Drag & Drop)

WPForms เป็นอีกทางเลือกที่มี Drag & Drop Builder ใช้ง่ายกว่า เหมาะกับผู้ที่ไม่ถนัด HTML เวอร์ชัน Lite ใช้ฟรีและเพียงพอสำหรับฟอร์มติดต่อทั่วไป ติดตั้งผ่าน Plugins → Add New → ค้นหา “WPForms” แล้วสร้างฟอร์มผ่าน WPForms → Add New เลือก Template “Simple Contact Form” แล้วปรับแต่งตามต้องการ

ตั้งค่า Anti-Spam ด้วย Google reCAPTCHA v3

reCAPTCHA v3 ทำงานแบบ Invisible ไม่รบกวนผู้ใช้ ตรวจจับ Bot โดยอัตโนมัติ วิธีตั้งค่ากับ Contact Form 7:

1. ไปที่ Google reCAPTCHA Admin สร้าง Site Key และ Secret Key เลือก reCAPTCHA v3

2. ใน WordPress ไปที่ Contact → Integration → reCAPTCHA → Setup Integration ใส่ Site Key และ Secret Key

3. reCAPTCHA v3 จะทำงานอัตโนมัติกับทุกฟอร์ม Contact Form 7 โดยไม่ต้องเพิ่ม Tag พิเศษ

ตั้งค่า Cloudflare Turnstile (ทางเลือกฟรีแทน reCAPTCHA)

Cloudflare Turnstile เป็น CAPTCHA ฟรีที่เป็นมิตรกับผู้ใช้และไม่เก็บข้อมูลส่วนบุคคล เหมาะกับเว็บที่ใช้ Cloudflare อยู่แล้ว:

1. ไปที่ Cloudflare Dashboard → Turnstile → Add Widget สร้าง Site Key และ Secret Key

2. ติดตั้งปลั๊กอิน “Simple Cloudflare Turnstile” จาก WordPress Plugin Directory

3. ไปที่ Settings → Cloudflare Turnstile ใส่ Key ทั้งสอง แล้วเลือกเปิดใช้กับ Contact Form 7 หรือ WPForms

4. Turnstile Widget จะปรากฏในฟอร์มอัตโนมัติ ผู้ใช้แค่คลิกยืนยันครั้งเดียว

เทคนิค Anti-Spam เพิ่มเติม

นอกจาก CAPTCHA แล้ว ยังมีเทคนิคอื่นช่วยกรอง Spam ได้:

Honeypot Field — เพิ่มฟิลด์ซ่อนที่มนุษย์มองไม่เห็น แต่ Bot จะกรอกข้อมูล ถ้ามีข้อมูลในฟิลด์นี้ก็รู้ว่าเป็น Bot ปลั๊กอิน “Honeypot for Contact Form 7” ช่วยเพิ่มฟีเจอร์นี้ได้ทันที

Akismet — ปลั๊กอิน Anti-Spam ของ WordPress ที่ตรวจจับ Spam Comment และ Form Submission ผ่าน Cloud Database ใช้ฟรีสำหรับเว็บส่วนตัว

Rate Limiting — จำกัดจำนวนครั้งที่ส่งฟอร์มต่อ IP ต่อนาที ป้องกัน Bot ส่งฟอร์มรัวๆ สามารถตั้งค่าผ่าน Cloudflare WAF Rules ได้

ทดสอบฟอร์ม

หลังตั้งค่าเสร็จ ควรทดสอบฟอร์มทุกครั้ง ตรวจสอบว่าอีเมลส่งถึงจริง ข้อความไม่เข้า Spam Folder และ CAPTCHA ทำงานถูกต้อง ถ้าไม่ได้รับอีเมล ให้ติดตั้งปลั๊กอิน “WP Mail SMTP” เพื่อส่งอีเมลผ่าน SMTP Server แทน PHP mail() ซึ่งมักถูก Block บน Cloud VPS

สรุป

การตั้งค่าฟอร์มติดต่อพร้อม Anti-Spam บน WordPress ที่ใช้งานบน Cloud VPS ของ de.co.th ไม่ยากเลย เลือก Contact Form 7 ถ้าชอบความยืดหยุ่น หรือ WPForms ถ้าต้องการ Drag & Drop แล้วเสริมด้วย reCAPTCHA v3 หรือ Cloudflare Turnstile ป้องกัน Spam ได้อย่างมีประสิทธิภาพ