/อ่าน 10 นาที

Robots.txt คืออะไร? คู่มือฉบับครบสำหรับ SEO และ Crawlers

ไฟล์ robots.txt เป็นไฟล์ขนาดเล็กมากในเว็บไซต์ แต่ส่งผลต่อ SEO ได้มาก กฎเพียงบรรทัดเดียวที่ผิดอาจทำให้ search engine ไม่สามารถ crawl หน้าสำคัญได้

Robots.txt คืออะไร?

Robots.txt คือไฟล์ข้อความที่วางไว้ที่ root ของเว็บไซต์ เพื่อบอกคำสั่งการ crawl ให้ search engine bots และระบบอัตโนมัติอื่นๆ โดยใช้ Robots Exclusion Protocol (REP) เพื่อกำหนดว่า user-agent แต่ละตัวอนุญาตหรือไม่อนุญาตให้ crawl path ใดบ้าง

จุดสำคัญคือ robots.txt ควบคุมการ crawl ไม่ได้การันตีการ index หาก URL ถูก block แต่มีลิงก์จากเว็บไซต์อื่น search engine ยังอาจ index URL นั้นได้โดยไม่มีเนื้อหาเต็มของหน้า

ไฟล์ Robots.txt ต้องอยู่ที่ไหน

ไฟล์นี้ต้องเข้าถึงได้ที่ root path ตรงตัวเท่านั้น:

https://yourdomain.com/robots.txt

หากวางไว้ที่ตำแหน่งอื่น เช่น /files/robots.txt crawlers อาจไม่สนใจไฟล์นั้น

Crawlers อ่าน Robots.txt อย่างไร

  1. Crawler เรียก /robots.txt ก่อนเริ่ม crawl
  2. ระบบมองหากฎที่ตรงกับชื่อ user-agent ของตัวเอง
  3. ระบบนำ directive Allow และ Disallow มาใช้ตาม path
  4. ระบบ crawl URL ที่ได้รับอนุญาตตามกฎที่ตรงที่สุด

บอตแต่ละตัวอาจรองรับ directive ไม่เท่ากัน จึงควรใช้ syntax ที่อยู่ในมาตรฐาน และทดสอบด้วยเครื่องมือของ search engine เสมอ

Syntax และ Directives ของ Robots.txt

Directives ที่พบบ่อยที่สุด ได้แก่:

  • User-agent: ระบุว่าบล็อกกฎนี้ใช้กับ crawler ตัวใด
  • Disallow: ห้าม crawl path ที่ตรงกับกฎ
  • Allow: อนุญาต path แบบเจาะจง มีประโยชน์เมื่อ path แม่ถูก disallow ไว้
  • Sitemap: ชี้ crawlers ไปยัง URL ของ XML sitemap
User-agent: *
Disallow: /admin/
Allow: /admin/help/

Sitemap: https://yourdomain.com/sitemap.xml

ตัวอย่างที่พบบ่อย

1) อนุญาตทุกอย่าง

User-agent: *
Disallow:

2) บล็อกการ crawl ทั้งเว็บไซต์

User-agent: *
Disallow: /

3) บล็อกโฟลเดอร์ภายใน

User-agent: *
Disallow: /private/
Disallow: /tmp/
Disallow: /checkout/

ข้อผิดพลาดที่ควรหลีกเลี่ยง

  • บล็อกทั้งเว็บไซต์ใน production หลังย้ายมาจาก staging แล้วลืมแก้กฎ
  • พยายามซ่อนข้อมูลลับด้วย robots.txt ทั้งที่ไฟล์นี้เปิดดูได้สาธารณะ และไม่ควรใช้แทนระบบความปลอดภัย
  • บล็อกไฟล์ JS/CSS ที่ search engine ต้องใช้เพื่อ render หน้าเว็บ
  • ใช้ robots.txt แทน noindex ทั้งที่เป้าหมายคือไม่ให้หน้าแสดงในผลการค้นหา
  • ลืมใส่ sitemap URL ซึ่งช่วยให้ค้นพบหน้าสำคัญได้เร็วขึ้น

Robots.txt เทียบกับ Noindex

วิธีควบคุมเหมาะสำหรับ
robots.txtการ crawlลดภาระการ crawl และบล็อกส่วนที่ไม่ต้องการให้ bot เข้า
meta robots / x-robots-tagพฤติกรรมการ indexกันหน้าบางหน้าออกจากผลการค้นหา

แนวทางปฏิบัติที่ดี

  • เขียนไฟล์ให้เรียบง่ายและตั้งใจใช้จริง หลีกเลี่ยง wildcard หรือกฎซ้ำที่ไม่จำเป็น
  • Disallow เฉพาะ path ที่คุณไม่ต้องการให้ crawl จริงๆ
  • ทดสอบด้วย webmaster tools ของ search engine หลังมีการเปลี่ยนแปลงสำคัญ
  • เพิ่ม sitemap directive ไว้ท้ายไฟล์
  • เก็บการเปลี่ยนแปลง robots.txt ใน version control เพื่อ rollback ได้ง่ายเมื่อเกิดข้อผิดพลาด

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

ถ้าต้องการสร้าง robots.txt ที่ถูกต้องอย่างรวดเร็วพร้อม template กฎที่ใช้บ่อย ลองใช้เครื่องมือฟรีของเรา:

แหล่งอ้างอิง

USTHJP