ข้อกำหนดของ robots.txt

บทคัดย่อ

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

สิ่งที่เปลี่ยนแปลง

เมื่อวันที่ 1 กรกฎาคม 2019 Google ได้ประกาศว่าโปรโตคอล robots.txt กำลังมุ่งที่จะเป็นมาตรฐานอินเทอร์เน็ต การเปลี่ยนแปลงดังกล่าวแสดงอยู่ในเอกสารนี้

คำจำกัดความพื้นฐาน

คำจำกัดความ
โปรแกรมรวบรวมข้อมูล โปรแกรมรวบรวมข้อมูลคือบริการหรือ Agent ที่รวบรวมข้อมูลเว็บไซต์ โดยทั่วไปแล้ว โปรแกรมรวบรวมข้อมูลจะเข้าถึง URL ที่รู้จักของโฮสต์ที่แสดงเนื้อหาที่เข้าถึงได้ด้วยเว็บเบราว์เซอร์มาตรฐานในแบบซ้ำๆ โดยอัตโนมัติ เมื่อพบ URL ใหม่ (ผ่านวิธีการต่างๆ เช่น จากลิงก์ในหน้าเว็บที่มีอยู่ หรือที่ได้รับการรวบรวมข้อมูลแล้ว หรือจากไฟล์แผนผังไซต์) โปรแกรมก็จะรวบรวมข้อมูล URL เหล่านี้ในลักษณะเดียวกัน
User-agent วิธีการระบุโปรแกรมรวบรวมข้อมูลหนึ่งๆ หรือชุดโปรแกรมรวบรวมข้อมูล
คำสั่ง รายการหลักเกณฑ์ที่ใช้กับโปรแกรมรวบรวมข้อมูลหรือกลุ่มโปรแกรมรวบรวมข้อมูลซึ่งกำหนดไว้ในไฟล์ robots.txt
URL ย่อมาจาก Uniform Resource Locator หรือโปรแกรมชี้แหล่งทรัพยากรในอินเทอร์เน็ตตามที่ให้คำจำกัดความไว้ใน RFC 1738
เฉพาะสำหรับ Google เอลิเมนต์เหล่านี้มีไว้สำหรับการใช้งาน robots.txt ของ Google โดยเฉพาะและอาจไม่เกี่ยวข้องกับบุคคลอื่น

ประโยชน์ต่อการให้บริการ

โปรแกรมรวบรวมข้อมูลอัตโนมัติทั้งหมดของ Google ทำงานตามหลักเกณฑ์ที่กำหนดไว้ในเอกสารนี้ เมื่อ Agent เข้าถึง URL ในนามของผู้ใช้ (เช่น สำหรับการแปล ฟีดที่สมัครรับด้วยตนเอง การวิเคราะห์มัลแวร์) ก็ไม่จำเป็นต้องใช้หลักเกณฑ์เหล่านี้

ตำแหน่งไฟล์และช่วงความถูกต้อง

ไฟล์ robots.txt ต้องอยู่ในไดเรกทอรีระดับบนสุดของโฮสต์และเข้าถึงได้ผ่านโปรโตคอลและหมายเลขพอร์ตที่เหมาะสม โปรโตคอลที่ยอมรับโดยทั่วไปของ robots.txt เป็นแบบ URI ทั้งหมดและสำหรับ Google Search โดยเฉพาะ (เช่น การรวบรวมข้อมูลเว็บไซต์) คือ "http" และ "https" ในโปรโตคอลทั้งสองนี้ ระบบจะดึงไฟล์ robots.txt โดยใช้คำขอ GET แบบไม่มีเงื่อนไขของ HTTP

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

คำสั่งที่ระบุไว้ในไฟล์ robots.txt จะใช้เฉพาะกับโฮสต์ โปรโตคอล และหมายเลขพอร์ตที่โฮสต์ไฟล์นั้นอยู่

ตัวอย่าง URL ที่ถูกต้องของ robots.txt

ตัวอย่าง URL ของ robots.txt
http://example.com/robots.txt ใช้ได้กับ
  • http://example.com/
  • http://example.com/folder/file
ใช้ไม่ได้กับ
  • http://other.example.com/
  • https://example.com/
  • http://example.com:8181/
http://www.example.com/robots.txt

