เครื่องมือสร้าง Robots.txt

ตัวสร้างกฎ robots.txt

รองรับหลายบรรทัด Allow / Disallow / Sitemap ประกอบรูปแบบมาตรฐานโดยอัตโนมัติ

การกำหนดค่ากฎ
ผลลัพธ์ที่สร้างขึ้น

เครื่องมือสร้าง Robots.txt ออนไลน์ GeekFormat ผ่านแบบฟอร์มภาพกำหนดค่า User-agent กฎ Allow/Disallow การประกาศ Sitemap และคำสั่ง Host สร้างไฟล์ robots.txt ตามมาตรฐาน Robots Exclusion Protocol แบบเรียลไทม์ เมื่อเปิดหน้าเว็บจะมีค่าเริ่มต้นตัวอย่างอยู่แล้ว แก้ไขฟิลด์ใดๆ ก็จะดูตัวอย่างผลลัพธ์ที่สร้างขึ้นทันที คัดลอกด้วยคลิกเดียวก็สามารถนำไปใช้ในไดเรกทอรีรากของเว็บไซต์ ทำงานทั้งหมดในเบราว์เซอร์ในเครื่อง ข้อมูลการกำหนดค่าไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ใดๆ

คำแนะนำที่เกี่ยวข้อง

เกี่ยวกับ Robots.txt และโปรโตคอลการยกเว้นโปรแกรมรวบรวมข้อมูล

robots.txt เป็นหนึ่งในวิธีพื้นฐานที่สุดสำหรับเว็บไซต์ในการสื่อสารกับโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหา ชื่อเต็มคือ Robots Exclusion Protocol (โปรโตคอลการยกเว้นโปรแกรมรวบรวมข้อมูล ย่อว่า REP) มันเป็นไฟล์ข้อความธรรมดาที่วางไว้ในไดเรกทอรีรากของเว็บไซต์ ผ่านคำสั่งง่ายๆ บอกโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาที่ปฏิบัติตามกฎ: ส่วนใดของเว็บไซต์ที่อนุญาตให้รวบรวมข้อมูล ส่วนใดที่ไม่ต้องการให้รวบรวมข้อมูล robots.txt ถูกเสนอครั้งแรกโดย Martijn Koster ในปี 1994 หลังจากการพัฒนาเกือบ 30 ปี ได้รับการมาตรฐานอย่างเป็นทางการโดย IETF เป็น RFC 9309 ในปี 2022

โครงสร้างพื้นฐานของ robots.txt ประกอบด้วยกลุ่มกฎ (Group) หนึ่งกลุ่มขึ้นไป แต่ละกลุ่มกฎเริ่มต้นด้วยบรรทัด User-agent หนึ่งบรรทัดขึ้นไป ระบุโปรแกรมรวบรวมข้อมูลที่กฎนี้ใช้กับ (* แทนโปรแกรมรวบรวมข้อมูลทั้งหมด); ตามด้วยบรรทัด Allow และ Disallow จำนวนหนึ่ง ซึ่งระบุคำนำหน้าเส้นทางที่อนุญาตและห้ามรวบรวมข้อมูลตามลำดับ; ท้ายไฟล์สามารถเพิ่มคำสั่งที่ไม่ใช่ระดับกลุ่มเช่น Sitemap และ Host แต่ละกลุ่มกฎคั่นด้วยบรรทัดว่าง robots.txt ทั่วไปประกอบด้วย: การประกาศ User-agent → กฎเส้นทาง Allow/Disallow → (ไม่บังคับ) กลุ่ม User-agent เพิ่มเติม → การประกาศ Sitemap → คำสั่ง Host

ฟิลด์ User-agent ระบุชื่อโปรแกรมรวบรวมข้อมูลที่กฎนี้มีผล ชื่อโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาทั่วไป ได้แก่: Googlebot (การค้นหา Google), Bingbot (การค้นหา Bing), Baiduspider (การค้นหา Baidu), YandexBot (การค้นหา Yandex), DuckDuckBot (การค้นหา DuckDuckGo), Twitterbot (การดึงข้อมูลการ์ด Twitter/X), facebookexternalhit (ดูตัวอย่างลิงก์ Facebook), GPTBot (โปรแกรมรวบรวมข้อมูล OpenAI GPT), Bytespider (การค้นหา ByteDance/Toutiao) ฯลฯ ใช้ User-agent: * เป็นสัญลักษณ์ตัวแทนเพื่อจับคู่โปรแกรมรวบรวมข้อมูลทั้งหมดที่ไม่ได้จับคู่แยกกัน

คำสั่ง Allow และ Disallow ใช้หลักการจับคู่คำนำหน้า (Prefix Matching): ตราบใดที่เส้นทาง URL ขึ้นต้นด้วยค่าที่ระบุ กฎจะจับคู่ ตัวอย่างเช่น Disallow: /admin จะบล็อก /admin, /admin/, /admin/login.html, /administrator และเส้นทางทั้งหมดที่ขึ้นต้นด้วย /admin หากต้องการจับคู่ไดเรกทอรี /admin/ อย่างถูกต้องเท่านั้น ควรเขียน Disallow: /admin/ (เพิ่มเครื่องหมายทับท้าย) ตามมาตรฐาน RFC 9309 เมื่อ Allow และ Disallow จับคู่พร้อมกัน กฎที่มีเส้นทางยาวที่สุดจะชนะ; เมื่อความยาวเท่ากัน Allow จะมีความสำคัญ สิ่งนี้หมายความว่ากฎที่เฉพาะเจาะจงมากขึ้นจะมีความสำคัญสูงกว่า

