แนวคิดพื้นฐานของ GEO: AI Search Engine อ่าน เข้าใจ และอ้างอิงเนื้อหาบนเว็บอย่างไร
1. ความแตกต่างแท้จริงระหว่าง AI Search Engine กับ crawler แบบดั้งเดิม
Search Engine แบบดั้งเดิมเก็บหน้าเว็บกลับมาสร้าง inverted index เมื่อผู้ใช้ค้นหาคำ จะให้คะแนนตามความถี่ของคำและ backlink แล้วคืนลิงก์สีน้ำเงิน 10 รายการ AI Search Engine ทำเพิ่มอีกหนึ่งขั้น คือส่งเนื้อหาหน้าเว็บเข้าโมเดลขนาดใหญ่ ให้โมเดลตัดสินเองว่าย่อหน้าไหนตอบคำถามนี้ได้ แล้วสร้างคำตอบให้ผู้ใช้โดยตรงพร้อมแนบลิงก์ต้นทาง
การเปลี่ยนแปลงขั้นนี้ส่งผลโดยตรงสองอย่าง อย่างแรก ผู้ใช้จะไม่คลิกเข้ามาอีก ทราฟฟิกของคุณเปลี่ยนจาก “คลิกเข้าชม” เป็น “ถูกอ้างอิงก็คือการเปิดตัว” อย่างที่สอง AI ไม่ต้องการให้ทั้งบทความดี มันแค่ต้องเจอประโยคหนึ่งที่ตอบคำถามได้โดยตรง ดังนั้นย่อหน้าที่อยู่ท้ายบทความยาว แม้เขียนละเอียดแค่ไหน โอกาสถูกอ้างอิงก็ลดลงอย่างชัดเจน
| ขั้นตอน | Search Engine แบบดั้งเดิม | AI Search Engine | ความหมายต่อเนื้อหา |
|---|---|---|---|
| สิ่งที่เก็บข้อมูล | HTML ทั้งหน้า | HTML ทั้งหน้า + การเรนเดอร์ JS | เว็บที่เรนเดอร์ด้วย JS ล้วนมักกลายเป็นหน้าเปล่าใน AI Engine |
| วิธีทำความเข้าใจ | ความถี่ของคำ, backlink, การจัดกลุ่มเชิงความหมาย | โมเดลขนาดใหญ่ดึง chunk ตาม query | ย่อหน้าต้องสมบูรณ์ในตัวเอง ไม่พึ่งบริบท |
| รูปแบบผลลัพธ์ | ลิงก์สีน้ำเงิน 10 รายการ | คำตอบหนึ่งย่อหน้าพร้อมลิงก์ต้นทาง 3 ถึง 7 รายการ | เป้าหมายเปลี่ยนจากอันดับหนึ่งเป็นการถูกประโยคคำตอบอ้างอิง |
| ตัวชี้วัดที่ติดตาม | การเปิดตัว, การคลิก, อันดับ | จำนวนครั้งที่ถูกอ้างอิง, ตำแหน่งที่ถูกอ้างอิง, แหล่งที่ถูกอ้างอิงร่วม | ต้องรันชุดคำถามคงที่เดือนละครั้ง |
เมื่อเข้าใจความแตกต่างนี้แล้ว ลองดูการปฏิบัติ GEO ก็จะไม่คิดว่ามันเป็นคำพ้องของ SEO SEO ปรับอันดับ ส่วน GEO ปรับโอกาสที่ประโยคจะถูกดึงออกมา การวิเคราะห์ log ของ AI crawler คือขั้นแรก เริ่มจากยืนยันว่าเว็บไซต์ของคุณถูก bot ตัวไหนอ่านบ้าง แล้วค่อยคุยเรื่องวิธีปรับ
2. ขั้นตอนการเก็บข้อมูล: ต้องผ่านสามด่านก่อน bot จะเข้ามา
บอทที่ใช้ดึงข้อมูลของ AI Search Engine กับ Googlebot เป็นคนละตัวกัน ตัวที่อยู่เบื้องหลังการค้นหาของ ChatGPT คือ OAI-SearchBot กับ GPTBot ส่วน Google AI Overviews ใช้ Googlebot และ Perplexity ใช้ PerplexityBot โดยความถี่ในการดึงข้อมูล ความสามารถในการ render และระดับการปฏิบัติตาม robots ของแต่ละเจ้าไม่เหมือนกัน
| ชื่อบอท | engine ที่สังกัด | ท่าทีต่อ robots โดยค่าเริ่มต้น | จังหวะการดึงข้อมูลโดยทั่วไป |
|---|---|---|---|
| GPTBot | ข้อมูลฝึกของ OpenAI | ต้องอนุญาตอย่างชัดเจน | เว็บใหม่ 1 ถึง 2 สัปดาห์ครั้ง |
| OAI-SearchBot | การอ้างอิงใน ChatGPT Search | ต้องอนุญาตอย่างชัดเจน | ขับเคลื่อนด้วย query ผันผวนสูง |
| Googlebot | Google Search และ AI Overviews | อนุญาตโดยค่าเริ่มต้น | ตามลำดับความสำคัญ วันละหลายครั้ง |
| PerplexityBot | การอ้างอิงในคำตอบ Perplexity | ต้องอนุญาตอย่างชัดเจน | ขับเคลื่อนด้วย query |
| ClaudeBot | Anthropic Claude | ต้องอนุญาตอย่างชัดเจน | ความถี่ต่ำ |
ด่านแรกคือ robots.txt หลายเว็บ B2B ที่อยากกันการเก็บข้อมูลไป Disallow บอทที่ไม่รู้จักทั้งหมดใน robots.txt ผลคือปิดประตูใส่ GPTBot, OAI-SearchBot และ PerplexityBot ไปพร้อมกัน วิธีเช็กง่ายมาก ให้ดู status code ของบอทเหล่านี้ใน server log ย้อนหลัง 30 วัน ถ้าเป็น 4xx ทั้งหมด แปลว่า robots หรือ firewall สกัดไว้
ด่านที่สองคือการ render บอท AI บางตัวดึงแค่ HTML ไม่รัน JS เว็บที่ render ฝั่ง frontend ล้วนจึงกลายเป็นเปลือกเปล่าในสายตาของมัน วิธีเช็กคือใช้ curl ใส่ UA ของบอทตัวนั้นยิงไปที่หน้าแรก แล้วดูว่าผลลัพธ์ที่ได้มีข้อความเนื้อหาหรือไม่ ด่านที่สามคือความเร็ว หน้าที่มี TTFB เกิน 2 วินาทีจะถูกลดลำดับความสำคัญในคิวของบอท ทำให้รอบการดึงข้อมูลใหม่ยืดจาก 3 วันเป็น 2 สัปดาห์
สาม ขั้นทำความเข้าใจ: chunk, entity และประโยคข้อเท็จจริง
โมเดลใหญ่ไม่ได้อ่านหน้าเว็บทีเดียวทั้งหน้า แต่จะตัดหน้าเว็บเป็น chunk ตามหัวข้อหรือตามความยาวคงที่ โดยหน้าต่างการตัดที่พบบ่อยคือ 500 ถึง 1500 ตัวอักษร เมื่อผู้ใช้ถาม engine จะหา chunk 5 ถึง 15 ชิ้นที่เกี่ยวข้องกับคำถามมากที่สุดใน vector database ก่อน แล้วนำ chunk เหล่านั้นไปประกอบเป็น context ให้โมเดล
| วิธีเขียนย่อหน้า | โอกาสถูกดึงกลับมาใช้ | เหตุผล |
|---|---|---|
| “ช่วงที่เหมาะสมที่สุดของฟอร์ม B2B คือ 5 ถึง 7 ฟิลด์บังคับ” | สูง | มีประธาน กริยา และตัวเลขครบ ใช้ได้แม้แยกจากบริบท |
| “การออกแบบฟอร์มของเราผ่านการปรับปรุงมาหลายรอบ ได้ผลลัพธ์ดีมาก” | ต่ำ | ไม่มีตัวเลข ไม่มีวัตถุ โมเดลอ้างอิงไม่ได้ |
| “ดูรายละเอียดในส่วนที่สามด้านล่างเกี่ยวกับจำนวนฟิลด์” | ต่ำ | พึ่งพาบริบท chunk เดี่ยวๆ ไม่มีข้อมูล |
| “เกณฑ์ผ่านของ LCP คือ 2.5 วินาที และ INP คือ 200 มิลลิวินาที” | สูง | ประโยคข้อเท็จจริงมาตรฐาน หยิบใส่คำตอบได้ทันที |
มีข้อสังเกตที่สวนทางสัญชาตญาณอยู่ข้อหนึ่ง ยิ่งเขียนยาว โอกาสที่แต่ละย่อหน้าจะถูกอ้างอิงยิ่งต่ำลง เพราะยิ่งมี chunk มาก โมเดลยิ่งต้องเลือกจากตัวเลือกที่มากขึ้น ข้อเท็จจริงสำคัญจึงเจือจางลง บทความ 3000 ตัวอักษ�้ามี 8 chunk โมเดลเลือกแค่ 2 แปลว่า 75% ของย่อหน้าจะไม่ได้เข้าไปอยู่ในคำตอบแน่นอน ดังนั้นหัวใจของการเขียนแบบ GEO ไม่ใช่การยัดจำนวนคำ แต่คือการยกประโยคข้อเท็จจริงสำคัญขึ้นมาไว้ข้างหน้า ใส่ตัวหนา และแยกเป็นย่อหน้าเดี่ยว
การจดจำ entity เป็นอีกเส้นที่ซ่อนอยู่ โมเดลต้องรู้ก่อนว่าคุณคือบริษัทอะไร ทำสินค้าอะไร และให้บริการตลาดไหน จึงจะรู้ว่าคำตอบของคุณมีประโยชน์กับใคร Knowledge Graph และ Entity Markup และ structured data Schema คือการออกบัตรประชาชนให้ entity เพื่อให้โมเดลไม่ต้องเดา
สี่ ขั้นตอนการอ้างอิง: ถูกอ่านแล้ว ไม่ได้แปลว่าจะถูกอ้างอิง
หลังจากโมเดลสร้างคำตอบแล้ว ยังมีอีกหนึ่งขั้นตอน คือการ map ทุกประโยคในคำตอบกลับไปยัง URL ต้นทาง การ map นี้ไม่ได้เกิดขึ้นอัตโนมัติ แต่พึ่งพาความคล้ายคลึงระหว่างประโยคกับ chunk รวมถึงสัญญาณความน่าเชื่อถือของแหล่งที่มาเอง ถ้าประโยคหนึ่งปรากฏในหลายแหล่งที่เป็นอิสระต่อกัน โมเดลจะเอนเอียงไปอ้างอิงแหล่งที่เชื่อถือได้มากกว่า
| ตำแหน่งที่ถูกอ้างอิง | อาการที่พบ | แนวทางปรับปรุง |
|---|---|---|
| อ้างอิงในประโยคเนื้อหาคำตอบ | ป้าย [1][2] ในคำตอบ Perplexity | ชื่อแบรนด์หรือชื่อมาตรฐานปรากฏตรงในประโยค |
| รายการแหล่งที่มาท้ายคำตอบ | Source ด้านล่างผลการค้นหาของ ChatGPT | หน้าเว็บมีหัวข้อและวันที่เผยแพร่ชัดเจน |
| ถูกอ่านแต่ไม่ถูกอ้างอิง | bot เข้ามาแล้ว แต่คำตอบไม่มีคุณ | ประโยคข้อเท็จจริงไม่โดดเด่นพอ ถูกคู่แข่งกลบ |
| ถูกอ้างอิงแต่ข้อมูลผิด | ชื่อแบรนด์สะกดผิด พารามิเตอร์สลับกัน | เทียบเคียง ขั้นตอนแก้ไขข้อมูลที่ผิด |
ตัวอย่างตามสถานการณ์ที่ 1: คุณเป็นโรงงานผลิตวาล์วอุตสาหกรรมที่ทำตลาดต่างประเทศ ลูกค้าถาม Perplexity ว่า “อุณหภูมิใช้งานสูงสุดของวาล์วปีผีเสื้อ PN16 คือเท่าไร” ถ้าหน้าสินค้าของคุณเขียนแค่ “ใช้ได้กับน้ำ น้ำมัน ก๊าซ” โมเดลจะไม่รู้ขีดจำกัด แต่ถ้าคุณเขียนในแถวแรกของตารางพารามิเตอร์ว่า “อุณหภูมิใช้งาน -10 ถึง 120 องศาเซลเซียส” ประโยคนี้ก็มีโอกาสถูกดึงไปใส่ในคำตอบโดยตรง
ตัวอย่างตามสถานการณ์ที่ 2: คุณเขียนบล็อกยาว 4,000 คำ แต่ข้อสรุปหลักอยู่ในคำบรรยายภาพที่หน้าจอที่ 6 เมื่อโมเดลดึง chunk ตามหัวข้อ ส่วน “บทนำ ความเป็นมา แนะนำบริษัท” ใน 3 หน้าจอแรกจะถูกกวาดก่อน แต่ประโยคที่ตอบคำถามจริงในคำบรรยายภาพอาจอยู่ที่ chunk ที่ 12 ในขณะที่รายการที่ดึงมามีเพียง 8 chunk มันจึงตกรอบ วิธีแก้ที่ต้นทุนต่ำที่สุดคือยกข้อสรุปนี้ขึ้นมาย่อหน้าแรก และเขียนซ้ำอีกครั้งใน H2
จะรู้ได้อย่างไรว่าถูกอ้างอิงหรือไม่? มีสองเส้นทางที่ทำคู่กัน หนึ่ง ดูความถี่ในการ crawl และการกระจายของหน้าเว็บจาก OAI-SearchBot, PerplexityBot, Googlebot ใน server log นี่คือสัญญาณเชิงรับ สอง สร้างชุดคำถามคงที่ 20 ถึง 30 ข้อ แล้วรันบน ChatGPT, Gemini, Perplexity สัปดาห์ละครั้ง บันทึกจำนวนครั้งที่คุณถูกอ้างอิง นี่คือสิ่งที่ติดตามชุดคำถามคงที่รายเดือน และ แดชบอร์ดติดตามการอ้างอิงของ AI Engine ต้องเข้าไปแก้
FAQ คำถามที่พบบ่อย
AI Search Engine อ่านบทความทั้งหมดหรือไม่?
ถ้าใส่ Disallow bot ทั้งหมดใน robots.txt จะเกิดอะไรขึ้น?
การถูก AI อ้างอิงต่างจากการติดอันดับ 1 อย่างไร?
จะยืนยันได้อย่างไรว่าเว็บไซต์ของฉันถูก AI engine อ่านแล้ว?
เว็บไซต์ standalone ที่เรนเดอร์ด้วย JS ล้วนเป็นมิตรกับ GEO ไหม?
เขียนบทความยาวขึ้นจะถูก AI อ้างอิงมากขึ้นไหม?
ทิ้งท้าย
ก้าวแรกของการเข้าใจ GEO ไม่ใช่การไปศึกษ prompt หรือยัดคำสำคัญ แต่คือการเข้าใจว่า AI engine ประมวลผลหน้าของคุณในสี่ขั้นตอนอย่างไร: ดึงได้ อ่านเข้าใจ เลือกถูก และอ้างอิงถูกต้อง ถ้าขั้นใดขั้นหนึ่งพลาด ขั้นต่อ ๆ ไปทำดีแค่ไหนก็ไม่มีประโยชน์
เริ่มจาก 3 ขั้นตอนใน 3 สัปดาห์ สัปดาห์นี้ตรวจใน robots.txt ว่า GPTBot, OAI-SearchBot และ PerplexityBot ถูกอนุญาตให้เข้าไหม สัปดาห์หน้าเช็ก server log ว่า bot เหล่านี้เข้าเว็บด้วยสถานะ 200 ใน 30 วันล่าสุดหรือไม่ สัปดาห์ที่สามสร้างชุดคำถามคงที่ 20 ข้อ แล้วรัน baseline บน ChatGPT, Gemini และ Perplexity ทีละตัว บันทึกว่าตอนนี้ถูกอ้างอิงกี่ครั้ง ทำครบสามขั้นนี้แล้วคุณถึงจะมีสิทธิ์พูดเรื่อง optimize
ประโยคเดียวที่จำได้ขึ้นใจ: GEO ไม่ใช่การทำให้ AI ชอบคุณ แต่คือการทำให้ AI หาคำตอบแล้วเลี่ยงคุณไม่ได้ ประโยคสมบูรณ์ในตัวเอง ข้อเท็จจริงขึ้นก่อน และ bot ต้องเข้ามาได้ ขาดข้อใดข้อหนึ่งไม่ได้