ใช้ได้กับ http://www.example.com/

ใช้ไม่ได้กับ

  • http://example.com/
  • http://shop.www.example.com/
  • http://www.shop.example.com/
http://example.com/folder/robots.txt ไม่ใช่ไฟล์ robots.txt ที่ถูกต้อง โปรแกรมรวบรวมข้อมูลไม่ตรวจหาไฟล์ robots.txt ในไดเรกทอรีย่อย
http://www.müller.eu/robots.txt ใช้ได้กับ
  • http://www.müller.eu/
  • http://www.xn--mller-kva.eu/

ใช้ไม่ได้กับ http://www.muller.eu/

ftp://example.com/robots.txt

ใช้ได้กับ ftp://example.com/

ใช้ไม่ได้กับ http://example.com/

เฉพาะสำหรับ Google: เราใช้ robots.txt สำหรับทรัพยากร FTP

http://212.96.82.21/robots.txt

ใช้ได้กับ http://212.96.82.21/

ใช้ไม่ได้กับ http://example.com/ (แม้ว่าจะโฮสต์ใน 212.96.82.21)

http://example.com:80/robots.txt

ใช้ได้กับ

  • http://example.com:80/
  • http://example.com/

ใช้ไม่ได้กับ http://example.com:81/

http://example.com:8181/robots.txt

ใช้ได้กับ http://example.com:8181/

ใช้ไม่ได้กับ http://example.com/

ทำความเข้าใจรหัสผลลัพธ์ HTTP

โดยทั่วไปจะมีผลลัพธ์ที่แตกต่างกัน 3 แบบเมื่อดึงไฟล์ robots.txt ดังนี้

  • อนุญาตทั้งหมด: เนื้อหาทั้งหมดอาจได้รับการรวบรวมข้อมูล
  • ไม่อนุญาตทั้งหมด: ไม่มีการรวบรวมข้อมูลเนื้อหาใดๆ
  • อนุญาตตามเงื่อนไข: คำสั่งใน robots.txt เป็นตัวกำหนดความสามารถในการรวบรวมข้อมูลเนื้อหาบางอย่าง
ทำความเข้าใจรหัสผลลัพธ์ HTTP
2xx (สำเร็จ) รหัสผลลัพธ์ HTTP ที่แสดงสัญญาณว่าการรวบรวมข้อมูลแบบ "อนุญาตตามเงื่อนไข" สำเร็จ
3xx (เปลี่ยนเส้นทาง) Google ติดตามการเปลี่ยนเส้นทางอย่างน้อย 5 ครั้งตามที่ RFC 1945 กำหนดไว้สำหรับ HTTP/1.0 จากนั้นจะหยุดและถือว่าเป็นข้อผิดพลาด 404 ไม่แนะนำให้จัดการการเปลี่ยนเส้นทางของ robots.txt ไปยัง URL ที่ไม่อนุญาต เนื่องจากยังไม่มีการเรียกกฎ Google จึงติดตามการเปลี่ยนเส้นทางอย่างน้อย 5 ครั้งและหากไม่พบ robots.txt ก็จะถือว่าเป็นข้อผิดพลาด 404 สำหรับ robots.txt นอกจากนี้ยังไม่แนะนำให้จัดการการเปลี่ยนเส้นทางที่สมเหตุสมผลสำหรับไฟล์ robots.txt ซึ่งอิงตามเนื้อหา HTML ที่แสดงรหัส 2xx (การเปลี่ยนเส้นทางเฟรม, JavaScript หรือแบบ Meta-refresh) และจะมีการใช้เนื้อหาของหน้าแรกในการค้นหากฎที่เกี่ยวข้อง
4xx (ข้อผิดพลาดของไคลเอ็นต์) ระบบดำเนินการกับข้อผิดพลาด 4xx ทั้งหมดในลักษณะเดียวกันและถือว่าไม่มีไฟล์ robots.txt ที่ถูกต้อง ระบบสันนิษฐานว่าไม่มีข้อจำกัด รหัสประเภทนี้หมายความว่ารวบรวมข้อมูลได้แบบ "อนุญาตทั้งหมด"
5xx (ข้อผิดพลาดของเซิร์ฟเวอร์)

