robots.txt สำหรับโปรแกรมรวบรวมข้อมูลของ AI: อะไรควรอนุญาต อะไรควรบล็อก
ให้โปรแกรมรวบรวมข้อมูลของ AI แต่ละตัวที่คุณสนใจมีกลุ่ม User-agent ของตัวเอง อนุญาตโปรแกรมสำหรับการค้นหา เช่น OAI-SearchBot, Claude-SearchBot และ PerplexityBot หากต้องการให้ถูกอ้างอิง และตัดสินใจแยกต่างหากสำหรับโทเค็นการฝึกโมเดล เช่น GPTBot, ClaudeBot, Google-Extended และ Applebot-Extended กลุ่มที่ระบุชื่อจะแทนที่กลุ่ม * สำหรับโปรแกรมนั้น
robots.txt เป็นไฟล์ข้อความธรรมดาที่มีมาตั้งแต่ปี 1994 และกลายเป็นมาตรฐานอย่างเป็นทางการคือ RFC 9309 ในปี 2022 ผู้ให้บริการ AI ส่วนใหญ่ระบุว่าโปรแกรมรวบรวมข้อมูลของตนทำตามไฟล์นี้ และหลายรายเผยแพร่โทเค็นแยกกันสำหรับการค้นหาและการฝึกโมเดล ทำให้ robots.txt เป็นที่ที่ง่ายที่สุดในการประกาศนโยบายด้าน AI ตราบที่กฎมีความหมายตามที่คุณเข้าใจ
ในหน้านี้
โปรแกรมรวบรวมข้อมูลของ AI ใช้โทเค็นอะไรใน robots.txt
นี่คือโทเค็นที่ผู้ให้บริการระบุไว้ในเอกสาร การจับคู่ไม่สนใจตัวพิมพ์เล็กใหญ่ตาม RFC 9309
- OpenAI:
OAI-SearchBot(การค้นหาของ ChatGPT),GPTBot(การฝึกโมเดล),ChatGPT-User(การเข้าชมที่ผู้ใช้ขอ; OpenAI ระบุว่า robots.txt อาจไม่ใช้) - Anthropic:
Claude-SearchBot(การค้นหา),ClaudeBot(การฝึกโมเดล),Claude-User(การเข้าชมที่ผู้ใช้ขอ) - Perplexity:
PerplexityBot(การค้นหา),Perplexity-User(การเข้าชมที่ผู้ใช้ขอ; Perplexity ระบุว่าโดยทั่วไปจะไม่สนใจ robots.txt) - Google:
Googlebot(Search รวมถึงฟีเจอร์ AI) และGoogle-Extendedซึ่งเป็นโทเค็นที่ไม่มีโปรแกรมรวบรวมข้อมูลของตัวเอง ใช้ควบคุมการนำไปใช้ฝึกโมเดล Gemini และ grounding - Apple:
Applebot(Spotlight, Siri, การค้นหาใน Safari) และApplebot-Extendedซึ่งไม่ได้รวบรวมข้อมูล แต่ควบคุมการนำไปใช้ฝึกโมเดลพื้นฐานของ Apple - Meta:
meta-externalagent(การฝึกโมเดลและการจัดทำดัชนีผลิตภัณฑ์) และmeta-webindexer(การค้นหาของ Meta AI) - Common Crawl:
CCBotซึ่งสร้างคลังข้อมูลเว็บสาธารณะแบบฟรีของ Common Crawl
robots.txt สำหรับ AI ที่ดีหน้าตาเป็นอย่างไร
ตัวอย่างนี้ปล่อยให้การค้นหาด้วย AI และการดึงหน้าตามคำขอของผู้ใช้เข้ามาได้ ไม่ยินยอมให้ใช้โทเค็นฝึกโมเดลหลัก ๆ และปิดพื้นที่ส่วนตัวหนึ่งแห่งสำหรับทุกคน
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
บรรทัด User-agent หลายบรรทัดต่อกันรวมเป็นกลุ่มเดียว กฎด้านล่างจึงใช้กับโปรแกรมทุกตัวในกลุ่มนั้น หากคุณอยากให้เนื้อหาถูกใช้ฝึกโมเดล เพียงเว้นกลุ่มที่สองออก การบล็อก Google-Extended ไม่กระทบ Google Search: Google ระบุว่าไม่มีผลต่อการรวมอยู่ใน Search และไม่ใช่สัญญาณจัดอันดับ ในทำนองเดียวกัน Apple ระบุว่าหน้าเว็บที่ห้าม Applebot-Extended ยังปรากฏในผลการค้นหาของ Apple ได้
โปรแกรมรวบรวมข้อมูลเลือกกฎที่ใช้กับตัวเองอย่างไร
RFC 9309 กำหนดเรื่องนี้ไว้อย่างแม่นยำ และรายละเอียดเหล่านี้อธิบายเรื่องที่ทำให้แปลกใจได้เกือบทั้งหมด
- โปรแกรมรวบรวมข้อมูลมองหากลุ่มที่
User-agentตรงกับโทเค็นผลิตภัณฑ์ของตน โดยไม่สนใจตัวพิมพ์เล็กใหญ่ ถ้ามีหลายกลุ่มที่ตรงกัน กฎของกลุ่มเหล่านั้นจะถูกรวมเป็นชุดเดียว - เฉพาะเมื่อไม่มีกลุ่มใดตรงกันเท่านั้น โปรแกรมจึงทำตามกลุ่ม
User-agent: *กลุ่มที่ระบุชื่อไม่ได้รับสิ่งใดต่อจาก* - ภายในกลุ่ม กฎที่เส้นทางตรงกันยาวที่สุดจะชนะ
Allow: /blog/ชนะDisallow: /สำหรับ/blog/post - หากกฎ
AllowและDisallowตรงกันด้วยความยาวเท่ากัน ควรใช้Allow *ในเส้นทางตรงกับอักขระใดก็ได้ และ$ยึดท้ายสตริง ดังนั้นDisallow: /*.pdf$ครอบคลุม PDF ทุกไฟล์
ข้อผิดพลาดใน robots.txt ที่พบบ่อยที่สุดมีอะไรบ้าง
- คาดว่ากลุ่มที่ระบุชื่อจะรับกฎต่อจาก
*กลุ่มสำหรับOAI-SearchBotที่มีแค่Allow: /จะเปิดทุกเส้นทาง รวมถึงเส้นทางที่คุณห้ามไว้ใต้* - ที่อยู่ robots.txt ที่ตอบกลับเป็นหน้า HTML ซึ่งมักเป็นหน้า 404 ที่ส่งด้วยสถานะ 200 โปรแกรมรวบรวมข้อมูลไม่พบกฎที่ใช้ได้ในนั้น
- robots.txt ที่ตอบกลับด้วยข้อผิดพลาดของเซิร์ฟเวอร์ RFC 9309 ระบุว่าโปรแกรมรวบรวมข้อมูลต้องถือว่าทั้งเว็บไซต์ถูกห้าม ส่วน 404 ต่างออกไป: หมายถึงไม่มีข้อจำกัด
- บล็อกโทเค็นสำหรับการค้นหา ทั้งที่ตั้งใจบล็อกการฝึกโมเดล เช่น ห้าม
PerplexityBotหรือClaude-SearchBotเพื่อหลีกเลี่ยงการฝึกโมเดล - พึ่ง robots.txt เพื่อหยุดการดึงหน้าตามคำขอของผู้ใช้ ทั้ง OpenAI และ Perplexity ระบุว่า user agent ของตนอาจไม่ทำตาม
- ลืมซับโดเมน โฮสต์แต่ละตัวมี robots.txt ของตัวเอง เอกสารของ Anthropic เตือนเจ้าของเว็บไซต์ให้เพิ่มกฎสำหรับทุกซับโดเมน
ประกาศนโยบายการใช้งานสำหรับ AI ได้มากกว่าอนุญาตกับห้ามไหม
Cloudflare เสนอบรรทัด Content-Signal สำหรับ robots.txt ซึ่งมีสัญญาณสามอย่าง ได้แก่ search (สร้างดัชนีการค้นหาและแสดงลิงก์กับข้อความตัดตอนสั้น ๆ), ai-input (ใช้เนื้อหาแบบเรียลไทม์สำหรับคำตอบของ AI) และ ai-train (ฝึกหรือปรับแต่งโมเดล) robots.txt แบบจัดการให้ของ Cloudflare เพิ่มบรรทัดนี้ให้คุณได้
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
เช่นเดียวกับทุกอย่างใน robots.txt สิ่งเหล่านี้เป็นความต้องการ ไม่ใช่การควบคุมทางเทคนิค Cloudflare เองก็ระบุว่าการปฏิบัติตาม robots.txt เป็นไปโดยสมัครใจ บรรทัดนี้เป็นทางเลือกและไม่มีผลเสีย แต่ไม่ได้แทนที่กลุ่มสำหรับโปรแกรมแต่ละตัวข้างต้น
การเปลี่ยนแปลงใช้เวลานานแค่ไหน และตรวจอย่างไร
RFC 9309 ระบุว่าโปรแกรมรวบรวมข้อมูลไม่ควรใช้ robots.txt ที่แคชไว้เกิน 24 ชั่วโมง และทั้ง OpenAI กับ Perplexity ก็ระบุว่าการเปลี่ยนแปลงอาจใช้เวลาประมาณหนึ่งวันจึงมีผล อย่าลืมด้วยว่า robots.txt ไม่ใช่การควบคุมการเข้าถึง ไฟร์วอลล์ยังบล็อกโปรแกรมที่กฎของคุณอนุญาตได้อยู่
AISeeWhy แยกวิเคราะห์ robots.txt ของคุณตาม RFC 9309 สำหรับโปรแกรมรวบรวมข้อมูลแต่ละตัวที่ทดสอบ ชี้ไฟล์ที่เข้าถึงไม่ได้หรือถูกส่งเป็น HTML แสดงจุดที่กฎของคุณกับเซิร์ฟเวอร์ไม่ตรงกัน และให้ diff ที่พร้อมใช้สำหรับการแก้ไข
คำถามที่พบบ่อย
การบล็อก GPTBot หรือ ClaudeBot ทำให้การมองเห็นในคำตอบของ AI ลดลงไหม
ไม่โดยตรง ผู้ให้บริการทั้งสองใช้โปรแกรมค้นหาแยกต่างหากคือ OAI-SearchBot และ Claude-SearchBot สำหรับการค้นหา การบล็อกโปรแกรมที่ใช้ฝึกโมเดลเป็นทางเลือกเชิงนโยบาย
Google-Extended หยุด AI Overviews ได้ไหม
ไม่ได้ Google ระบุว่าฟีเจอร์ AI ใน Search ใช้ Googlebot และการควบคุม Search ตามปกติ เช่น nosnippet และ noindex ส่วน Google-Extended ครอบคลุมการฝึกโมเดล Gemini และ grounding ในผลิตภัณฑ์อื่นของ Google และไม่กระทบ Search
โปรแกรมรวบรวมข้อมูลของ AI รองรับ Crawl-delay ไหม
ไม่ได้อยู่ใน RFC 9309 Anthropic ระบุว่ารองรับ Crawl-delay เป็นส่วนขยายนอกมาตรฐาน สำหรับผู้ให้บริการรายอื่น ให้ตรวจเอกสารของแต่ละราย
robots.txt ต้องอยู่ที่ไหน
ที่ราก (root) ของแต่ละโฮสต์ เช่น https://example.com/robots.txt ไฟล์ในโฟลเดอร์ย่อยจะถูกเมิน และแต่ละซับโดเมนต้องมีไฟล์ของตัวเอง
แหล่งอ้างอิง
- RFC 9309: Robots Exclusion Protocol
- OpenAI: ภาพรวมโปรแกรมรวบรวมข้อมูลของ OpenAI
- Google: โปรแกรมรวบรวมข้อมูลทั่วไป รวมถึง Google-Extended
- Apple: เกี่ยวกับ Applebot
- Cloudflare: robots.txt แบบจัดการให้และ Content Signals