AI crawlers กำลังทำให้ตัวเลขทราฟฟิกของคุณสูงเกินจริง และวิธีลัดแบบเดิมๆ อย่างการตรวจสอบ User-Agent header ก็ไม่สามารถตรวจจับได้
จากการตรวจสอบ log ย้อนหลัง 8 วัน พบว่ามีการดึงบทความจริงเพียง 468 ครั้ง แต่มีคำขอถึง 991 ครั้งที่แอบอ้างว่าเป็นบอท AI ในขณะที่จริงๆ แล้วกำลังสแกนหาไฟล์อย่าง .env หรือ .git ตัวการคืออะไรน่ะหรือ? ใครก็สามารถใส่ข้อความ User-Agent ที่ระบุเอง เช่น GPTBot หรือ ChatGPT-User ลงใน HTTP request ได้ทั้งนั้น
ทำไมตัวเลขนี้ถึงสำคัญ
เว็บไซต์ต่างๆ มักมองว่าการเพิ่มขึ้นของ “AI traffic” เป็นสัญญาณของความนิยม พวกเขาใช้ตัวเลขเหล่านี้เพื่อยืนยันราคาโฆษณา จัดสรรทรัพยากรเซิร์ฟเวอร์ และใช้อวดนักลงทุน แต่เมื่อครึ่งหนึ่งของยอดการเข้าถึง AI ที่รายงานมาเป็นเพียงข้อมูลขยะ งบประมาณก็อาจถูกใช้ไปอย่างผิดพลาด และแดชบอร์ดก็แสดงข้อมูลที่บิดเบือน
ตัวกรองสองชั้นที่แยกความจริงออกจากคำกล่าวอ้าง
verifiedBotCategoryของ Cloudflare – Cloudflare จะกรอกข้อมูลในฟิลด์นี้ก็ต่อเมื่อสามารถตรวจสอบ IP ของคำขอผ่าน reverse DNS กลับไปยังโดเมนของบอทที่รู้จักได้จริงเท่านั้น หาก header ระบุว่าเป็น “GPTBot” แต่ IP ไม่ผ่านการตรวจสอบ คำขอนั้นจะถูกจัดอยู่ในกลุ่ม “unverified” (ไม่ได้รับการยืนยัน)- การตรวจสอบย้อนกลับกับ 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