ระบบมองว่าข้อผิดพลาดของเซิร์ฟเวอร์เป็นข้อผิดพลาดชั่วคราวที่ส่งผลให้การรวบรวมข้อมูลเป็นแบบ "ไม่อนุญาตทั้งหมด" และจะลองส่งคำขอจนกว่าจะได้รับรหัสผลลัพธ์ HTTP ที่ไม่ใช่ข้อผิดพลาดของเซิร์ฟเวอร์ ข้อผิดพลาด 503 (บริการไม่พร้อมใช้งาน) ส่งผลให้มีการลองใหม่ค่อนข้างบ่อย หาก Google เข้าถึง robots.txt ไม่ได้นานกว่า 30 วันจะมีการใช้สำเนา robots.txt ที่แคชไว้ครั้งล่าสุด หากไม่มีแคชล่าสุดก็จะถือว่าไม่มีข้อจำกัดในการรวบรวมข้อมูล หากต้องการระงับการรวบรวมข้อมูลชั่วคราว ขอแนะนำให้แสดงรหัสผลลัพธ์ HTTP 503

เฉพาะสำหรับ Google: หากเราระบุได้ว่าเว็บไซต์ได้รับการกำหนดค่าอย่างไม่ถูกต้องให้แสดงรหัส 5xx แทนที่จะเป็น 404 สำหรับหน้าเว็บที่ขาดหายไป เราถือว่าข้อผิดพลาด 5xx จากเว็บไซต์นั้นเป็น 404

คำขอไม่สำเร็จหรือข้อมูลไม่สมบูรณ์ การจัดการไฟล์ robots.txt ที่ระบบดึงข้อมูลไม่ได้เพราะมีปัญหาเกี่ยวกับ DNS หรือเครือข่าย เช่น หมดเวลา ตอบสนองไม่ถูกต้อง การเชื่อมต่อที่รีเซ็ต/มีปัญหา ข้อผิดพลาดจากแบ่งข้อมูลเป็นส่วนย่อยๆ ของ HTTP ถือว่าเป็นข้อผิดพลาดของเซิร์ฟเวอร์
การแคช โดยทั่วไประบบจะแคชเนื้อหาของ robots.txt ไว้นานสูงสุด 24 ชั่วโมง แต่อาจแคชนานขึ้นในกรณีที่รีเฟรชเวอร์ชันที่แคชไม่ได้ (เช่น เพราะหมดเวลาหรือมีข้อผิดพลาด 5xx) โปรแกรมรวบรวมข้อมูลต่างๆ อาจใช้การตอบสนองที่แคชร่วมกัน Google อาจเพิ่มหรือลดระยะเวลาในการแคชตามส่วนหัว HTTP Cache-Control ตามระยะเวลาสูงสุด

รูปแบบไฟล์

รูปแบบไฟล์ที่ควรใช้คือข้อความธรรมดา (Plain text) ที่เข้ารหัสในรูปแบบ UTF-8 ไฟล์ประกอบด้วยบรรทัดที่คั่นด้วย CR, CR/LF หรือ LF

ระบบพิจารณาเฉพาะบรรทัดที่ถูกต้องและละเว้นเนื้อหาอื่นทั้งหมด เช่น หากเอกสารผลลัพธ์คือหน้า HTML ระบบจะพิจารณาเฉพาะบรรทัดข้อความที่ถูกต้อง และละเว้นส่วนที่เหลือโดยไม่แสดงคำเตือนหรือข้อผิดพลาด

หากมีการใช้การเข้ารหัสอักขระซึ่งส่งผลให้มีการใช้อักขระที่ไม่ใช่ชุดย่อยของ UTF-8 อาจทำให้ระบบแยกวิเคราะห์เนื้อหาของไฟล์ไม่ถูกต้อง

ระบบจะละเว้น BOM (Byte Order Mark) ใน Unicode ที่ไม่บังคับและอยู่ที่ตอนต้นของไฟล์ robots.txt

