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 อย่างไร
- Crawler เรียก
/robots.txtก่อนเริ่ม crawl - ระบบมองหากฎที่ตรงกับชื่อ user-agent ของตัวเอง
- ระบบนำ directive
AllowและDisallowมาใช้ตาม path - ระบบ 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 กฎที่ใช้บ่อย ลองใช้เครื่องมือฟรีของเรา:
แหล่งอ้างอิง
- Koster, M. (2022). RFC 9309: Robots Exclusion Protocol. IETF. https://datatracker.ietf.org/doc/html/rfc9309
- Google Search Central. How Google interprets the robots.txt specification. https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central. Robots meta tag and X-Robots-Tag specifications. https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag