robots.txt ไม่ถูกต้อง

ไฟล์ robots.txt จะบอกเครื่องมือค้นหาว่าเข้าหน้าใดในเว็บไซต์ได้ รวบรวมข้อมูล การกำหนดค่า robots.txt ที่ไม่ถูกต้องอาจทำให้เกิดปัญหา 2 ประเภทดังนี้

  • วิธีนี้สามารถป้องกันไม่ให้เครื่องมือค้นหาทำการ Crawl หน้าเว็บสาธารณะ ซึ่งทำให้ เนื้อหาให้ปรากฏในผลการค้นหาน้อยลง
  • อาจทำให้เครื่องมือค้นหารวบรวมข้อมูลหน้าที่คุณอาจไม่ต้องการให้แสดงในการค้นหา ผลลัพธ์

วิธีที่การตรวจสอบ robots.txt ของ Lighthouse ล้มเหลว

แฟล็ก Lighthouse ไม่ถูกต้อง robots.txt ไฟล์:

วันที่ การตรวจสอบ Lighthouse แสดง robots.txt ที่ไม่ถูกต้อง

ขยายการตรวจสอบ robots.txt ไม่ถูกต้องในรายงาน เพื่อดูว่าเกิดอะไรขึ้นกับ robots.txt ของคุณ

ข้อผิดพลาดที่พบบ่อย ได้แก่

  • No user-agent specified
  • Pattern should either be empty, start with "/" or "*"
  • Unknown directive
  • Invalid sitemap URL
  • $ should only be used at the end of the pattern

Lighthouse ไม่ตรวจสอบว่าไฟล์ robots.txt ของคุณ ในตำแหน่งที่ถูกต้อง เพื่อให้ทำงานได้อย่างถูกต้อง ไฟล์ต้องอยู่ในรูทของ โดเมนหรือโดเมนย่อยของคุณ

วิธีแก้ปัญหาเกี่ยวกับ robots.txt

ตรวจสอบว่า robots.txt ไม่ได้แสดงผลรหัสสถานะ HTTP 5XX

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

หากต้องการตรวจสอบรหัสสถานะ HTTP ให้เปิด robots.txt ใน Chrome และ ตรวจสอบคำขอในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome

รักษา robots.txt ให้เล็กกว่า 500 KiB

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

หากต้องการให้ robots.txt มีขนาดเล็ก ให้ลดโฟกัสที่หน้าเว็บที่ยกเว้นทีละหน้าและอื่นๆ ในรูปแบบที่กว้างกว่า เช่น ถ้าคุณต้องการบล็อกการรวบรวมข้อมูลไฟล์ PDF ไม่จำกัดแต่ละไฟล์ แต่ไม่อนุญาต URL ทั้งหมดที่มี .pdf โดยใช้ disallow: /*.pdf

แก้ไขข้อผิดพลาดของรูปแบบ

  • เฉพาะบรรทัดว่าง ความคิดเห็น และคำสั่งที่ตรงกับ "name: ค่า" ได้แก่ อนุญาตในrobots.txt
  • ตรวจสอบว่าค่า allow และ disallow ว่างเปล่าหรือเริ่มต้นด้วย / หรือ *
  • อย่าใช้ $ อยู่ตรงกลางของค่า (เช่น allow: /file$html)

ตรวจสอบว่ามีค่าสำหรับ user-agent

ชื่อ User Agent เพื่อบอกโปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหาว่าควรทำตามคำสั่งใด คุณ ต้องระบุค่าสำหรับแต่ละอินสแตนซ์ของ user-agent เพื่อให้เครื่องมือค้นหาทราบ จะทำตามชุดคำสั่งที่เกี่ยวข้องหรือไม่

หากต้องการระบุโปรแกรมรวบรวมข้อมูลสำหรับเครื่องมือค้นหาเฉพาะ ให้ใช้ชื่อ User-agent จาก รายการที่เผยแพร่ (ตัวอย่างเช่น นี่คือ รายการ User Agent ของ Google ที่ใช้สำหรับการรวบรวมข้อมูล)

ใช้ * เพื่อจับคู่โปรแกรมรวบรวมข้อมูลทั้งหมดที่ไม่ตรงกัน

ไม่ควรทำ
user-agent:
disallow: /downloads/

ไม่ได้กำหนด User Agent

ควรทำ
user-agent: *
disallow: /downloads/

user-agent: magicsearchbot
disallow: /uploads/

มีการกำหนด User Agent ทั่วไปและ User Agent ของ magicsearchbot

ตรวจสอบว่าไม่มีคำสั่ง allow หรือ disallow ก่อนวันที่ user-agent

ชื่อ User Agent กำหนดส่วนต่างๆ ของไฟล์ robots.txt เครื่องมือค้นหา โปรแกรมรวบรวมข้อมูลจะใช้ส่วนเหล่านี้เพื่อกำหนดคำสั่งที่ต้องปฏิบัติตาม การวาง ก่อนชื่อ User-agent แรกหมายความว่าโปรแกรมรวบรวมข้อมูลจะไม่ติดตาม ได้

ไม่ควรทำ
# start of file
disallow: /downloads/

user-agent: magicsearchbot
allow: /

โปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหาจะไม่อ่านคำสั่ง disallow: /downloads

ควรทำ
# start of file
user-agent: *
disallow: /downloads/

เครื่องมือค้นหาทั้งหมดไม่ได้รับอนุญาตให้ทำการ Crawl โฟลเดอร์ /downloads

โปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหาจะทำตามคำสั่งในส่วนที่มี ชื่อ User Agent ที่ระบุ เช่น หากคุณมีคำสั่งสำหรับ user-agent: * และ user-agent: Googlebot-Image Googlebot Images จะ ทำตามคำแนะนำในส่วน user-agent: Googlebot-Image

ระบุ URL ที่สมบูรณ์สำหรับ sitemap

ไฟล์แผนผังไซต์ วิธีที่ดีในการบอกให้เครื่องมือค้นหาทราบเกี่ยวกับหน้าต่างๆ ในเว็บไซต์ของคุณ โดยทั่วไปไฟล์แผนผังเว็บไซต์จะมีรายการ URL ในเว็บไซต์ของคุณ พร้อมด้วยข้อมูลเกี่ยวกับเวลาล่าสุดที่เกิดขึ้น มีการเปลี่ยนแปลง

หากคุณเลือกที่จะส่งไฟล์ Sitemap ใน robots.txt โปรด ใช้ URL ที่สมบูรณ์

ไม่ควรทำ
sitemap: /sitemap-file.xml
ควรทำ
sitemap: https://example.com/sitemap-file.xml

แหล่งข้อมูล