แต่ละบรรทัดประกอบด้วยช่องข้อมูล เครื่องหมายทวิภาค และค่า ไม่บังคับว่าต้องมีการเว้นวรรค (แต่แนะนำให้มีเพื่อให้อ่านง่ายขึ้น) คุณใส่ความคิดเห็นไว้ที่ตำแหน่งใดก็ได้ในไฟล์โดยใช้อักขระ "#" ระบบจะถือว่าเนื้อหาทั้งหมดที่อยู่หลังส่วนต้นของความคิดเห็นไปจนถึงส่วนท้ายของบรรทัดเป็นความคิดเห็นและจะละเว้นไว้ รูปแบบทั่วไปคือ <field>:<value><#optional-comment> ระบบละเว้นช่องว่างที่ส่วนต้นและส่วนท้ายของบรรทัด

เอลิเมนต์ <field> ไม่คำนึงถึงตัวพิมพ์เล็กหรือใหญ่ แต่เอลิเมนต์ <value> อาจคำนึงถึงตัวพิมพ์เล็กและใหญ่โดยขึ้นอยู่กับเอลิเมนต์ <field>

ไม่รองรับการจัดการเอลิเมนต์ <field> ที่มีข้อผิดพลาดหรือการพิมพ์ผิดเล็กๆ น้อยๆ (เช่น ใช้ "useragent" แทน "user-agent")

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

ไวยากรณ์/คำจำกัดความอย่างเป็นทางการ

ต่อไปนี้เป็นคำอธิบาย Augmented Backus-Naur Form (ABNF) ดังที่อธิบายไว้ใน RFC 5234

robotstxt = *(group / emptyline)
group = startgroupline                    ; We start with a user-agent
        *(startgroupline / emptyline)     ; ... and possibly more user-agents
        *(rule / emptyline)               ; followed by rules relevant for UAs

startgroupline = *WS "user-agent" *WS ":" *WS product-token EOL

rule = *WS ("allow" / "disallow") *WS ":" *WS (path-pattern / empty-pattern) EOL

; parser implementors: add additional lines you need (for example, Sitemaps), and
; be lenient when reading lines that don’t conform. Apply Postel’s law.

product-token = identifier / "*"
path-pattern = "/" *(UTF8-char-noctl)    ; valid URI path pattern; see 3.2.2
empty-pattern = *WS

identifier = 1*(%x2d / %x41-5a / %x5f / %x61-7a)
comment = "#" *(UTF8-char-noctl / WS / "#")
emptyline = EOL
EOL = *WS [comment] NL         ; end-of-line may have optional trailing comment
NL = %x0D / %x0A / %x0D.0A
WS = %x20 / %x09

; UTF8 derived from RFC3629, but excluding control characters
UTF8-char-noctl = UTF8-1-noctl / UTF8-2 / UTF8-3 / UTF8-4
UTF8-1-noctl    = %x21 / %x22 / %x24-7F  ; excluding control, space, '#'
UTF8-2          = %xC2-DF UTF8-tail
UTF8-3          = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /
                  %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )
UTF8-4          = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /
                  %xF4 %x80-8F 2( UTF8-tail )
UTF8-tail       = %x80-BF

การจัดกลุ่มบรรทัดและกฎ

บรรทัด User-agent อย่างน้อย 1 บรรทัดที่ตามด้วยกฎอย่างน้อย 1 ข้อ กลุ่มจะสิ้นสุดเมื่อมีบรรทัด User-agent หรือถึงส่วนท้ายของไฟล์ กลุ่มสุดท้ายอาจไม่มีกฎเลยก็ได้ซึ่งหมายความว่าอนุญาตทุกอย่างโดยปริยาย

กลุ่มตัวอย่าง

user-agent: a
disallow: /c

user-agent: b
disallow: /d

user-agent: e
user-agent: f
disallow: /g

user-agent: h

มีการระบุกลุ่มที่แตกต่างกัน 4 กลุ่ม นั่นคือ กลุ่มสำหรับ "a", กลุ่มสำหรับ "b" รวมถึงอีกกลุ่มสำหรับทั้ง "e" และ "f" แต่ละกลุ่มมีบรรทัดสมาชิกกลุ่มของตัวเองยกเว้นกลุ่มสุดท้าย ซึ่งเป็นกลุ่มว่างเปล่า โปรดสังเกตการใช้พื้นที่ว่างและการเว้นบรรทัดที่ไม่บังคับเพื่อให้อ่านได้ง่ายขึ้น

ลำดับความสำคัญของ User-agent

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

หากมีมากกว่า 1 กลุ่มสำหรับ User-agent หนึ่งๆ ระบบจะรวมกฎทั้งหมดจากกลุ่มที่ใช้กับ User-agent ที่เจาะจง

