AI crawlers กำลังทำให้ตัวเลขทราฟฟิกของคุณสูงเกินจริง และวิธีลัดแบบเดิมๆ อย่างการตรวจสอบ User-Agent header ก็ไม่สามารถตรวจจับได้

จากการตรวจสอบ log ย้อนหลัง 8 วัน พบว่ามีการดึงบทความจริงเพียง 468 ครั้ง แต่มีคำขอถึง 991 ครั้งที่แอบอ้างว่าเป็นบอท AI ในขณะที่จริงๆ แล้วกำลังสแกนหาไฟล์อย่าง .env หรือ .git ตัวการคืออะไรน่ะหรือ? ใครก็สามารถใส่ข้อความ User-Agent ที่ระบุเอง เช่น GPTBot หรือ ChatGPT-User ลงใน HTTP request ได้ทั้งนั้น

ทำไมตัวเลขนี้ถึงสำคัญ

เว็บไซต์ต่างๆ มักมองว่าการเพิ่มขึ้นของ “AI traffic” เป็นสัญญาณของความนิยม พวกเขาใช้ตัวเลขเหล่านี้เพื่อยืนยันราคาโฆษณา จัดสรรทรัพยากรเซิร์ฟเวอร์ และใช้อวดนักลงทุน แต่เมื่อครึ่งหนึ่งของยอดการเข้าถึง AI ที่รายงานมาเป็นเพียงข้อมูลขยะ งบประมาณก็อาจถูกใช้ไปอย่างผิดพลาด และแดชบอร์ดก็แสดงข้อมูลที่บิดเบือน

ตัวกรองสองชั้นที่แยกความจริงออกจากคำกล่าวอ้าง

  1. verifiedBotCategory ของ Cloudflare – Cloudflare จะกรอกข้อมูลในฟิลด์นี้ก็ต่อเมื่อสามารถตรวจสอบ IP ของคำขอผ่าน reverse DNS กลับไปยังโดเมนของบอทที่รู้จักได้จริงเท่านั้น หาก header ระบุว่าเป็น “GPTBot” แต่ IP ไม่ผ่านการตรวจสอบ คำขอนั้นจะถูกจัดอยู่ในกลุ่ม “unverified” (ไม่ได้รับการยืนยัน)
  2. การตรวจสอบย้อนกลับกับ Sitemap – บอทจะอ่านเนื้อหาของคุณจริงๆ ก็ต่อเมื่อ URL ที่ถูกเรียกนั้นปรากฏอยู่ใน XML sitemap ของคุณเท่านั้น คำขอที่เรียกไปยังเส้นทาง (path) ที่ไม่มีอยู่ใน sitemap มักจะเป็นการสแกนหาช่องโหว่มากกว่าการเข้ามาทำดัชนี (index) บทความ

เมื่อนำตัวกรองทั้งสองมาใช้กับกลุ่มตัวอย่าง 8 วันเดียวกัน จะได้ตัวเลขที่แตกต่างกันอย่างชัดเจน:

  • ChatGPT-User – มีคำขอเพียง 39% ที่ผ่านการตรวจสอบ
  • GPTBot – ผ่านการตรวจสอบ 13%
  • PerplexityBot – ผ่านการตรวจสอบ 0%
  • Google-Extended – ผ่านการตรวจสอบ 0%; ข้อความนี้ไม่ตรงกับ Google crawler อย่างเป็นทางการตัวใดเลย

แม้แต่ในกลุ่มคำขอที่ผ่านการยืนยัน บอทจำนวนมากก็ดึงไปเพียงแค่ robots.txt หรือตัว sitemap เอง ไม่ใช่หน้าบทความที่คุณให้ความสำคัญ

สิ่งที่นักพัฒนาสามารถทำได้ในวันนี้

  • เปิดใช้งานการยืนยันบอทของ Cloudflare (Cloudflare bot verification) ในระบบวิเคราะห์ข้อมูลของคุณ ฟิลด์ verifiedBotCategory จะปรากฏใน request headers และสามารถจัดเก็บไว้พร้อมกับ log ของคุณได้
  • รักษา sitemap ให้เป็นปัจจุบันเสมอ และสร้างระบบอัตโนมัติเพื่อตรวจสอบว่าทุก path ของคำขอที่เข้ามานั้นมีอยู่ใน sitemap ก่อนที่คุณจะนับว่าเป็นยอดการเข้าชมเนื้อหา
  • กรอง method ที่ไม่ใช่ GET ออก และคำขอที่มุ่งเป้าไปยังไฟล์สำหรับการพัฒนาทั่วไป (.env, .git, .bak) สิ่งเหล่านี้มักจะเป็นการสแกนที่ประสงค์ร้ายเสมอ

มุมมองที่ต่างออกไป

บางคนแย้งว่าการตรวจสอบ reverse DNS สามารถถูกปลอมแปลงได้ และจุดประสงค์ที่ชอบธรรมของบอทอาจเป็นการค้นหา URL ใหม่ๆ ที่ยังไม่ได้ระบุไว้ใน sitemap ข้อกังวลเหล่านี้มีเหตุผล: ผู้โจมตีที่มีความมุ่งมั่นอาจเจาะระบบบันทึก DNS ได้ และเนื้อหาใหม่ๆ ย่อมจะยังไม่อยู่ใน sitemap ปัจจุบันจนกว่าจะถึงรอบการสร้างใหม่

คำตอบที่นำไปใช้ได้จริงคือ ให้มองว่าการยืนยันเป็น "คะแนนความน่าเชื่อถือ" (confidence score) แทนที่จะเป็นเกณฑ์ตัดสินแบบเบ็ดเสร็จ จงใช้การยืนยัน DNS, การมีอยู่ของ sitemap และการตรวจสอบ request-method ร่วมกันเพื่อยกระดับมาตรฐานของสิ่งที่คุณจะนับว่าเป็น “AI traffic จริง” หากคำขอใดผ่านการตรวจสอบ 2 ใน 3 อย่าง ให้ทำเครื่องหมายไว้เพื่อตรวจสอบด้วยตนเองแทนที่จะตัดทิ้งไปทันที

สิ่งที่ต้องจับตามองต่อไป

  • การเปลี่ยนแปลงใน verification API ของ Cloudflare – การเปลี่ยนแปลงใดๆ ในตรรกะของ verifiedBotCategory อาจส่งผลต่ออัตราการยืนยัน
  • การปรากฏขึ้นของบอทใหม่ๆ ที่ระบุตัวตนเอง – คอยสังเกตข้อความ User-Agent ที่ปรากฏใน log ของคุณ การพุ่งสูงขึ้นอย่างกะทันหันอาจบ่งชี้ถึงสแกนเนอร์ตัวใหม่ที่ปลอมแปลงเป็น AI crawler
  • ความถี่ในการสร้าง sitemap – ช่วงเวลาที่ห่างกันนานเกินไปจะเพิ่มโอกาสที่ crawler ที่ถูกกฎหมายจะถูกจัดประเภทผิดพลาด

บทสรุปนั้นง่ายมาก: เลิกใช้ข้อความ User-Agent เป็นหลักฐานยืนยัน ให้ใช้การยืนยัน DNS และการตรวจสอบ sitemap ควบคู่กันไป แล้วคุณจะเห็นภาพที่ชัดเจนขึ้นว่าใครกันแน่ที่กำลังอ่านเนื้อหาของคุณจริงๆ

Source: https://dev.to/aulvem/ai-crawler-user-agents-are-self-reported-468-real-fetches-991-fake-ones-bgo