วิเคราะห์ log ของ AI crawler: ดูจาก server log ว่ามีโมเดลใหญ่ตัวไหนอ่านคุณบ้าง
หนึ่ง ทำไม log จึงให้สัญญาณเร็วกว่าเครื่องมือจัดอันดับ
วิธีที่องค์กรส่วนใหญ่ใช้ตัดสินผล GEO คือค้นหาคำถามสองสามข้อแล้วดูว่า AI พูดถึงตัวเองไหม วิธีนี้มีปัญหา คือ ตัวอย่างน้อยเกินไป ใช้เวลานานเกินไป และสรุปผลไม่น่าเชื่อถือ — คุณแยกไม่ออกว่า “ไม่ถูกอ้างอิง” เพราะ “ไม่ถูกอ่าน” หรือ “ถูกอ่านแล้วแต่ไม่ได้เลือกคุณ”
แต่ server log ตอบคำถามที่อยู่ต้นทางกว่าได้ คือ พวกมันเข้ามาอ่านจริงหรือไม่
ช่วงเวลาต่างกันประมาณนี้:
| ระยะ | 現象 | ตำแหน่งที่สังเกตได้ |
|---|---|---|
| สัปดาห์ที่ 1 | AI crawler เริ่มเข้าถึงเนื้อหาใหม่ | server log |
| สัปดาห์ที่ 2–4 | ความถี่ในการดึงข้อมูลเพิ่มขึ้น ครอบคลุมหน้าอื่นมากขึ้น | server log |
| สัปดาห์ที่ 4–8 | เนื้อหาเข้าสู่ดัชนีการค้นคืน | สังเกตโดยตรงไม่ได้ |
| สัปดาห์ที่ 8–16 | เริ่มมีการอ้างอิงในคำตอบของ AI | ตรวจสอบด้วยคน / เครื่องมือติดตาม |
สัญญาณแรกที่สังเกตได้ปรากฏใน log และเร็วกว่าผลลัพธ์สุดท้าย 6–12 สัปดาห์ นั่นหมายความว่า ถ้าคุณไม่ดู log คุณจะรออย่างมืดบอดสองเดือนในสภาพ “ไม่มีสัญญาณตอบกลับอะไรเลย” แต่ถ้าดู log สัปดาห์แรกก็ยืนยันได้แล้วว่า “ช่องทางเปิดอยู่”
“ช่องทางเปิดหรือไม่” คือคำถามพื้นฐานที่สุดของ GEO ถ้าใน log ไม่มีบันทึกการเข้าถึงของ AI crawler เลย เนื้อหาจะเขียนดีแค่ไหนก็ไม่มีผลลัพธ์ — ปัญหาอยู่ที่ช่องทาง (robots.txt, CDN, WAF, การตั้งค่า server) ไม่ใช่ที่เนื้อหา
สอง ตัวตนและความหมายของ AI crawler 5 ประเภท
แก้ปัญหา “ดูใคร” ก่อน ตอนนี้ crawler ที่เกี่ยวข้องกับ AI แบ่งได้เป็น 5 ประเภท กลยุทธ์การจัดการและความหมายต่างกันโดยสิ้นเชิง:
| หมวด | UA ตัวแทน | ใช้ทำอะไร | หมายความว่าอะไรสำหรับคุณ |
|---|---|---|---|
| ประเภทค้นคืน | OAI-SearchBot、PerplexityBot、ClaudeBot(บางส่วน) |
ดึงเนื้อหาเว็บเพื่อตอบคำถามแบบเรียลไทม์ | สำคัญที่สุด: มันดึง = คุณมีโอกาสถูกอ้างอิง |
| ประเภทฝึกโมเดล | GPTBot、Google-Extended、CCBot、anthropic-ai |
ใช้ฝึกโมเดล | ถูกอ่านไม่เท่ากับถูกอ้างอิงโดยตรง แต่มีผลต่อคลังข้อมูลระยะยาว |
| ประเภทผู้ใช้กระตุ้น | ChatGPT-User、Claude-User、Perplexity-User |
ผู้ใช้สั่งให้ AI เข้าถึงลิงก์ใดลิงก์หนึ่งเอง | คุณค่าสูงสุด: มีคนเอาลิงก์ของคุณให้ AI จริงๆ |
| ค้นหาแบบดั้งเดิม | Googlebot、Bingbot |
ดัชนีของเครื่องมือค้นหา | ยังเป็นพื้นฐานของ GEO (ชั้นค้นคืนของ AI ส่วนใหญ่พึ่งพาดัชนีค้นหา) |
| อื่น ๆ | เครื่องมือ SEO ต่างๆ การติดตาม crawler | เก็บข้อมูล | ไม่เกี่ยวกับ GEO แต่มีผลต่อสถิติใน log |
crawler 3 ประเภทที่ควรจับตามากที่สุด เรียงตามลำดับความสำคัญคือ:
ChatGPT-Userประเภท—— ปรากฏขึ้นแปลว่า “มีคนแปะลิงก์ของคุณให้ AI” นี่คือสัญญาณความตั้งใจที่แรงที่สุดOAI-SearchBot/PerplexityBot—— ปรากฏขึ้นแปลว่าคุณเข้าสู่ขอบเขตตัวเลือกของชั้น retrievalGPTBot/Google-Extended—— สะสมคลังข้อมูลระยะยาว ระยะสั้นยังไม่สร้าง citation โดยตรง
วิธีตรวจสอบ: อย่าดูแค่ UA string เพราะปลอมได้ แนะนำให้ตรวจสอบสองชั้น:
| วิธีตรวจสอบ | แนวทาง |
|---|---|
| Reverse DNS lookup | ตรวจสอบว่า IP เป็นขององค์กรที่อ้างจริงหรือไม่ (เช่น IP range ของ OpenAI) |
| เทียบกับรายการ IP อย่างเป็นทางการ | ผู้ให้บริการ AI รายใหญ่ประกาศ IP range ไว้ อัปเดตและเทียบเป็นประจำ |
| ลักษณะพฤติกรรม | ความถี่ในการ crawl รูปแบบ path ว่าเคารพ robots.txt หรือไม่ |
ในบรรดานี้ “Reverse DNS + เทียบ IP range” คือหัวใจของการตัดสินว่าจริงหรือปลอม เครื่องมือ SEO จำนวนมากปลอม UA เข้าไปดึงหน้าเว็บมาวิเคราะห์ ถ้าไม่ตรวจสอบ จะทำให้ใน log ดูเหมือนว่า “AI crawler กำลังทำงานหนัก” ทั้งที่ไม่จริง
สาม วิธีวิเคราะห์ log 4 ขั้นตอน
ขั้นที่หนึ่ง: ดึงข้อมูล
กรองคำขอที่สงสัยว่าเป็น crawler ทั้งหมดออกจาก log ของ Web server (Nginx / Apache) หรือ CDN
| แหล่ง log | เห็นอะไรได้บ้าง | ข้อควรระวัง |
|---|---|---|
| access log ของ server | คำขอเต็มรูปแบบ (IP, UA, path, status code, เวลา) | ต้องยืนยันว่าไม่ถูก log rotation ตัดทิ้ง |
| log ของ CDN | ครบถ้วนกว่า (รวมคำขอที่ถูก CDN cache ดักไว้) | ปกติต้องเปิดแยกต่างหาก |
| log ของ WAF | คำขอที่ถูกบล็อก | สำคัญ: ดูได้ว่ามี crawler ถูกบล็อกผิดหรือไม่ |
ปัญหาที่พบบ่อย: log เก็บไว้แค่ 7 วัน แนะนำให้ปรับระยะเวลาเก็บ log เป็น 90 วันขึ้นไป—— เพราะ AI crawler crawl ไม่บ่อย ตัวอย่างน้อยเกินไปจะสรุปไม่ได้
ขั้นที่สอง: แยกประเภท
แยกคำขอตามประเภท crawler, path ของหน้า, status code
| มิติในการแยกประเภท | ใช้ทำอะไร |
|---|---|
| ตามประเภท crawler | ดูว่า AI ประเภทไหนสนใจคุณ |
| ตาม path ของหน้า | ดูว่าสนใจเนื้อหาประเภทไหน |
| ตาม status code | 200 (สำเร็จ) / 404 (ลิงก์เสีย) / 403 (ถูกปฏิเสธ) / 429 (ถูกจำกัดความเร็ว) |
| ตามการกระจายเวลา | crawl ต่อเนื่องหรือเป็นครั้งคราว |
มิติ status code คือสิ่งที่ถูกมองข้ามมากที่สุด ถ้า OAI-SearchBot คำขอจำนวนมากตอบกลับด้วย 403 (Forbidden) แปลว่า CDN หรือ WAF ของคุณกำลังบล็อกมัน——robots.txt อนุญาตแล้ว แต่ช่องทางจริงถูกปิดกั้น ผลคือ “คิดว่าอนุญาตแล้ว แต่จริงๆ อ่านไม่สำเร็จแม้แต่ครั้งเดียว”
ขั้นที่สาม: สถิติ
คำนวณตัวชี้วัดสำคัญ 5 ตัว (อธิบายละเอียดในหัวข้อถัดไป) และเทียบแนวโน้มรายสัปดาห์
ขั้นที่สี่: ตีความ
จับคู่ผลสถิติกับการดำเนินการ:
| 現象 | การประเมิน | การดำเนินการ |
|---|---|---|
| ไม่มีบันทึก AI crawler เลย | ช่องทางถูกปิดกั้น | ตรวจสอบ robots.txt, CDN, WAF, กฎบล็อก UA ของ server |
| มีแต่ crawler ประเภท training | เข้าไปในคลังข้อมูลระยะยาวแล้ว แต่ยังไม่เข้า retrieval | ตรวจสอบโครงสร้างเนื้อหา (สกัดได้หรือไม่) เพิ่ม FAQ และย่อหน้าสรุป |
| มี crawler ประเภท retrieval แต่ปริมาณน้อย | เนื้อหาครอบคลุมไม่พอหรือน้ำหนักไม่ถึง | ขยายความครอบคลุมของเนื้อหา เพิ่มแหล่งอ้างอิงภายนอก |
| มีประเภท retrieval และเติบโตต่อเนื่อง | ทิศทางถูกต้อง | รักษาจังหวะ เน้นดูว่าถูกอ้างอิงแค่ไหน |
| มีประเภทที่ผู้ใช้กระตุ้น | มีผู้ใช้จริงนำเนื้อหาของคุณไปถาม AI แล้ว | บันทึกหน้าเหล่านี้ไว้ แล้วเน้นปรับแต่งเป็นพิเศษ (มีผู้ใช้จริงเข้าใช้งานแล้ว) |
ตัวชี้วัดหลัก 4-5 ตัวและเกณฑ์การตัดสิน
| ตัวชี้วัด | วิธีคำนวณ | เกณฑ์การตัดสิน (อ้างอิง) |
|---|---|---|
| จำนวนการเข้าถึงทั้งหมดของ AI crawler(รายสัปดาห์) | จำนวนคำขอแบบ retrieval + training + ที่ผู้ใช้กระตุ้น | ต้องมากกว่า 0 อยู่เสมอเป็นขั้นต่ำ; ถ้าเพิ่มขึ้นเมื่อเทียบสัปดาห์ก่อนจะดีมาก |
| สัดส่วน retrieval | retrieval / AI crawler ทั้งหมด | ยิ่งสูงยิ่งดี (แสดงว่าเข้าไปอยู่ในชั้น real-time retrieval แล้ว) |
| จำนวนหน้าที่ถูกครอบคลุม(ไม่นับซ้ำ) | จำนวน URL ที่แตกต่างกันซึ่ง AI crawler เข้ามา | ควรใกล้เคียงกับจำนวนหน้าหลักทั้งหมดของคุณ |
| อัตราความสำเร็จ | การตอบกลับ 2xx / คำขอทั้งหมดของ AI crawler | ควร > 95%; ถ้าต่ำกว่า 90% ต้องตรวจสอบช่องทาง |
| เวลาที่หน้าใหม่ถูก crawl ครั้งแรก | จำนวนวันตั้งแต่เผยแพร่เนื้อหาจนถูก crawl ครั้งแรก | 1-7 วันถือว่าปกติ; > 14 วันแสดงว่าช่องทางช้าหรือถูกมองข้าม |
ในบรรดาตัวชี้วัดเหล่านี้ “เวลาที่หน้าใหม่ถูก crawl ครั้งแรก” เป็นตัวชี้วัดด้านปฏิบัติการที่ใช้ประโยชน์ได้จริงที่สุด มันเหมือน “เทอร์โมมิเตอร์วัดสุขภาพช่องทาง”: เผยแพร่บทความใหม่หนึ่งชิ้น แล้วนับจำนวนวัน ถ้าถูก crawl ภายใน 7 วัน แสดงว่าช่องทางสุขภาพดี; ถ้าสองสามสัปดาห์ยังเงียบ แสดงว่ามีปัญหาที่ต้องตรวจสอบ
ตัวชี้วัดเสริม (ถ้ามีระบบติดตาม conversion): นับ “การเข้าชมที่มาจาก AI” ซึ่งต้องติดตามบนเซิร์ฟเวอร์หรือฝั่ง frontend referrer สำหรับทราฟฟิกที่มาจากผลิตภัณฑ์ AI (เช่น chat.openai.com、perplexity.ai). ปริมาณการเข้าชมประเภทนี้มักน้อยมาก แต่มี intent สูงมาก——ผู้ใช้เห็นคุณในคำตอบของ AI แล้วจึงคลิกเข้ามา
ห้า ความเข้าใจผิดที่พบบ่อย 4 ข้อ
| เข้าใจผิด | อาการ | ความจริง |
|---|---|---|
| คิดว่า Googlebot เป็น AI crawler | เห็น Googlebot แล้วคิดว่า GEO ได้ผล | Googlebot เป็น crawler สำหรับ index ของ search engine คนละสายกับ AI retrieval (แต่มีส่วนทับซ้อนกัน) |
| แคชของ CDN ทำให้ log หาย | ใน log มีแค่คำขอที่ถึง origin | คำขอที่ CDN ตอบกลับโดยตรงจะไม่ปรากฏใน log ของ origin ต้องดู log ของ CDN |
| เนื้อหาที่ render ด้วย JS ถูก crawl ไม่ได้ | crawler มาแล้ว แต่เนื้อหาหน้าว่างเปล่า | ถ้าเนื้อหาสำคัญ render ด้วย JS AI crawler บางตัวไม่ execute JS จะอ่านได้แต่เปลือกเปล่า |
| ดูแค่ UA ไม่ตรวจ IP | ใน log มี “AI crawler” ทำงานผิดปกติ | ส่วนใหญ่เป็นเครื่องมือ SEO ที่ปลอม UA |
ข้อที่สองและข้อที่สามเป็นปัญหาเชิงเทคนิคล้วน แต่ผลกระทบสูงมาก:
- แคชของ CDN: ถ้า CDN ตั้งค่าเป็น “แคช HTML” คำขอของ crawler จำนวนมากจะไม่ถึง origin ทำให้ดูจาก log ของ origin ไม่เห็นปริมาณการ crawl จริง วิธีที่ถูกต้องคือดู log ของ CDN หรือตั้งค่าไม่แคช HTML (หรือแคชสั้นๆ)
- การ render ด้วย JS: AI crawler และ search engine crawler บางตัวไม่ execute JavaScript ถ้าพารามิเตอร์สินค้า ตารางสเปกของคุณโหลดด้วย JS ฝั่ง frontend แล้ว สิ่งที่มันอ่านได้อาจเป็นหน้าว่างเปล่า. นี่เป็นสาเหตุที่พบบ่อยของกรณี “เนื้อหามีอยู่ชัดๆ แต่ไม่ถูกอ้างอิง”
วิธีตรวจสอบ: ใช้curl ดึงหน้าโดยตรง (ไม่ execute JS) ดูว่า HTML ที่ตอบกลับมามีเนื้อหาสำคัญหรือไม่ ถ้าไม่มี ต้องทำ server-side rendering หรือเปลี่ยนเนื้อหาสำคัญให้เป็น static output
หก จาก log สู่การลงมือทำกับเนื้อหา
คุณค่าของล็อกอยู่ที่它能ตอบว่า “ฉันควรแก้อะไร” ด้านล่างคือความสัมพันธ์เชิงการแมป:
| สิ่งที่พบจากล็อก | การดำเนินการฝั่งเนื้อหา | การดำเนินการฝั่งเทคนิค |
|---|---|---|
| หน้าเว็บบางประเภทไม่เคยถูกดึงข้อมูล | ตรวจสอบว่าหน้าเหล่านี้มองเห็นได้ในเมนูนำทางหรือมีลิงก์ภายในหรือไม่ | ตรวจสอบว่าถูกบล็อกผิดพลาดโดย robots.txt หรือไม่ |
| การดึงข้อมูลกระจุกตัวอยู่ในหน้าเว็บไม่กี่หน้า | หน้าอื่นๆ อาจมีน้ำหนักไม่เพียงพอ | ปรับปรุงโครงสร้างลิงก์ภายในเว็บไซต์ |
| ดึงข้อมูลบ่อยแต่ไม่มีการอ้างอิง | ความหนาแน่นของข้อเท็จจริงในเนื้อหาไม่เพียงพอ โครงสร้างไม่สามารถดึงออกมาได้ | เพิ่มย่อหน้าสรุป ตาราง FAQ |
| พบ 404 จำนวนมาก | มีลิงก์เสีย | ซ่อมแซมลิงก์และการเปลี่ยนเส้นทาง |
| ดึงข้อมูลหน้าเดิมซ้ำๆ แต่สถานะเป็น 403 | ถูก WAF / CDN สกัดกั้น | ปรับกฎเพื่ออนุญาต AI crawler ที่ถูกต้องตามกฎหมาย |
| crawler ที่ผู้ใช้กระตุ้นกระจุกตัวอยู่ในไม่กี่หน้า | เนื้อหาเหล่านี้ถูกใช้งานโดยผู้ใช้จริงแล้ว | เพิ่มลิงก์ที่เกี่ยวข้องและจุดเข้าถึงการแปลงบนหน้าเหล่านี้ |
ข้อเสนอจังหวะการใช้งานจริง:
| ความถี่ | การดำเนินการ | เวลา |
|---|---|---|
| ทุกสัปดาห์ | ดูปริมาณรวมและเวลาที่หน้าใหม่ถูกดึงครั้งแรก | 10 นาที |
| ทุกเดือน | สถิติแยกตามหมวดหมู่ + การวิเคราะห์อัตราความครอบคลุม | 1 ชั่วโมง |
| ทุกไตรมาส | ตรวจสอบอย่างครอบคลุม (รวมถึงการตรวจสอบ IP, รหัสสถานะ, การแมปเนื้อหา) | ครึ่งวัน |
FAQ คำถามที่พบบ่อย
| ลำดับ | รายการตรวจสอบ | ปัญหาที่พบบ่อย |
|---|---|---|
| 1 | robots.txt | Disallow UA ที่เกี่ยวข้องหรือเขียน wildcard ผิดพลาดหรือไม่ |
| 2 | CDN / WAF | สกัดกั้นตาม UA หรือไม่ (WAF จำนวนมากสกัดกั้น UA “ที่ไม่ใช่มนุษย์” โดยค่าเริ่มต้น) |
| 3 | การตั้งค่าเซิร์ฟเวอร์ | Nginx/Apache มีกฎจำกัด crawler หรือไม่ |
| 4 | ตัวล็อกเอง | ล็อกเก็บไว้เพียงไม่กี่วันหรือถูก CDN cache บดบังหรือไม่ |
| 5 | ขนาดเว็บไซต์ | เว็บใหม่หรือมีหน้าเว็บน้อยมาก ความถี่ในการดึงข้อมูลย่อมต่ำอยู่แล้ว |
| ตัวเลือก | ข้อดี | ข้อเสีย |
|---|---|---|
| อนุญาต | เข้าสู่คลังข้อมูลระยะยาว โมเดลในอนาคต “รู้จักคุณโดยกำเนิด” | เนื้อหาถูกใช้โดยไม่มีค่าตอบแทน |
| อนุญาตบางส่วน | เปิดสำหรับการค้นหา จำกัดการฝึก | ได้ทั้งสองอย่าง |
| ปฏิเสธทั้งหมด | ปกป้องเนื้อหา | ออกจากการแข่งขัน GEO โดยพื้นฐาน |
| วิธีการ | แนวทาง | เหมาะ |
|---|---|---|
| บรรทัดคำสั่ง + สคริปต์ | grep / awk ดึง UA และ IP, Python ทำสถิติ | ทีมเทคนิค ปริมาณไม่มาก |
| แพลตฟอร์มวิเคราะห์ล็อก | เชื่อมต่อล็อก CDN ทำการแสดงภาพและการแจ้งเตือน | มีงบประมาณด้านปฏิบัติการ |
| การตรวจสอบแบบครบวงจร | รายงาน crawler ที่มีอยู่ในเครื่องมือตรวจสอบเว็บไซต์ | เริ่มต้นได้อย่างรวดเร็ว |
| สถานการณ์ | การประเมิน | การดำเนินการ |
|---|---|---|
| ประเภทฝึกโมเดลลดลง ประเภทค้นคืนคงที่ | ความผันผวนปกติ | ไม่ต้องดำเนินการ |
| ประเภทค้นคืนลดลง | การอัปเดตเนื้อหาหยุดชะงักหรือน้ำหนักลดลง | ตรวจสอบจังหวะการอัปเดตเนื้อหาและแหล่งอ้างอิงภายนอก |
| ดิ่งเหลือศูนย์ทันที | ช่องทางถูกปิดกั้น | ตรวจสอบทันทีว่า robots / CDN / WAF มีการเปลี่ยนแปลงหรือไม่ |
| ความผันผวนตามฤดูกาล | ฤดูงานแสดงสินค้าและวันหยุดมีผลต่อการบริโภคเนื้อหาในอุตสาหกรรม | สังเกต 2–4 สัปดาห์ก่อนตัดสิน |
| คำถาม | สังเกตได้ | วิธีสังเกต |
|---|---|---|
| ถูกอ่านแล้วหรือยัง | ✅ | log ของเซิร์ฟเวอร์ / CDN |
| ถูก index แล้วหรือยัง | ⚠️ บางส่วน | Search Console (การค้นหาแบบดั้งเดิม) ฝั่ง AI มองไม่เห็น |
| ถูกอ้างอิงแล้วหรือยัง | ❌ | สุ่มตรวจด้วยชุดคำถามคงที่ หรือใช้เครื่องมือติดตาม |
| อายุเว็บไซต์ | สถานการณ์ทั่วไป |
|---|---|
| 0–1 เดือน | มีน้อยหรือไม่มีเลย เน้นให้แน่ใจว่าถูก search engine index ก่อน |
| 1–3 เดือน | เริ่มมี crawler ของการค้นหาแบบดั้งเดิมและ AI crawler จำนวนเล็กน้อย |
| 3–6 เดือน | AI crawler เข้าชมสม่ำเสมอ ครอบคลุมหน้าหลัก |
| 6 เดือนขึ้นไป | ความถี่การ crawl ประเภทค้นคืนเพิ่มขึ้น เริ่มมีการอ้างอิง |
ทิ้งท้าย
สิ่งที่ทำให้กังวลที่สุดในเรื่อง GEO คือ “มองไม่เห็น” — ไม่เหมือนโฆษณาที่มีข้อมูลคลิกแบบเรียลไทม์ และไม่เหมือน SEO ที่มีอันดับให้จับตา ส่วน log ของเซิร์ฟเวอร์ก็เติมเต็มช่องว่างตรงนี้พอดี。
มันไม่บอกว่า “คุณถูกอ้างอิงหรือยัง” แต่บอกสามเรื่องที่สำคัญกว่าว่า:ช่องทางผ่านหรือไม่ เนื้อหาถูกอ่านถึงหรือยัง และหน้าไหนกำลังถูกอ่าน
เมื่อได้สามคำตอบนี้ GEO ก็เปลี่ยนจาก “เขียนเนื้อหาตามความรู้สึก” เป็น “งานวิศวกรรมที่มี feedback” —นี่คือจุดเริ่มต้นที่จะทำให้เรื่องนี้ทำได้อย่างมั่นคง
