ไฟล์ robots.txt
จะบอกเครื่องมือค้นหาว่าสามารถรวบรวมข้อมูลหน้าใดของเว็บไซต์ได้ การกำหนดค่า robots.txt
ที่ไม่ถูกต้องอาจทำให้เกิดปัญหา 2 ประเภทดังนี้
- วิธีนี้ช่วยป้องกันไม่ให้เครื่องมือค้นหารวบรวมข้อมูลหน้าเว็บสาธารณะ ทำให้เนื้อหาปรากฏในผลการค้นหาน้อยลง
- วิธีนี้อาจทำให้เครื่องมือค้นหารวบรวมข้อมูลหน้าเว็บที่คุณอาจไม่ต้องการให้แสดงในผลการค้นหา
วิธีที่การตรวจสอบ 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
เครื่องมือค้นหาจะไม่ทราบว่าควรรวบรวมข้อมูลหน้าใด เว็บไซต์ดังกล่าวอาจหยุดรวบรวมข้อมูลทั้งเว็บไซต์ ซึ่งจะทําให้จัดทําดัชนีเนื้อหาใหม่ไม่ได้
หากต้องการตรวจสอบรหัสสถานะ HTTP ให้เปิด robots.txt
ใน Chrome และตรวจสอบคำขอในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome
ให้ robots.txt
เล็กกว่า 500 KiB
เครื่องมือค้นหาอาจหยุดประมวลผล robots.txt
กลางคันหากไฟล์มีขนาดใหญ่กว่า 500 KiB เพราะอาจทำให้เครื่องมือค้นหาสับสนและนำไปสู่การรวบรวมข้อมูลเว็บไซต์ที่ไม่ถูกต้อง
หากต้องการให้ robots.txt
มีขนาดเล็ก ให้เน้นไปที่หน้าที่ยกเว้นทีละรายการน้อยลง และให้ความสำคัญกับรูปแบบที่กว้างขึ้น เช่น หากคุณจำเป็นต้องบล็อกการรวบรวมข้อมูลไฟล์ PDF อย่าไม่อนุญาตแต่ละไฟล์ แต่ให้ไม่อนุญาต URL ทั้งหมดที่มี .pdf
โดยใช้ disallow: /*.pdf
แทน
แก้ไขข้อผิดพลาดเกี่ยวกับรูปแบบ
- อนุญาตเฉพาะบรรทัด ความคิดเห็น และคำสั่งที่ว่างเปล่าที่ตรงกับรูปแบบ "name: value" ใน
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 รูปภาพจะทำตามคำสั่งในส่วน user-agent: Googlebot-Image
เท่านั้น
ระบุ URL ที่สมบูรณ์สำหรับ sitemap
ไฟล์ Sitemap เป็นวิธีที่ดีในการแจ้งให้เครื่องมือค้นหาทราบเกี่ยวกับหน้าต่างๆ ในเว็บไซต์ของคุณ โดยทั่วไปแล้ว ไฟล์ Sitemap จะมีรายการ URL ในเว็บไซต์ของคุณและข้อมูลเกี่ยวกับเวลาที่มีการเปลี่ยนแปลงครั้งล่าสุด
หากเลือกส่งไฟล์ Sitemap ใน robots.txt
โปรดตรวจสอบว่าคุณใช้ URL ที่สมบูรณ์
sitemap: /sitemap-file.xml
sitemap: https://example.com/sitemap-file.xml