คำสั่ง Sitemap ใช้เพื่อแจ้งให้เครื่องมือค้นหาทราบตำแหน่งของแผนผังเว็บไซต์ ช่วยให้โปรแกรมรวบรวมข้อมูลค้นพบและจัดทำดัชนีหน้าเว็บไซต์ได้อย่างมีประสิทธิภาพมากขึ้น บรรทัด Sitemap ต้องวางไว้หลังกลุ่มกฎทั้งหมด (หรือท้ายไฟล์) URL ต้องเป็นที่อยู่สัมบูรณ์ที่สมบูรณ์ (รวมถึง http:// หรือ https://) ในหนึ่ง robots.txt สามารถประกาศ Sitemap หลายรายการ แต่ละรายการหนึ่งบรรทัดแยกกัน เว็บไซต์ขนาดใหญ่มักแบ่งออกเป็นหลาย Sitemap (จำแนกตามประเภทเนื้อหา ความถี่ในการอัปเดต) และจัดการแบบรวมศูนย์ผ่านไฟล์ดัชนี Sitemap

คำสั่ง Host เป็นคำสั่งที่ไม่ใช่มาตรฐานแต่ใช้กันอย่างแพร่หลายซึ่งเสนอโดย Yandex ใช้เพื่อระบุโดเมนที่ต้องการของเว็บไซต์ (มิเรอร์หลัก) ตัวอย่างเช่น เมื่อมี example.com และ www.example.com พร้อมกัน Host: example.com จะบอกเครื่องมือค้นหาให้ใช้ example.com เป็นโดเมนที่ต้องการ โปรดทราบ: Google ได้ระบุว่าไม่ได้ใช้คำสั่ง Host จำเป็นต้องตั้งค่าโดเมนที่ต้องการผ่าน Google Search Console; Bing ก็ไม่ได้สนับสนุนอย่างชัดเจน คำสั่ง Host ควรวางไว้หลัง Sitemap และสามารถปรากฏได้เพียงครั้งเดียว

การกำหนดค่า robots.txt อย่างถูกต้องมีความสำคัญอย่างยิ่งต่อ SEO: ประการแรกคือหลีกเลี่ยงไม่ให้โปรแกรมรวบรวมข้อมูลเสียงบประมาณการรวบรวมข้อมูลไปกับหน้าที่ไม่มีความหมาย (เช่น หน้าผลการค้นหา หน้าตัวกรอง หน้าเนื้อหาซ้ำ) ให้โปรแกรมรวบรวมข้อมูลรวบรวมเนื้อหาที่มีค่าได้อย่างมีประสิทธิภาพมากขึ้น; ประการที่สองคือป้องกันไม่ให้หน้าส่วนตัวหรือหน้าที่มีมูลค่าต่ำ (เช่น พื้นที่ผู้ดูแลระบบ หน้าทดสอบ หน้าพิมพ์) ถูกจัดทำดัชนี; ประการที่สามคือผ่าน Sitemap แนะนำโปรแกรมรวบรวมข้อมูลให้ค้นพบหน้าใหม่อย่างแข็งขัน แต่โปรดทราบ: robots.txt เป็นข้อตกลงสุภาพบุรุษ ไม่สามารถทดแทนมาตรการความปลอดภัยที่แท้จริงได้; URL ที่ถูก Disallow หากมีลิงก์ภายนอกชี้ไป ยังสามารถแสดง URL ในผลการค้นหาได้ (เพียงแต่จะไม่รวบรวมเนื้อหา); การห้ามรวบรวมข้อมูลทั้งหมดในทางกลับกันอาจส่งผลต่อการประเมินน้ำหนักทั้งเว็บไซต์

ข้อผิดพลาดทั่วไปของ robots.txt ได้แก่: ①เขียนเส้นทางผิด (เช่น Disallow: admin ขาดเครื่องหมายทับที่จุดเริ่มต้น ควรเขียน /admin); ②ใช้นิพจน์ปรกติ (REP มาตรฐานไม่รองรับ regex มีเพียง Googlebot เท่านั้นที่รองรับสัญลักษณ์ตัวแทนที่จำกัด * และ $); ③ห้ามรวบรวมข้อมูลไฟล์ JS/CSS (จะทำให้ Google ไม่สามารถแสดงผลหน้าเว็บได้); ④Disallow: / (ห้ามทั้งเว็บไซต์ นี่คือข้อผิดพลาดร้ายแรง จะทำให้เว็บไซต์ไม่ถูกจัดทำดัชนีเลย); ⑤ปัญหาการเข้ารหัสไฟล์ (ต้องเป็นการเข้ารหัส UTF-8); ⑥วางไว้ในไดเรกทอรีย่อยแทนที่จะเป็นไดเรกทอรีราก; ⑦สิทธิ์ของไฟล์ทำให้ไม่สามารถเข้าถึงได้ (ควรส่งกลับรหัสสถานะ 200 OK) แนะนำให้ใช้เครื่องมือทดสอบ robots.txt ของ Google Search Console หรือเครื่องมือตรวจสอบ robots.txt ของแพลตฟอร์มนี้เพื่อตรวจสอบหลังจากสร้าง

กรณีการใช้งาน

  • กำหนดค่า robots.txt พื้นฐานก่อนเปิดตัวเว็บไซต์ใหม่ ระบุขอบเขตเส้นทางที่อนุญาตและห้ามรวบรวมข้อมูลอย่างชัดเจน แนะนำเครื่องมือค้นหาให้รวบรวมข้อมูลอย่างถูกต้อง
  • อัปเดตกฎ Disallow หลังจากปรับปรุงเว็บไซต์เพื่อป้องกันไม่ให้ไดเรกทอรีเก่าถูกรวบรวมข้อมูลต่อไป ซึ่งส่งผลต่อการแจกแจงน้ำหนัก SEO
  • เพิ่มที่อยู่ Sitemap หลายแห่งเพื่อช่วยให้เครื่องมือค้นหาค้นพบโครงสร้างหน้าเว็บทั้งหมดได้เร็วขึ้น เพิ่มประสิทธิภาพการจัดทำดัชนี
  • บล็อกไดเรกทอรีการจัดการผู้ดูแลระบบ (/admin) สภาพแวดล้อมทดสอบ ไดเรกทอรีส่วนตัว เพื่อป้องกันไม่ให้ถูกโปรแกรมรวบรวมข้อมูลจัดทำดัชนี ลดความเสี่ยงด้านความปลอดภัย
  • ตั้งค่าคำสั่ง Host เพื่อระบุโดเมนที่ต้องการของเว็บไซต์ (มี www หรือไม่มี www) ลดปัญหาเนื้อหาซ้ำ
  • กำหนดค่ากฎการรวบรวมข้อมูลอิสระสำหรับโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาต่างๆ (Googlebot, Bingbot, Baiduspider ฯลฯ)
  • ห้ามโปรแกรมรวบรวมข้อมูลเข้าถึงไดเรกทอรีที่กำลังบำรุงรักษาชั่วคราว เปิดให้รวบรวมข้อมูลอีกครั้งหลังจากอัปเดตเว็บไซต์เสร็จสิ้น
  • สร้างไฟล์ robots.txt รูปแบบมาตรฐาน หลีกเลี่ยงข้อผิดพลาดรูปแบบที่เขียนด้วยมือซึ่งทำให้เครื่องมือค้นหาวิเคราะห์ล้มเหลว
  • กำหนดค่าหลาย Sitemap (เช่น sitemap บทความ sitemap ผลิตภัณฑ์ sitemap รูปภาพ) ครอบคลุมทุกประเภทเนื้อหาทั้งเว็บไซต์
  • นักพัฒนา frontend สาธิตการกำหนดค่ากฎ robots.txt การสอนแสดงรูปแบบมาตรฐานของโปรโตคอลโปรแกรมรวบรวมข้อมูล
  • ทำงานร่วมกับเครื่องมือตรวจสอบ robots.txt เพื่อตรวจสอบว่ากฎที่สร้างขึ้นตรงตามที่คาดหวังหรือไม่ หลีกเลี่ยงการบล็อกหน้าสำคัญโดยไม่ได้ตั้งใจ
  • สร้างแม่แบบ robots.txt อย่างรวดเร็ว หลังจากดาวน์โหลดให้ปรับเปลี่ยนเล็กน้อยตามสถานการณ์จริงของเว็บไซต์แล้วนำไปใช้

วิธีการใช้งาน

  1. ในช่องป้อน User-agent ระบุโปรแกรมรวบรวมข้อมูลเป้าหมาย (ค่าเริ่มต้น * แทนโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาทั้งหมด)
  2. ในพื้นที่ Allow กรอกเส้นทางที่อนุญาตให้รวบรวมข้อมูล แต่ละบรรทัดหนึ่งกฎ (เช่น /, /blog/)
  3. ในพื้นที่ Disallow กรอกเส้นทางที่ห้ามรวบรวมข้อมูล แต่ละบรรทัดหนึ่งกฎ (เช่น /admin, /private)
  4. ในพื้นที่ Sitemap เพิ่มที่อยู่แผนผังเว็บไซต์ XML (รองรับหลายบรรทัด) ในพื้นที่ Host กรอกโดเมนที่ต้องการ
  5. พื้นที่ดูตัวอย่างด้านขวาแสดงเนื้อหา robots.txt ที่สร้างขึ้นแบบเรียลไทม์ หลังจากยืนยันว่าไม่มีข้อผิดพลาด ให้คลิกปุ่มคัดลอกก็สามารถนำไปใช้ได้

คุณสมบัติ

  • กำหนดค่าหลายกฎอย่างอิสระ: พื้นที่ป้อนแยกกันสำหรับ User-agent, Allow, Disallow, Sitemap, Host กฎถูกจัดประเภทอย่างชัดเจนไม่ปะปนกันอีกต่อไป
  • ดูตัวอย่างการสร้างแบบเรียลไทม์: เนื้อหา robots.txt อัปเดตทันทีหลังจากแก้ไขกฎใดๆ ไม่ต้องคลิกปุ่มสร้างด้วยตนเอง สิ่งที่คุณเห็นคือสิ่งที่คุณได้รับ
  • กฎสำรองเริ่มต้น: เมื่อทั้ง Allow และ Disallow ว่างเปล่า จะส่งออก Allow: / โดยอัตโนมัติ หลีกเลี่ยงการสร้างไฟล์ว่างที่ทำให้พฤติกรรมของโปรแกรมรวบรวมข้อมูลไม่แน่นอน
  • รองรับหลาย Sitemap: พื้นที่ Sitemap รองรับการป้อนหลายบรรทัด แต่ละ URL จะส่งออกเป็นบรรทัดประกาศ Sitemap แยกกัน เหมาะสำหรับเว็บไซต์ที่มีหลาย Sitemap
  • คัดลอกและนำไปใช้ด้วยคลิกเดียว: ผลลัพธ์ที่สร้างรองรับการคัดลอกไปยังคลิปบอร์ดด้วยคลิกเดียว เหมาะสำหรับวางโดยตรงลงในไดเรกทอรีรากของเว็บไซต์เพื่อนำไปใช้
  • มีตัวอย่างเริ่มต้นกรอกไว้ล่วงหน้า: เมื่อเปิดหน้าเว็บจะมีการกำหนดค่าตัวอย่างเริ่มต้น (User-agent: *, Allow: /, Disallow: /admin /private, Sitemap, Host) ผู้เริ่มต้นสามารถอ้างอิงและแก้ไขได้โดยตรง
  • ส่งออกรูปแบบมาตรฐาน: ปฏิบัติตามข้อกำหนด Robots Exclusion Protocol อย่างเข้มงวด บรรทัด User-agent อยู่ด้านหน้า บรรทัดกฎอยู่ด้านหลัง Sitemap/Host อยู่ท้ายสุด เข้ากันได้กับทุกเครื่องมือค้นหา
  • ประมวลผลเส้นทางอย่างชาญฉลาด: ตัดช่องว่างที่จุดเริ่มต้นและจุดสิ้นสุดของแต่ละบรรทัดโดยอัตโนมัติ กรองบรรทัดว่าง หลีกเลี่ยงกฎที่ไม่ถูกต้องเนื่องจากช่องว่างส่วนเกิน
  • เลย์เอาต์ตอบสนองสองคอลัมน์: บน PC แบ่งเป็นสองคอลัมน์ซ้ายขวา (กำหนดค่า/ดูตัวอย่าง) บนอุปกรณ์เคลื่อนที่เรียงบนล่าง ใช้งานได้ง่ายทั้งบนเดสก์ท็อปและโทรศัพท์
  • ดูตัวอย่างฟอนต์ความกว้างคงที่: พื้นที่ดูตัวอย่างใช้ฟอนต์ความกว้างคงที่เพื่อแสดงผลลัพธ์ที่สร้างขึ้น รูปแบบ robots.txt เป็นระเบียบและชัดเจน
  • รองรับคำสั่ง Host: สามารถกำหนดค่าโดเมนที่ต้องการสำหรับ Host (รองรับโดยเครื่องมือค้นหาเช่น Yandex) ลดปัญหาเนื้อหาซ้ำของโดเมน
  • ทำงานทั้งหมดในเบราว์เซอร์ในเครื่อง: การดำเนินการกำหนดค่าและสร้างทั้งหมดเสร็จสิ้นใน JavaScript ในเครื่องบนเบราว์เซอร์ของคุณ ไม่ส่งข้อมูลใดๆ ไปยังเซิร์ฟเวอร์
  • ใช้งานได้ทันทีโดยไม่ต้องอาศัย: เปิดหน้าเว็บก็สามารถใช้งานได้ ไม่ต้องลงทะเบียนเข้าสู่ระบบ ไม่ต้องติดตั้งซอฟต์แวร์ใดๆ
  • เชื่อมโยงกับเครื่องมือตรวจสอบ: ลิงก์ที่เกี่ยวข้องนำไปยังเครื่องมือตรวจสอบ robots.txt โดยตรง หลังจากสร้างสามารถตรวจสอบได้ทันทีว่ากฎถูกต้องหรือไม่

คำถามที่พบบ่อย

robots.txt ใช้ทำอะไร? เหตุใดเว็บไซต์จึงต้องมีไฟล์นี้?

robots.txt เป็นไฟล์ข้อความธรรมดาที่วางไว้ในไดเรกทอรีรากของเว็บไซต์ ใช้เพื่อบอกโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหา (เช่น Googlebot, Bingbot, Baiduspider ฯลฯ) ว่าเส้นทางใดสามารถรวบรวมข้อมูลได้ เส้นทางใดห้ามเข้าถึง มันเป็นวิธีการนำไปใช้ของ Robots Exclusion Protocol (โปรโตคอลการยกเว้นโปรแกรมรวบรวมข้อมูล) เป็นไฟล์หลักสำหรับการจัดการการรวบรวมข้อมูลเว็บไซต์และการตั้งค่าพื้นฐาน SEO แม้ว่าจะไม่บังคับ แต่เว็บไซต์ที่เป็นทางการเกือบทั้งหมดจะกำหนดค่า robots.txt เพื่อแนะนำพฤติกรรมของโปรแกรมรวบรวมข้อมูล

ควรวางไฟล์ robots.txt ไว้ที่ไหน?

robots.txt ต้องวางไว้ในไดเรกทอรีรากของเว็บไซต์ และสามารถเข้าถึงได้โดยตรงผ่าน http://โดเมนของคุณ/robots.txt ตัวอย่างเช่น https://example.com/robots.txt โปรดทราบว่าอย่าวางไว้ในไดเรกทอรีย่อย (เช่น /blog/robots.txt ไม่ถูกต้อง) โปรแกรมรวบรวมข้อมูลจะค้นหาไฟล์นี้ในไดเรกทอรีรากเท่านั้น ชื่อไฟล์ต้องเป็น robots.txt ตัวพิมพ์เล็กทั้งหมด ห้ามเป็น Robots.txt หรือ ROBOTS.TXT

เมื่อทั้ง Allow และ Disallow ว่างเปล่าจะสร้างเนื้อหาอะไรขึ้น?

เมื่อทั้ง Allow และ Disallow ไม่ได้กรอกข้อมูล เครื่องมือสร้างจะส่งออก Allow: / โดยอัตโนมัติเป็นกฎสำรอง ซึ่งหมายถึงอนุญาตให้รวบรวมข้อมูลทั้งเว็บไซต์ สิ่งนี้สามารถหลีกเลี่ยงการสร้างไฟล์ว่างหรือ robots.txt ที่ไม่สมบูรณ์ซึ่งมีเพียงบรรทัด User-agent ป้องกันไม่ให้โปรแกรมรวบรวมข้อมูลมีพฤติกรรมไม่แน่นอนเนื่องจากกฎไม่ชัดเจน

สามารถกำหนดค่าที่อยู่ Sitemap หลายแห่งได้หรือไม่?

ได้ พื้นที่ Sitemap รองรับการป้อนหลายบรรทัด แต่ละ URL จะส่งออกเป็นบรรทัดประกาศ Sitemap แยกกัน ตัวอย่างเช่น เว็บไซต์ขนาดใหญ่มักมีไฟล์ sitemap หลายไฟล์ (sitemap บทความ sitemap ผลิตภัณฑ์ sitemap รูปภาพ ฯลฯ) สามารถกรอก URL Sitemap ที่สมบูรณ์หนึ่งรายการในแต่ละบรรทัด (ต้องเป็นเส้นทางสัมบูรณ์ที่สมบูรณ์ รวมถึง http:// หรือ https://)

คำสั่ง Host มีหน้าที่อะไร? ทุกเครื่องมือค้นหารองรับหรือไม่?

คำสั่ง Host ใช้เพื่อระบุโดเมนที่ต้องการของเว็บไซต์ (เช่น example.com หรือ www.example.com) ช่วยให้เครื่องมือค้นหารู้จักโดเมนหลัก ลดปัญหาเนื้อหาซ้ำระหว่างเวอร์ชัน www และไม่ใช่ www ปัจจุบันคำสั่ง Host ได้รับการสนับสนุนโดยเครื่องมือค้นหาเช่น Yandex เป็นหลัก Google ไม่ได้ใช้คำสั่ง Host โดยตรง แต่ตั้งค่าโดเมนที่ต้องการผ่าน Google Search Console แนะนำให้กำหนดค่าแต่อย่าพึ่งพามันอย่างสมบูรณ์

User-agent: * หมายถึงอะไร? จะกำหนดค่ากฎสำหรับโปรแกรมรวบรวมข้อมูลเฉพาะได้อย่างไร?

User-agent: * หมายถึงกฎนี้ใช้กับโปรแกรมรวบรวมข้อมูลทั้งหมด (เครื่องหมายดอกจันคือสัญลักษณ์ตัวแทน) หากต้องการกำหนดค่ากฎอิสระสำหรับเครื่องมือค้นหาเฉพาะ สามารถตั้งค่า User-agent เป็นชื่อโปรแกรมรวบรวมข้อมูลเฉพาะ เช่น Googlebot (Google), Bingbot (Bing), Baiduspider (Baidu), Twitterbot (Twitter/X) ฯลฯ สามารถกำหนดค่ากลุ่ม User-agent หลายกลุ่ม โดยแต่ละกลุ่มคั่นด้วยบรรทัดว่าง

robots.txt สามารถปกป้องไดเรกทอรีที่ละเอียดอ่อนจากการเข้าถึงได้อย่างแท้จริงหรือไม่?

ไม่ได้ robots.txt เป็นเพียงข้อตกลงสุภาพบุรุษ โปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาที่ปฏิบัติตามกฎจะเชื่อฟัง แต่โปรแกรมรวบรวมข้อมูลที่เป็นอันตรายและเครื่องสแกนของแฮ็กเกอร์สามารถเพิกเฉยต่อมันได้อย่างสมบูรณ์ อย่าพึ่งพา robots.txt เพื่อปกป้องเนื้อหาที่ละเอียดอ่อนอย่างแท้จริง (เช่น รหัสผ่านผู้ดูแลระบบ ข้อมูลความเป็นส่วนตัวของผู้ใช้) ไดเรกทอรีที่ละเอียดอ่อนควรใช้มาตรการความปลอดภัยที่แท้จริงเช่นการรับรองความถูกต้องฝั่งเซิร์ฟเวอร์ (การป้องกันด้วยรหัสผ่าน บัญชีขาว IP) หน้าที่ของ robots.txt คือการแนะนำโปรแกรมรวบรวมข้อมูลที่ปฏิบัติตามกฎ ไม่ใช่การป้องกันความปลอดภัย

กฎการจับคู่เส้นทางของกฎ Disallow คืออะไร?

กฎ Disallow ใช้การจับคู่คำนำหน้า: Disallow: /admin จะจับคู่ /admin, /admin/, /admin/login.html, /administrator และเส้นทางทั้งหมดที่ขึ้นต้นด้วย /admin หากต้องการจับคู่เนื้อหาภายในไดเรกทอรี /admin/ เท่านั้น ควรเขียน Disallow: /admin/ (มีเครื่องหมายทับท้าย) Disallow: (ค่าว่าง) หมายถึงไม่ห้ามเส้นทางใดๆ (คืออนุญาตทั้งหมด) โปรดทราบว่ากฎนี้จะแยกแยะตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก

จะนำ robots.txt ที่สร้างขึ้นไปใช้กับเว็บไซต์ได้อย่างไร?

คลิกปุ่มคัดลอกเพื่อคัดลอกเนื้อหาที่สร้างขึ้นไปยังคลิปบอร์ด จากนั้นบนเซิร์ฟเวอร์สร้างไฟล์ข้อความธรรมดาชื่อ robots.txt วางเนื้อหาแล้วอัปโหลดไฟล์ไปยังไดเรกทอรีรากของเว็บไซต์ (โดยปกติคือไดเรกทอรี web root, public_html, www หรือ dist) หลังจากนำไปใช้สามารถเข้าถึง https://โดเมนของคุณ/robots.txt เพื่อตรวจสอบว่ามีผลใช้งานหรือไม่ หรือสามารถใช้เครื่องมือทดสอบ robots.txt ของ Google Search Console เพื่อตรวจสอบกฎ

หลังจากแก้ไข robots.txt แล้วจะใช้เวลานานเท่าใดจึงจะมีผล?

โปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาจะรวบรวมไฟล์ robots.txt อีกครั้งเมื่อเข้าชมเว็บไซต์ของคุณในครั้งต่อไป โดยปกติจะมีผลภายในไม่กี่ชั่วโมงถึงไม่กี่วัน หากคุณต้องการให้เครื่องมือค้นหาค้นพบการอัปเดตโดยเร็วที่สุด สามารถส่งคำขออัปเดต robots.txt ใน Google Search Console หรือ Bing Webmaster Tools ได้ โปรดทราบ: หน้าเว็บที่ถูกจัดทำดัชนีแล้วแม้จะถูก Disallow ก็อาจยังคงอยู่ในผลการค้นหาเป็นระยะเวลาหนึ่ง การลบออกอย่างสมบูรณ์จำเป็นต้องใช้ร่วมกับแท็ก noindex หรือเครื่องมือลบ URL

เมื่อ Allow และ Disallow ขัดแย้งกัน อันไหนมีความสำคัญกว่า?

ตาม RFC 9309 (มาตรฐานทางการของ Robots Exclusion Protocol) เมื่อความยาวเส้นทางของกฎ Allow และ Disallow เท่ากัน Allow จะมีความสำคัญกว่า Disallow; เมื่อความยาวเส้นทางต่างกัน กฎที่จับคู่เส้นทางที่ยาวที่สุดจะมีความสำคัญ ตัวอย่างเช่น เมื่อ Allow: /blog และ Disallow: /blog/ ขัดแย้งกัน การเข้าถึง /blog/post.html จะจับคู่กับ Disallow (เส้นทางยาวกว่า /blog/ > /blog) ในขณะที่การเข้าถึง /blog เองจะจับคู่กับ Allow กล่าวโดยสรุป กฎที่เฉพาะเจาะจงมากขึ้นจะมีความสำคัญสูงกว่า

สามารถเพิ่มความคิดเห็นใน robots.txt ได้หรือไม่?

ได้ บรรทัดที่ขึ้นต้นด้วยเครื่องหมาย # คือบรรทัดความคิดเห็น โปรแกรมรวบรวมข้อมูลจะไม่สนใจเนื้อหาหลังเครื่องหมาย # ความคิดเห็นสามารถเขียนในบรรทัดแยก หรือเขียนท้ายบรรทัดกฎ (เนื้อหาหลังเครื่องหมาย #) ตัวอย่างเช่น: # Block admin area หรือ Disallow: /admin # admin panel การเพิ่มความคิดเห็นที่เหมาะสมจะช่วยให้ตัวคุณเองและสมาชิกในทีมเข้าใจหน้าที่ของแต่ละกฎ

Sitemap URL จำเป็นต้องเป็นเส้นทางสัมบูรณ์หรือไม่?

ใช่ คำสั่ง Sitemap ต้องใช้ URL สัมบูรณ์ที่สมบูรณ์ (รวมถึงโปรโตคอลและโดเมน) เช่น Sitemap: https://example.com/sitemap.xml ไม่สามารถใช้เส้นทางสัมพัทธ์ (เช่น /sitemap.xml) ได้ เนื่องจากโปรแกรมรวบรวมข้อมูลอาจเข้าถึงเว็บไซต์ของคุณจากโดเมนต่างๆ (เช่น example.com และ www.example.com) เส้นทางสัมพัทธ์จะทำให้โปรแกรมรวบรวมข้อมูลไม่สามารถระบุที่อยู่ที่ถูกต้องได้

ข้อมูลการกำหนดค่าจะถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่?

ไม่เลย การดำเนินการกำหนดค่าและสร้าง robots.txt ทั้งหมดเสร็จสิ้นในเครื่องผ่าน JavaScript บนเบราว์เซอร์ของคุณ ข้อมูลการกำหนดค่าเช่นเส้นทางและโดเมนที่ป้อนเข้าไปจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ภายนอกใดๆ หลังจากโหลดหน้าเว็บแล้วสามารถใช้งานแบบออฟไลน์ได้ (ฟังก์ชันพื้นฐาน) หลังจากปิดหน้าเว็บข้อมูลจะถูกลบโดยอัตโนมัติ ไม่ทิ้งบันทึกใดๆ

robots.txt ที่สร้างขึ้นสามารถใช้กับเว็บไซต์ใดๆ ได้หรือไม่?

ได้ เครื่องมือสร้างจะส่งออกไฟล์ข้อความธรรมดารูปแบบ Robots Exclusion Protocol มาตรฐาน เหมาะสำหรับเว็บเซิร์ฟเวอร์ใดๆ (Nginx, Apache, IIS, Caddy ฯลฯ) และแพลตฟอร์มสร้างเว็บไซต์ใดๆ (WordPress, Shopify, Next.js, Django, Rails ฯลฯ) เพียงแค่นำไปใช้ในไดเรกทอรีรากของเว็บไซต์และให้แน่ใจว่าสามารถเข้าถึงได้แบบสาธารณะ

การแก้ไขปัญหา

การเข้าถึงไฟล์ที่สร้างขึ้นส่งกลับข้อผิดพลาด 404?

ยืนยันว่าไฟล์ robots.txt ถูกอัปโหลดไปยังไดเรกทอรีรากของเว็บไซต์ (ไม่ใช่ไดเรกทอรีย่อย) ชื่อไฟล์เป็นตัวพิมพ์เล็กทั้งหมดคือ robots.txt สิทธิ์ของไฟล์ถูกตั้งค่าให้อ่านได้แบบสาธารณะ (โดยปกติสิทธิ์ 644 ก็เพียงพอ) หลังจากอัปโหลดให้เข้าถึง https://โดเมนของคุณ/robots.txt โดยตรงบนเบราว์เซอร์เพื่อยืนยันว่าสามารถเห็นเนื้อหาได้ ตำแหน่งไดเรกทอรีรากของเซิร์ฟเวอร์แตกต่างกัน: Nginx/Apache มักจะเป็น /var/www/html/ หรือ /usr/share/nginx/html/, Vercel/Netlify มักจะเป็นไดเรกทอรี public/

กฎ Disallow ไม่ทำงาน หน้าเว็บยังคงถูกจัดทำดัชนี?

สาเหตุที่เป็นไปได้: ①โปรแกรมรวบรวมข้อมูลยังไม่ได้รวบรวม robots.txt อีกครั้ง (รอสองสามวันหรือส่งการอัปเดตใน Search Console); ②การจับคู่คำนำหน้าเส้นทางไม่ถูกต้อง (เช่น Disallow: admin ขาด / ควรเขียน Disallow: /admin/); ③หน้าเว็บถูกจัดทำดัชนีแล้วก่อนที่จะเพิ่ม Disallow (หน้าที่ถูกจัดทำดัชนีแล้วจะไม่ถูกลบโดยอัตโนมัติ); ④โปรแกรมรวบรวมข้อมูลที่เป็นอันตรายไม่ปฏิบัติตาม robots.txt; ⑤มีกฎ Allow ที่ขัดแย้งกันเขียนทับ Disallow (Allow จะมีความสำคัญเมื่อเส้นทางยาวกว่า) หากต้องการลบดัชนีอย่างสมบูรณ์ควรใช้แท็ก noindex

Google Search Console รายงานว่า robots.txt บล็อกหน้าเว็บ?

นี่มักหมายความว่าหน้าสำคัญถูก Disallow โดยไม่ได้ตั้งใจ ตรวจสอบใน robots.txt ว่ามีกฎ Disallow ที่กว้างเกินไปหรือไม่ (เช่น Disallow: / หรือ Disallow: /*?) ยืนยันว่าไฟล์ CSS/JS ไม่ได้ถูกห้าม (Google จำเป็นต้องรวบรวมไฟล์เหล่านี้เพื่อแสดงผลหน้าเว็บ) ใช้เครื่องมือทดสอบ robots.txt ของ Search Console ป้อน URL เฉพาะเพื่อทดสอบว่ากฎใดกำลังบล็อก

ไม่ได้ตั้งใจตั้งค่า Disallow: / ทำให้ทั้งเว็บไซต์ถูกห้ามรวบรวมข้อมูล?

ลบหรือแก้ไขกฎนั้นทันที เปลี่ยน robots.txt เป็น Allow: / หรือลบบรรทัด Disallow: / อัปโหลดไฟล์ที่อัปเดตไปยังเซิร์ฟเวอร์ จากนั้นส่งคำขออัปเดต robots.txt ใน Google Search Console และส่ง sitemap เพื่อเร่งการรวบรวมข้อมูลอีกครั้ง หน้าเว็บที่ถูกลบออกจากดัชนีอาจใช้เวลาสองสามวันถึงสองสามสัปดาห์จึงจะถูกจัดทำดัชนีอีกครั้ง

อภิธานศัพท์

robots.txt
ไฟล์ข้อความธรรมดาที่วางไว้ในไดเรกทอรีรากของเว็บไซต์ ปฏิบัติตาม Robots Exclusion Protocol ใช้เพื่อแจ้งให้โปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาที่ปฏิบัติตามกฎทราบว่าเส้นทางใดได้รับอนุญาต/ห้ามรวบรวมข้อมูล
Robots Exclusion Protocol (REP)
โปรโตคอลการยกเว้นโปรแกรมรวบรวมข้อมูล เสนอในปี 1994 ได้รับการมาตรฐานเป็น RFC 9309 ในปี 2022 เป็นมาตรฐานตามความเป็นจริงสำหรับการสื่อสารกฎการรวบรวมข้อมูลระหว่างเว็บไซต์และโปรแกรมรวบรวมข้อมูล
User-agent
ฟิลด์เริ่มต้นของกลุ่มกฎ ระบุชื่อโปรแกรมรวบรวมข้อมูลที่กฎ Allow/Disallow ต่อไปนี้ใช้กับ สัญลักษณ์ตัวแทน * หมายถึงจับคู่โปรแกรมรวบรวมข้อมูลทั้งหมด
Disallow
คำสั่งห้ามรวบรวมข้อมูล ระบุคำนำหน้าเส้นทางที่ไม่ต้องการให้โปรแกรมรวบรวมข้อมูลเข้าถึง ตัวอย่างเช่น Disallow: /admin ห้ามรวบรวมข้อมูลเส้นทางทั้งหมดที่ขึ้นต้นด้วย /admin
Allow
คำสั่งอนุญาตให้รวบรวมข้อมูล ระบุเส้นทางที่อนุญาตให้โปรแกรมรวบรวมข้อมูลเข้าถึงอย่างชัดเจน ใช้เมื่อเปิดเส้นทางย่อยเฉพาะภายใต้เส้นทางหลัก Disallow
Sitemap
คำสั่งประกาศแผนผังเว็บไซต์ แจ้งให้เครื่องมือค้นหาทราบ URL ที่สมบูรณ์ของแผนผังเว็บไซต์ XML ของเว็บไซต์ ช่วยให้โปรแกรมรวบรวมข้อมูลค้นพบและจัดทำดัชนีหน้าเว็บทั้งหมดได้อย่างมีประสิทธิภาพ
Host
คำสั่งโดเมนที่ต้องการ ระบุโดเมนหลักของเว็บไซต์ (เช่น example.com เทียบกับ www.example.com) Yandex รองรับ Google ตั้งค่าผ่าน Search Console
Crawler/Bot/Spider
โปรแกรมรวบรวมข้อมูล/สไปเดอร์/บอท โปรแกรมอัตโนมัติของเครื่องมือค้นหาที่เข้าถึงหน้าเว็บและรวบรวมเนื้อหาโดยอัตโนมัติ เช่น Googlebot, Bingbot, Baiduspider ฯลฯ
Googlebot
โปรแกรมรวบรวมข้อมูลหน้าเว็บของเครื่องมือค้นหา Google รับผิดชอบรวบรวมเนื้อหาหน้าเว็บเพื่อให้ Google จัดทำดัชนีและจัดอันดับ เป็นหนึ่งในโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาที่พบบ่อยที่สุด
Crawl Budget
งบประมาณ/โควต้าการรวบรวมข้อมูล ขีดจำกัดความถี่ในการรวบรวมข้อมูลและจำนวนหน้าที่เครื่องมือค้นหาจัดสรรให้กับแต่ละเว็บไซต์ การกำหนดค่า robots.txt อย่างถูกต้องสามารถหลีกเลี่ยงการเสียโควต้าการรวบรวมข้อมูล
Prefix Matching
กฎการจับคู่คำนำหน้า วิธีการจับคู่เส้นทางของ robots.txt เส้นทาง URL ขึ้นต้นด้วยค่ากฎถือว่าจับคู่สำเร็จ กฎที่ยาวกว่าจะมีความสำคัญสูงกว่า
noindex
แท็ก meta HTML หรือคำสั่งส่วนหัว HTTP (X-Robots-Tag: noindex) บอกให้เครื่องมือค้นหาไม่จัดทำดัชนีหน้านี้ลงในดัชนีการค้นหา ซึ่งแตกต่างจาก Disallow ของ robots.txt noindex เป็นวิธีการลบดัชนีที่น่าเชื่อถือมากกว่า

ชื่อ User-agent ของโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาทั่วไป

ชื่อ User-agent ที่ใช้เมื่อกำหนดค่ากฎโปรแกรมรวบรวมข้อมูลเฉพาะ:

ชื่อโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาเจ้าของวัตถุประสงค์
*โปรแกรมรวบรวมข้อมูลทั้งหมดสัญลักษณ์ตัวแทน จับคู่โปรแกรมรวบรวมข้อมูลทั้งหมดที่ไม่ได้กำหนดค่าแยกกัน
GooglebotGoogleโปรแกรมรวบรวมข้อมูลหน้าเว็บการค้นหา Google
BingbotBing/Microsoftโปรแกรมรวบรวมข้อมูลหน้าเว็บการค้นหา Bing
BaiduspiderBaiduโปรแกรมรวบรวมข้อมูลหน้าเว็บการค้นหา Baidu
YandexBotYandexโปรแกรมรวบรวมข้อมูลหน้าเว็บการค้นหา Yandex
GPTBotOpenAIโปรแกรมรวบรวมข้อมูลการฝึกอบรม ChatGPT
TwitterbotX/Twitterโปรแกรมรวบรวมข้อมูลดูตัวอย่างการ์ดลิงก์แพลตฟอร์ม X
facebookexternalhitFacebookโปรแกรมรวบรวมข้อมูลดูตัวอย่างลิงก์ Facebook

ตัวอย่างกฎ robots.txt ที่ใช้บ่อย

การกำหนดค่ากฎทั่วไปสำหรับสถานการณ์เว็บไซต์ต่างๆ:

กฎผลลัพธ์
Disallow: /admin/ห้ามรวบรวมข้อมูลเนื้อหาทั้งหมดในไดเรกทอรี /admin/
Disallow: /*?ห้ามรวบรวมข้อมูล URL ที่มีพารามิเตอร์การสืบค้น (Googlebot รองรับสัญลักษณ์ตัวแทน *)
Disallow: /searchห้ามรวบรวมข้อมูลหน้าผลการค้นหาภายในเว็บไซต์
Allow: /public/อนุญาตให้รวบรวมข้อมูลไดเรกทอรี /public/ อย่างชัดเจน
Disallow: /⚠️ ห้ามรวบรวมข้อมูลทั้งเว็บไซต์ (ข้อผิดพลาดร้ายแรง ใช้ด้วยความระมัดระวัง!)
Allow: /อนุญาตให้รวบรวมข้อมูลเนื้อหาทั้งหมดทั้งเว็บไซต์

ตารางอ้างอิงคำสั่งมาตรฐาน robots.txt

คำสั่งมาตรฐานและการใช้งานที่กำหนดโดย RFC 9309:

คำสั่งขอบเขตตัวอย่างรูปแบบคำอธิบาย
User-agentจุดเริ่มต้นกลุ่มUser-agent: *ระบุชื่อโปรแกรมรวบรวมข้อมูลที่กฎนี้ใช้กับ
Disallowภายในกลุ่มDisallow: /adminคำนำหน้าเส้นทางที่ห้ามรวบรวมข้อมูล
Allowภายในกลุ่มAllow: /publicคำนำหน้าเส้นทางที่อนุญาตให้รวบรวมข้อมูล
Sitemapไม่ใช่ระดับกลุ่มSitemap: https://example.com/sitemap.xmlประกาศตำแหน่งแผนผังเว็บไซต์ (URL สัมบูรณ์)
#ตำแหน่งใดก็ได้# This is a commentบรรทัดความคิดเห็น โปรแกรมรวบรวมข้อมูลจะไม่สนใจ

Privacy & Security

การดำเนินการทั้งหมดของเครื่องมือสร้าง Robots.txt นี้เสร็จสิ้นในเครื่องบนเบราว์เซอร์ของคุณทั้งหมด: User-agent, กฎเส้นทาง, Sitemap, Host และข้อมูลการกำหนดค่าอื่นๆ ทั้งหมดถูกประกอบและสร้างเป็นข้อความ robots.txt แบบเรียลไทม์ผ่าน JavaScript ในหน่วยความจำของเบราว์เซอร์ ไม่ส่งไปยังเซิร์ฟเวอร์ใดๆ ผ่านเครือข่าย หลังจากโหลดหน้าเว็บแล้วสามารถใช้งานได้ ไม่ใช้ Cookie ติดตาม ไม่รวบรวมข้อมูลผู้ใช้ใดๆ หลังจากปิดหรือรีเฟรชหน้าเว็บ เนื้อหาการกำหนดค่าทั้งหมดจะถูกลบโดยอัตโนมัติ ไม่ถูกจัดเก็บถาวรในเบราว์เซอร์

Authoritative References