สร้างไฟล์ robots.txt

คุณใช้ไฟล์ robots.txt ควบคุมได้ว่าจะให้โปรแกรมรวบรวมข้อมูลเข้าถึงไฟล์ใดบ้างในเว็บไซต์ของคุณ ไฟล์ robots.txt จะอยู่ที่รากของเว็บไซต์ ดังนั้น สำหรับเว็บไซต์ www.example.com ไฟล์ robots.txt จะอยู่ที่ www.example.com/robots.txt ไฟล์ robots.txt เป็นไฟล์ข้อความธรรมดาที่เป็นไปตามมาตรฐานการยกเว้นโรบ็อต และมีกฎอย่างน้อย 1 ข้อ กฎแต่ละข้อจะบล็อกหรืออนุญาตโปรแกรมรวบรวมข้อมูลหนึ่งๆ ในการเข้าถึงเส้นทางของไฟล์ที่ระบุในเว็บไซต์นั้น ระบบจะถือว่าไฟล์ทั้งหมดได้รับอนุญาตให้เข้ารวบรวมข้อมูลได้ เว้นแต่คุณจะระบุเป็นอย่างอื่นในไฟล์ robots.txt

ต่อไปนี้เป็นไฟล์ robots.txt ธรรมดาที่มีกฎ 2 ข้อ

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml

ความหมายของไฟล์ robots.txt

  1. User Agent ชื่อ Googlebot ไม่ได้รับอนุญาตให้รวบรวมข้อมูล URL ใดๆ ที่ขึ้นต้นด้วย http://example.com/nogooglebot/
  2. ส่วน User Agent อื่นๆ ทั้งหมดได้รับอนุญาตให้รวบรวมข้อมูลทั้งเว็บไซต์ คุณไม่ต้องระบุการอนุญาตนี้ก็ได้เพราะผลลัพธ์ที่ได้จะเหมือนกัน เนื่องจากลักษณะการทำงานเริ่มต้นคือ User Agent ได้รับอนุญาตให้รวบรวมข้อมูลทั้งเว็บไซต์
  3. ไฟล์แผนผังเว็บไซต์ของเว็บไซต์นี้อยู่ที่ http://www.example.com/sitemap.xml

ดูตัวอย่างเพิ่มเติมในส่วนไวยากรณ์

หลักเกณฑ์พื้นฐานสำหรับการสร้างไฟล์ robots.txt

ในการสร้างไฟล์ robots.txt และทำให้ไฟล์เข้าถึงได้แบบสาธารณะและมีประโยชน์นั้นมี 4 ขั้นตอนดังนี้

  1. สร้างไฟล์ชื่อ robots.txt
  2. เพิ่มกฎลงในไฟล์ robots.txt
  3. อัปโหลดไฟล์ robots.txt ไปยังเว็บไซต์ของคุณ
  4. ทดสอบไฟล์ robots.txt

สร้างไฟล์ robots.txt

คุณใช้เครื่องมือแก้ไขข้อความได้เกือบทุกรายการเพื่อสร้างไฟล์ robots.txt เช่น Notepad, TextEdit, vi และ emacs เครื่องมือเหล่านี้สามารถใช้สร้างไฟล์ robots.txt ได้อย่างถูกต้อง แต่อย่าใช้โปรแกรมประมวลผลคำ เนื่องจากโปรแกรมเช่นนี้มักบันทึกไฟล์ในรูปแบบที่เป็นกรรมสิทธิ์และอาจเพิ่มอักขระที่ไม่คาดคิด เช่น เครื่องหมายคำพูดแบบโค้ง ซึ่งอาจทำให้เกิดปัญหาสำหรับโปรแกรมรวบรวมข้อมูล อย่าลืมว่าต้องบันทึกไฟล์ด้วยการเข้ารหัส UTF-8 หากมีข้อความแจ้งจากกล่องโต้ตอบขณะบันทึกไฟล์