ตัวอย่าง

ใช้ไฟล์ robots.txt ต่อไปนี้เป็นตัวอย่างสมมติ

user-agent: googlebot-news
(group 1)

user-agent: *
(group 2)

user-agent: googlebot
(group 3)

ต่อไปนี้คือวิธีที่โปรแกรมรวบรวมข้อมูลจะเลือกกลุ่มที่เกี่ยวข้อง

กลุ่มที่โปรแกรมรวบรวมข้อมูลแต่ละโปรแกรมติดตาม
Googlebot News กลุ่มที่ติดตามคือกลุ่ม 1 โปรแกรมจะติดตามเฉพาะกลุ่มที่เจาะจงที่สุดและละเว้นกลุ่มที่เหลือ
Googlebot (เว็บ) กลุ่มที่ติดตามคือกลุ่ม 3
Googlebot Images กลุ่มที่ติดตามคือกลุ่ม 3 ไม่มีกลุ่ม googlebot-images ที่เจาะจง โปรแกรมจึงจะติดตามกลุ่มแบบทั่วไปมากกว่า
Googlebot News (เมื่อรวบรวมข้อมูลรูปภาพ) กลุ่มที่ติดตามคือกลุ่ม 1 มีการรวบรวมข้อมูลรูปภาพเหล่านี้สำหรับ Googlebot News และ Googlebot News ก็รวบรวมข้อมูลรูปภาพเหล่านี้ด้วย ดังนั้นจึงมีการติดตามเฉพาะกลุ่ม Googlebot News
Otherbot (เว็บ) กลุ่มที่ติดตามคือกลุ่ม 2
Otherbot (ข่าว) กลุ่มที่ติดตามคือกลุ่ม 2 แม้ว่าจะมีรายการสำหรับโปรแกรมรวบรวมข้อมูลที่เกี่ยวข้อง แต่รายการนั้นจะใช้ได้ก็ต่อเมื่อจับคู่ตรงกันเท่านั้น

ดูโปรแกรมรวบรวมข้อมูลและสตริง User-agent ของ Google เพิ่มเติม

กฎสมาชิกกลุ่ม

ส่วนนี้กล่าวถึงกฎสมาชิกกลุ่มแบบมาตรฐานเท่านั้น ซึ่งเรียกอีกอย่างว่า "คำสั่ง" สำหรับโปรแกรมรวบรวมข้อมูล คำสั่งเหล่านี้จะระบุในรูปแบบ directive: [path] ซึ่งจะมี [path] หรือไม่มีก็ได้ ตามค่าเริ่มต้น โปรแกรมรวบรวมข้อมูลที่กำหนดไม่มีข้อจำกัดในการรวบรวมข้อมูล ระบบจะละเว้นคำสั่งที่ไม่มี [path]

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

ไม่อนุญาต

คำสั่ง disallow ระบุเส้นทางที่โปรแกรมรวบรวมข้อมูลที่กำหนดต้องไม่เข้าถึง ระบบจะละเว้นคำสั่งเมื่อไม่มีการระบุเส้นทาง

การใช้งาน

disallow: [path]

อนุญาต

คำสั่ง allow ระบุเส้นทางที่โปรแกรมรวบรวมข้อมูลที่กำหนดอาจเข้าถึง ระบบจะละเว้นคำสั่งเมื่อไม่มีการระบุเส้นทาง

การใช้งาน

allow: [path]

การจับคู่ URL ตามค่าเส้นทาง

ค่าเส้นทางใช้เป็นพื้นฐานในการพิจารณาว่ากฎมีผลกับ URL หนึ่งๆ ในเว็บไซต์หรือไม่ หากไม่รวมไวลด์การ์ด เส้นทางจะใช้เพื่อจับคู่จุดเริ่มต้นของ URL (และ URL ที่ถูกต้องซึ่งขึ้นต้นด้วยเส้นทางเดียวกัน) อาจมีการรวมอักขระ ASCII ที่ไม่ใช่แบบ 7 บิตในเส้นทางเป็นอักขระ UTF-8 หรืออักขระที่เข้ารหัส UTF-8 แบบกำหนดสัญลักษณ์เปอร์เซ็นต์เป็นอักขระหลีกตามที่ระบุใน RFC 3986

