เกี่ยวกับ robots.txt

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

ถ้าคุณใช้บริการโฮสติ้งเว็บไซต์เช่น Wix หรือ Blogger คุณอาจไม่จำเป็นต้องสร้างหรือแก้ไขไฟล์ robots.txt

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

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

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

# กฎข้อที่ 1
User-agent: Googlebot
Disallow: /nogooglebot/

# กฎข้อที่ 2
User-agent: *
Allow: /

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

 

คำอธิบาย

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

เราจะแสดงตัวอย่างที่ละเอียดยิ่งขึ้นภายหลัง

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

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

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

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

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

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

  • ไฟล์ต้องชื่อว่า 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 ต้องเป็นไฟล์ข้อความ ASCII หรือ UTF-8 และห้ามใช้อักขระอื่นๆ
  • ไฟล์ robots.txt ต้องมีกฎอย่างน้อย 1 ข้อ
  • กฎแต่ละข้อประกอบด้วยหลายคำสั่ง (วิธีการ) โดยจะมี 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 ส่วนใหญ่จะแสดงอยู่ในฐานข้อมูลโรบ็อตในเว็บหรือในรายชื่อ User Agent ของ Google รองรับการใช้สัญลักษณ์แทน * สำหรับคำนำหน้าเส้นทาง คำต่อท้าย หรือสตริงทั้งหมด การใช้เครื่องหมายดอกจัน (*) ตามตัวอย่างด้านล่างจะตรงกับโปรแกรมรวบรวมข้อมูลทั้งหมด ยกเว้นโปรแกรมรวบรวมข้อมูล AdsBot ต่างๆ ซึ่งต้องระบุอย่างชัดแจ้ง (ดูรายชื่อโปรแกรมรวบรวมข้อมูลของ Google) ตัวอย่าง
    # ตัวอย่างที่ 1: บล็อกเฉพาะ Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # ตัวอย่างที่ 2: บล็อก Googlebot และ Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # ตัวอย่างที่ 3: บล็อกทั้งหมดยกเว้น AdsBot crawlers
    User-agent: * 
    Disallow: /
  • Disallow: [รายการ Disallow หรือ Allow อย่างน้อย 1 รายการต่อกฎ] ไดเรกทอรีหรือหน้าเว็บที่สัมพันธ์กับโดเมนราก ซึ่ง User Agent ไม่ควรรวบรวมข้อมูล หากเป็นหน้า ควรเป็นชื่อหน้าแบบเต็มตามที่แสดงในเบราว์เซอร์ แต่หากเป็นไดเรกทอรี ควรลงท้ายด้วยเครื่องหมาย /  รองรับการใช้สัญลักษณ์แทน * สำหรับคำนำหน้าเส้นทาง คำต่อท้าย หรือสตริงทั้งหมด
  • Allow: [รายการ Disallow หรือ Allow อย่างน้อย 1 รายการต่อกฎ] ไดเรกทอรีหรือหน้าที่สัมพันธ์กับโดเมนราก ซึ่ง User Agent ควรรวบรวมข้อมูลตามที่เพิ่งกล่าวไป ใช้เพื่อแทนที่ Disallow เพื่ออนุญาตการรวบรวมข้อมูลไดเรกทอรีย่อยหรือหน้าในไดเรกทอรีที่ไม่ได้รับอนุญาต หากเป็นหน้า ควรเป็นชื่อหน้าแบบเต็มตามที่แสดงในเบราว์เซอร์ แต่หากเป็นไดเรกทอรี ควรลงท้ายด้วยเครื่องหมาย / รองรับการใช้สัญลักษณ์แทน * สำหรับคำนำหน้าเส้นทาง คำต่อท้าย หรือสตริงทั้งหมด
  • Sitemap: [ไม่บังคับ ไม่มีหรือมีอย่างน้อย 1 รายการต่อไฟล์ก็ได้] ตำแหน่งของแผนผังไซต์ของเว็บไซต์นี้ ต้องเป็น URL ที่มีคุณสมบัติครบถ้วน Google จะไม่ถือเอาหรือตรวจสอบทางเลือก http/https/www.non-www แผนผังไซต์เป็นวิธีที่ดีในการระบุเนื้อหาที่ Google ควรรวบรวมข้อมูล ซึ่งตรงข้ามกับเนื้อหาที่สามารถหรือไม่สามารถรวบรวมข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับแผนผังไซต์ ตัวอย่าง
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

ระบบจะละเว้นคีย์เวิร์ดที่ไม่รู้จักไว้

ไฟล์ตัวอย่างอื่น

ไฟล์ robots.txt ประกอบด้วยบล็อกของกฎตั้งแต่ 1 กฎขึ้นไป แต่ละบล็อกเริ่มต้นด้วยบรรทัด User-agent ที่ระบุเป้าหมายของกฎนั้น ไฟล์ที่มีกฎ 2 ข้อมีลักษณะดังนี้ ข้อความในบรรทัดอธิบายกฎแต่ละข้อ

# บล็อก Googlebot จาก example.com/directory1/... และ example.com/directory2/...
# แต่อนุญาตให้เข้าถึง directory2/subdirectory1/...
# ไดเรกทอรีอื่นทั้งหมดในเว็บไซต์ได้รับอนุญาตตามค่าเริ่มต้น
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# บล็อกทั้งเว็บไซต์จาก anothercrawler
User-agent: anothercrawler
Disallow: /

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

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

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

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

กฎ ตัวอย่าง
ไม่อนุญาตการรวบรวมข้อมูลของทั้งเว็บไซต์ โปรดทราบว่าในบางสถานการณ์ URL จากเว็บไซต์อาจยังคงได้รับการจัดทำดัชนีแม้ว่าไม่ได้มีการรวบรวมข้อมูลก็ตาม หมายเหตุ: ข้อมูลนี้ไม่ตรงกับโปรแกรมรวบรวมข้อมูล AdsBot ต่างๆ ซึ่งต้องระบุอย่างชัดแจ้ง
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: /

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

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$
บทความนี้มีประโยชน์ไหม
เราจะปรับปรุงได้อย่างไร