กฎเกี่ยวกับรูปแบบและตำแหน่ง

  • ไฟล์ต้องมีชื่อว่า robots.txt
  • เว็บไซต์มี robots.txt ได้เพียงไฟล์เดียวเท่านั้น
  • ไฟล์ robots.txt ต้องอยู่ที่รากของโฮสต์ของเว็บไซต์ที่ใช้งานไฟล์นั้น ตัวอย่างเช่น หากต้องการควบคุมการรวบรวมข้อมูลใน URL ทั้งหมดใต้ https://www.example.com/ ไฟล์ robots.txt ต้องอยู่ที่ https://www.example.com/robots.txt ไม่ใช่วางไว้ในไดเรกทอรีย่อย (เช่นที่ https://example.com/pages/robots.txt) หากคุณไม่แน่ใจว่าจะเข้าถึงรากเว็บไซต์ได้อย่างไร หรือต้องการสิทธิ์เพื่อดำเนินการดังกล่าว โปรดติดต่อผู้ให้บริการเว็บโฮสติ้ง หากเข้าถึงรากเว็บไซต์ไม่ได้ ให้บล็อกด้วยวิธีการอื่น เช่น เมตาแท็ก
  • ไฟล์ robots.txt ใช้ได้กับโดเมนย่อย (เช่น https://website.example.com/robots.txt) หรือในพอร์ตที่ไม่ใช่แบบมาตรฐาน (เช่น http://example.com:8181/robots.txt)
  • ไฟล์ robots.txt ต้องเป็นไฟล์ข้อความที่ได้รับการเข้ารหัส UTF-8 (ซึ่งรวมถึง ASCII) Google อาจข้ามอักขระที่ไม่ได้อยู่ในช่วง UTF-8 ซึ่งอาจทำให้ถอดความหมายกฎของ robots.txt ได้อย่างไม่ถูกต้อง

เพิ่มกฎในไฟล์ robots.txt

กฎใช้เป็นคำสั่งสําหรับโปรแกรมรวบรวมข้อมูลว่าส่วนใดของเว็บไซต์ที่รวบรวมข้อมูลได้ ทำตามหลักเกณฑ์ต่อไปนี้เมื่อเพิ่มกฎลงในไฟล์ robots.txt

  • ไฟล์ robots.txt ประกอบด้วยกลุ่มอย่างน้อย 1 กลุ่ม
  • แต่ละกลุ่มประกอบด้วยกฎหรือคำสั่งหลายรายการ โดยมี 1 คำสั่งต่อบรรทัด แต่ละกลุ่มจะเริ่มต้นด้วยบรรทัด User-agent ที่ระบุเป้าหมายของกลุ่ม
  • กลุ่มจะให้ข้อมูลต่อไปนี้
    • กลุ่มนั้นใช้กับใคร (User Agent)
    • ไดเรกทอรีหรือไฟล์ใดที่ Agent เข้าถึงได้
    • ไดเรกทอรีหรือไฟล์ใดที่ Agent เข้าถึงไม่ได้
  • โปรแกรมรวบรวมข้อมูลจะประมวลผลกลุ่มจากบนลงล่าง User Agent สามารถจับคู่ชุดของกฎได้เพียงชุดเดียวเท่านั้น ซึ่งเป็นกลุ่มที่เจาะจงที่สุดกลุ่มแรกที่ตรงกับ User Agent ที่ระบุ
  • สมมติฐานเริ่มต้นคือ User Agent สามารถรวบรวมข้อมูลหน้าเว็บหรือไดเรกทอรีใดก็ตามที่ไม่ได้ถูกกฎ disallow บล็อกไว้
  • กฎจะพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ตัวอย่างเช่น disallow: /file.asp จะมีผลกับ https://www.example.com/file.asp แต่ไม่มีผลกับ https://www.example.com/FILE.asp
  • อักขระ # แสดงถึงจุดเริ่มต้นของความคิดเห็น

โปรแกรมรวบรวมข้อมูลของ Google รองรับคําสั่งต่อไปนี้ในไฟล์ robots.txt

  • user-agent: [ต้องมีอย่างน้อย 1 รายการต่อกลุ่ม] คำสั่งนี้จะระบุชื่อของไคลเอ็นต์อัตโนมัติหรือที่เรียกว่า "โปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหา" ที่กฎมีผลใช้งาน ซึ่งจะเป็นบรรทัดแรกสำหรับกฎใดๆ ก็ตาม ชื่อ User Agent ของ Google แสดงอยู่ในรายชื่อ User Agent ของ Google การใช้เครื่องหมายดอกจัน (*) จะจับคู่กับโปรแกรมรวบรวมข้อมูลทั้งหมดยกเว้นโปรแกรมรวบรวมข้อมูล AdsBot ต่างๆ ซึ่งต้องตั้งชื่อไว้อย่างชัดแจ้ง เช่น
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • disallow: [รายการ disallow หรือ allow อย่างน้อย 1 รายการต่อกฎ] ไดเรกทอรีหรือหน้าที่สัมพันธ์กับโดเมนราก ซึ่งคุณไม่ต้องการให้ User Agent รวบรวมข้อมูล หากกฎอ้างถึงหน้าเว็บ ต้องเป็นชื่อหน้าแบบเต็มตามที่แสดงในเบราว์เซอร์ โดยต้องขึ้นต้นด้วยอักขระ / และหากอ้างถึงไดเรกทอรี ต้องลงท้ายด้วยเครื่องหมาย /
  • allow: [รายการ disallow หรือ allow อย่างน้อย 1 รายการต่อกฎ] ไดเรกทอรีหรือหน้าที่สัมพันธ์กับโดเมนราก ซึ่ง User Agent ที่เพิ่งกล่าวถึงอาจรวบรวมข้อมูล ใช้เพื่อลบล้างคําสั่ง disallow เพื่ออนุญาตการรวบรวมข้อมูลไดเรกทอรีย่อยหรือหน้าในไดเรกทอรีที่ไม่อนุญาต สําหรับหน้าเดี่ยว ให้ระบุชื่อหน้าแบบเต็มตามที่แสดงในเบราว์เซอร์ ในกรณีที่เป็นไดเรกทอรี กฎควรลงท้ายด้วยเครื่องหมาย /
  • sitemap: [ไม่บังคับ จะไม่มีเลยหรือมีกี่รายการต่อไฟล์ก็ได้] ตำแหน่งของแผนผังเว็บไซต์ของเว็บไซต์นี้ URL ของแผนผังเว็บไซต์ต้องเป็น URL ที่สมบูรณ์ในตัวเองเนื่องจาก Google จะไม่ถือเอาหรือตรวจสอบทางเลือก http/https/www.non-www แผนผังเว็บไซต์เป็นวิธีที่ดีในการระบุเนื้อหาที่ Google ควรรวบรวมข้อมูล ซึ่งตรงข้ามกับเนื้อหาที่สามารถหรือไม่สามารถรวบรวมข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับแผนผังเว็บไซต์ เช่น
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

คําสั่งทั้งหมด ยกเว้น sitemap รองรับไวลด์การ์ด * สำหรับคำนำหน้าเส้นทาง คำต่อท้าย หรือทั้งสตริง

ระบบจะละเว้นบรรทัดที่ไม่ตรงกับคำสั่งเหล่านี้

อ่านเกี่ยวกับการตีความข้อกำหนดของ robots.txt ของ Google เพื่อดูคำอธิบายทั้งหมดของแต่ละคำสั่ง

อัปโหลดไฟล์ robots.txt

เมื่อบันทึกไฟล์ robots.txt ลงในคอมพิวเตอร์แล้ว คุณก็พร้อมที่จะจัดไฟล์ให้กับโปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหา ไม่มีเครื่องมือใดที่จะช่วยทำเรื่องนี้ได้ เพราะวิธีการอัปโหลดไฟล์ robots.txt ไปยังเว็บไซต์นั้นขึ้นอยู่กับสถาปัตยกรรมของเว็บไซต์และเซิร์ฟเวอร์ของคุณ โปรดติดต่อบริษัทโฮสติ้งของคุณหรือค้นหาเอกสารประกอบของบริษัท ตัวอย่างเช่น ค้นหาคำว่า "อัปโหลดไฟล์ Infomaniak"

หลังจากที่คุณอัปโหลดไฟล์ robots.txt แล้ว ให้ทดสอบว่าสามารถเข้าถึงได้แบบสาธารณะหรือไม่ และ Google สามารถแยกวิเคราะห์ไฟล์ได้หรือไม่

ทดสอบมาร์กอัป robots.txt

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

การทดสอบมาร์กอัป robots.txt ของ Google มีด้วยกัน 2 ตัวเลือก ดังนี้

  1. เครื่องมือทดสอบ robots.txt ใน Search Console คุณจะใช้เครื่องมือนี้ได้ต่อเมื่อไฟล์ robots.txt สามารถเข้าถึงได้แล้วในเว็บไซต์
  2. หากคุณเป็นนักพัฒนาซอฟต์แวร์ ให้ดูและสร้างไลบรารี robots.txt แบบโอเพนซอร์สของ Google ซึ่งใช้ใน Google Search เช่นกัน คุณสามารถใช้เครื่องมือนี้เพื่อทดสอบไฟล์ robots.txt ได้ในคอมพิวเตอร์

ส่งไฟล์ robots.txt ไปยัง Google

เมื่อคุณอัปโหลดและทดสอบไฟล์ robots.txt แล้ว โปรแกรมรวบรวมข้อมูลของ Google จะค้นหาและเริ่มใช้ไฟล์ robots.txt โดยอัตโนมัติ โดยที่คุณไม่ต้องทำอะไรเลย หากคุณอัปเดตไฟล์ robots.txt และต้องการรีเฟรชสำเนาที่แคชไว้ของ Google โดยเร็วที่สุด โปรดดูวิธีส่งไฟล์ robots.txt ที่มีการอัปเดต

กฎที่มีประโยชน์ของ robots.txt

ตัวอย่างกฎที่มีประโยชน์ของ robots.txt ที่ใช้กันทั่วไปมีดังนี้

กฎที่มีประโยชน์
ไม่อนุญาตให้รวบรวมข้อมูลของทั้งเว็บไซต์

โปรดทราบว่าในบางสถานการณ์ URL จากเว็บไซต์อาจยังคงได้รับการจัดทำดัชนีแม้ว่าไม่ได้มีการรวบรวมข้อมูลก็ตาม


User-agent: *
Disallow: /
ไม่อนุญาตให้รวบรวมข้อมูลของไดเรกทอรีและเนื้อหาในไดเรกทอรี

เติมเครื่องหมายทับต่อท้ายชื่อไดเรกทอรีเพื่อไม่อนุญาตให้รวบรวมข้อมูลทั้งไดเรกทอรี


User-agent: *
Disallow: /calendar/
Disallow: /junk/
อนุญาตการเข้าถึงให้แก่โปรแกรมรวบรวมข้อมูลเพียงโปรแกรมเดียว

มีแค่ googlebot-news เท่านั้นที่จะรวบรวมข้อมูลทั้งเว็บไซต์ได้


User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
อนุญาตการเข้าถึงให้แก่โปรแกรมรวบรวมข้อมูลทั้งหมดยกเว้นโปรแกรมเดียว

Unnecessarybot จะรวบรวมข้อมูลเว็บไซต์ไม่ได้ แต่บ็อตอื่นๆ ทั้งหมดจะรวบรวมได้


User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

ไม่อนุญาตให้รวบรวมข้อมูลหน้าเว็บเดียว

เช่น ไม่อนุญาตให้รวบรวมข้อมูลหน้า useless_file.html


User-agent: *
Disallow: /useless_file.html

บล็อกรูปภาพบางภาพไม่ให้แสดงใน Google รูปภาพ

เช่น ไม่อนุญาตให้รวบรวมข้อมูลรูปภาพ dogs.jpg


User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

บล็อกรูปภาพทั้งหมดในเว็บไซต์ของคุณไม่ให้แสดงใน Google รูปภาพ

Google ไม่สามารถจัดทําดัชนีรูปภาพและวิดีโอได้หากไม่ได้รวบรวมข้อมูล


User-agent: Googlebot-Image
Disallow: /

ไม่อนุญาตให้รวบรวมข้อมูลไฟล์บางประเภท

เช่น ไม่อนุญาตให้รวบรวมข้อมูลไฟล์ .gif ทุกไฟล์


User-agent: Googlebot
Disallow: /*.gif$

ไม่อนุญาตให้รวบรวมข้อมูลทั้งเว็บไซต์ แต่อนุญาต Mediapartners-Google

การใช้กฎนี้จะซ่อนหน้าเว็บของคุณจากผลการค้นหา แต่โปรแกรมรวบรวมข้อมูลเว็บ Mediapartners-Google ยังสามารถวิเคราะห์หน้าเว็บเพื่อตัดสินใจว่าจะแสดงโฆษณาใดในเว็บไซต์


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
ใช้ $ เพื่อจับคู่ URL ที่ลงท้ายด้วยสตริงที่เจาะจง

เช่น ไม่อนุญาตให้รวบรวมข้อมูลไฟล์ .xls ทั้งหมด


User-agent: Googlebot
Disallow: /*.xls$