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

เริ่มต้นใช้งาน

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

ไฟล์ robots.txt ธรรมดาที่มีกฎ 2 ข้อมีลักษณะดังนี้ ดูคำอธิบายด้านล่าง

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

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

คำอธิบาย

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

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

หลักเกณฑ์พื้นฐานของไฟล์ robots.txt

ต่อไปนี้เป็นหลักเกณฑ์พื้นฐานสำหรับไฟล์ robots.txt เราขอแนะนำให้คุณอ่านไวยากรณ์แบบเต็มของไฟล์ robots.txt เนื่องจากไวยากรณ์ของไฟล์ robots.txt มีลักษณะการทำงานที่เป็นรายละเอียดปลีกย่อยบางอย่างที่คุณควรทำความเข้าใจ

รูปแบบและตำแหน่ง

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

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

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

ไวยากรณ์

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

คำสั่งต่อไปนี้ใช้ในไฟล์ 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 ประกอบด้วยกลุ่มตั้งแต่ 1 กลุ่มขึ้นไป แต่ละกลุ่มเริ่มต้นด้วยบรรทัด User-agent ที่ระบุเป้าหมายของกลุ่มนั้น ไฟล์ที่มีกลุ่ม 2 กลุ่มมีลักษณะดังนี้ ความคิดเห็นในบรรทัดอธิบายกลุ่มแต่ละกลุ่ม

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
Disallow: /

ไวยากรณ์ robots.txt แบบเต็ม

ดูไวยากรณ์ robots.txt แบบเต็มได้ที่นี่ โปรดอ่านเอกสารฉบับเต็มเพราะไวยากรณ์ robots.txt มีบางส่วนที่ค่อนข้างซับซ้อนซึ่งคุณควรทำความเข้าใจ

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

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

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

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

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

User-agent: Googlebot-news
Allow: /

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

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

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


User-agent: *
Disallow: /private_file.html

บล็อกรูปภาพรายการเฉพาะจาก Google รูปภาพ ดังนี้


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

บล็อกรูปภาพทั้งหมดในเว็บไซต์จาก Google รูปภาพ ดังนี้


User-agent: Googlebot-Image
Disallow: /

เลิกอนุญาตให้รวบรวมข้อมูลของไฟล์บางประเภท (เช่น .gif) ดังนี้


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

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


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
หากต้องการจับคู่ URL ที่ลงท้ายด้วยสตริงที่เจาะจง ให้ใช้ $ ตัวอย่างเช่น โค้ดตัวอย่างนี้บล็อก URL ที่ลงท้ายด้วย .xls

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