Google, Bing, Yahoo และ Ask รองรับ "ไวลด์การ์ด" เพียงบางรูปแบบในค่าเส้นทาง ได้แก่

  • * กำหนดอินสแตนซ์ของอักขระที่ถูกต้องตั้งแต่ 0 รายการขึ้นไป
  • $ กำหนดส่วนท้ายของ URL
ตัวอย่างเส้นทางที่ตรงกัน
/ จับคู่รากและ URL ระดับล่าง
/* เทียบเท่ากับ / ระบบละเว้นไวลด์การ์ดปิดท้าย
/fish

เส้นทางที่ตรงกัน

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

เส้นทางที่ไม่ตรงกัน

  • /Fish.asp
  • /catfish
  • /?id=fish
/fish*

เทียบเท่ากับ /fish ระบบละเว้นไวลด์การ์ดปิดท้าย

เส้นทางที่ตรงกัน

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

เส้นทางที่ไม่ตรงกัน

  • /Fish.asp
  • /catfish
  • /?id=fish
/fish/

เครื่องหมายทับปิดท้ายหมายความว่าเส้นทางนี้จับคู่กับอะไรก็ได้ในโฟลเดอร์นี้

เส้นทางที่ตรงกัน

  • /fish/
  • /fish/?id=anything
  • /fish/salmon.htm

เส้นทางที่ไม่ตรงกัน

  • /fish
  • /fish.html
  • /Fish/Salmon.asp
/*.php

เส้นทางที่ตรงกัน

  • /filename.php
  • /folder/filename.php
  • /folder/filename.php?parameters
  • /folder/any.php.file.html
  • /filename.php/

เส้นทางที่ไม่ตรงกัน

  • / (แม้ว่าจะจับคู่กับ /index.php)
  • /windows.PHP
/*.php$

เส้นทางที่ตรงกัน

  • /filename.php
  • /folder/filename.php

เส้นทางที่ไม่ตรงกัน

  • /filename.php?parameters
  • /filename.php/
  • /filename.php5
  • /windows.PHP
/fish*.php

เส้นทางที่ตรงกัน

  • /fish.php
  • /fishheads/catfish.php?parameters

เส้นทางที่ไม่ตรงกันคือ /Fish.PHP

บรรทัดที่ไม่ใช่สมาชิกกลุ่มที่ Google รองรับ

Google, Ask, Bing และ Yahoo รองรับ sitemap ตามที่จำกัดความโดย sitemaps.org

การใช้งาน

sitemap: [absoluteURL]

[absoluteURL] ชี้ไปที่แผนผังไซต์ ไฟล์ดัชนีแผนผังไซต์ หรือ URL ที่เทียบเท่า โดย URL ไม่จำเป็นต้องอยู่ในโฮสต์เดียวกันกับไฟล์ robots.txt รายการใน sitemap อาจมีจำนวนมาก บรรทัดที่ไม่ใช่สมาชิกกลุ่มไม่ได้เชื่อมโยงกับ User-agent ใดโดยเฉพาะ และอาจติดตามโดยโปรแกรมรวบรวมข้อมูลทั้งหมดหากไม่มีการห้าม

ลำดับความสำคัญของบรรทัดสมาชิกกลุ่ม

ในระดับสมาชิกกลุ่มโดยเฉพาะสำหรับคำสั่ง allow และ disallow กฎที่เจาะจงมากที่สุดโดยอิงจากความยาวของรายการ [path] จะมีผลเหนือกฎที่เจาะจงน้อยกว่า (สั้นกว่า) ในกรณีที่กฎที่ขัดแย้งกัน (รวมถึงกฎที่มีไวลด์การ์ด) ระบบจะใช้กฎที่มีการจำกัดน้อยที่สุด

กรณีตัวอย่าง
http://example.com/page

allow: /p

disallow: /

การตัดสิน: allow

http://example.com/folder/page

allow: /folder

disallow: /folder

การตัดสิน: allow

http://example.com/page.htm

allow: /page

disallow: /*.htm

การตัดสิน: undefined

http://example.com/

allow: /$

disallow: /

การตัดสิน: allow

http://example.com/page.htm

allow: /$

disallow: /

การตัดสิน: disallow