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

อะไรจะได้จากบทความนี้
บทความนี้ให้แนวทางปฏิบัติสำหรับการใช้ไฟล์ robots.txt เพื่อควบคุมการครอูลของ web crawlers, ตัวอย่างไวยากรณ์ที่ชัดเจน, วิธีทดสอบจากภายนอกด้วยคำสั่ง curl และเช็คลิสต์การตรวจสอบก่อนนำขึ้นจริง — เพื่อหลีกเลี่ยงการบล็อกเนื้อหาสำคัญโดยไม่ตั้งใจ
พื้นฐาน: robots.txt คืออะไร และมันทำงานอย่างไร
ไฟล์ robots.txt เป็นส่วนหนึ่งของมาตรฐาน Robots Exclusion Protocol ที่วางไว้ที่รากของเว็บไซต์ เช่น https://www.domain.com/robots.txt หรือ http://www.yoursite.com/robots.txt เพื่อบอกถึงนโยบายการเข้าถึงของ crawlers (ตัวอย่างไดเร็กทีฟ เช่น User-agent, Disallow, Allow และ Sitemap) ไฟล์นี้ช่วยให้คุณบอก crawler ว่าต้องหรือไม่ต้องดึงหน้าใด แต่ต้องแยกชัดเจนระหว่างการ "ครอูล" กับการ "จัดทำดัชนี" และการจัดอันดับ:
• Crawling = การค้นพบและดึงหน้า (fetch)
• Indexing = การตัดสินใจเก็บเนื้อหาไว้ในดัชนีของ search engine
• Ranking = การจัดเรียงผลเมื่อมีการค้นหา
ตัวอย่างสำคัญ: การ Disallow ใน robots.txt ป้องกันการครอูลของหน้า แต่ไม่ได้รับประกันว่าจะป้องกันการจัดทำดัชนีเสมอไป — search engine อาจพบ URL ผ่านลิงก์ภายนอกและทำการจัดทำดัชนีด้วยข้อมูลจำกัดได้ หากต้องการให้หน้าไม่ถูกจัดทำดัชนีจริง ให้ใช้หัวข้อ meta robots หรือ X-Robots-Tag (หลังจากอนุญาตให้ crawler เข้าถึงหน้าเพื่ออ่านแท็กนั้นก่อน แล้วจึงบล็อกการเข้าถึงต่อไป)
ไวยากรณ์ที่ใช้บ่อย (ตัวอย่างจริง)
ไฟล์ robots.txt เป็นไฟล์ข้อความธรรมดา (plain text). ตัวอย่างพื้นฐาน:
User-agent: *
Disallow: /private/
Allow: /public/images/
Sitemap: https://www.domain.com/sitemap.xml
ตัวอย่างเฉพาะ: ถ้าคุณต้องการให้เฉพาะ Googlebot เข้าครอูลฉบับพิเศษ สามารถกำหนดบล็อกแยกได้ เช่น:
User-agent: Googlebot
Disallow: /no-google/
ข้อสังเกตที่สำคัญ: คำสั่ง Crawl-delay ถูกใช้โดยบาง crawler แต่ Google ไม่สนับสนุนคำสั่งนี้อย่างเป็นทางการ — อย่าอาศัย crawl-delay เพื่อควบคุมการเข้าถึงจาก Googlebot
สถานการณ์ที่พบบ่อยและแนวทางปฏิบัติ
1) ต้องการซ่อนหน้าที่มีข้อมูลส่วนตัวหรือไฟล์ดาวน์โหลด:
- ถ้าต้องการให้หน้าไม่ปรากฏในผลการค้นหา ให้อนุญาตให้ crawler เข้าถึงหน้าเพื่ออ่านแท็ก meta robots noindex แล้วค่อยบล็อกหลังจากเห็นการจัดทำดัชนีเรียบร้อย
2) ต้องการบล็อกไฟล์ทรัพยากร (เช่น scripts) เพื่อประหยัดแบนด์วิดท์:
- ระวังว่าไฟล์ที่ถูกบล็อกอาจกระทบต่อการเรนเดอร์และการประเมิน Core Web Vitals — ควรอนุญาตให้ Googlebot ดึงไฟล์ CSS/JS ที่สำคัญต่อการเรนเดอร์
3) หลีกเลี่ยงการบล็อกทั้งไซต์โดยไม่ได้ตั้งใจ:
- ตรวจสอบให้แน่ใจว่าไฟล์ robots.txt ไม่ใช่ "Disallow: /" เว้นแต่ว่าต้องการบล็อกทั้งไซต์จริง
วิธีทดสอบและเครื่องมือจากภายนอก (ขั้นตอนปฏิบัติ)
คุณสามารถตรวจสอบ robots.txt และการบล็อกจากภายนอกได้ด้วยเครื่องมือมาตรฐานดังนี้:
ดึง headers ของไฟล์ robots.txt เพื่อเช็กสถานะเซิร์ฟเวอร์: ใช้คำสั่ง curl -I https://www.domain.com/robots.txt
หมายเหตุ: คำสั่ง curl -I จะคืนเฉพาะ HTTP headers เท่านั้น ถ้าต้องการดูเนื้อหาไฟล์ให้รัน curl https://www.domain.com/robots.txt
ตรวจสอบว่าหน้าเป้าหมายถูกบล็อกใน HTML ด้วยการดึงเพจนั้นโดยตรง: curl -A "Mozilla/5.0" https://www.domain.com/private/page.html
การใช้ -A จะตั้ง User-Agent; ใช้เมื่อคุณต้องการดูว่าการตอบสนองของเซิร์ฟเวอร์ต่อ user-agent ปกติเป็นอย่างไร
เช็กการปรากฏของเพจในดัชนีแบบสาธารณะโดยใช้ site: operator (เป็นสัญญาณ ไม่ใช่ผลยืนยันสุดท้าย): site:ตัวอย่าง.com "ข้อความเฉพาะ"
หมายเหตุเกี่ยวกับ Google Search Console: URL Inspection เป็นข้อมูลที่เชื่อถือได้สำหรับเพจที่คุณเป็นเจ้าของเท่านั้น — คุณไม่สามารถใช้ GSC เพื่อตรวจเพจของเว็บภายนอก
เช็คลิสต์ก่อนนำ robots.txt ขึ้นใช้จริง
ตรวจสอบตำแหน่ง: ไฟล์ต้องอยู่ที่รากโดเมน (เช่น http://www.yoursite.com/robots.txt)ตรวจสอบสเตตัสโค้ด: ใช้ curl -I เพื่อตรวจว่าไฟล์คืนสถานะ 200ตรวจสอบการอนุญาตไฟล์และสิทธิ์การเข้าถึงจากสาธารณะรันเทสต์บน staging หรือ subdomain ก่อน deploy ให้กับโดเมนหลักทบทวนว่าคุณไม่ได้บล็อกไฟล์ CSS/JS สำคัญที่ใช้ในการเรนเดอร์เพจถ้าต้องการเอาหน้าออกจากดัชนี: อนุญาตการครอูลชั่วคราว ติด meta robots noindex ให้เพจ แล้วรอให้ search engine ประมวลผล จากนั้นค่อยบล็อกถ้าจำเป็น
ข้อผิดพลาดทั่วไปและวิธีแก้
• บล็อกทั้งไซต์โดยไม่ตั้งใจ — ตรวจสอบว่าคุณไม่ได้ใช้ Disallow: / บนโดเมนหลัก
• robots.txt ถูก redirect ไปยังหน้า login หรือ error — หลีกเลี่ยงการส่ง 301/302 ไปยังหน้าที่ต้องการ authentication เพราะ crawler อาจไม่สามารถดึงไฟล์ได้
• ไฟล์ส่งสถานะ 5xx — หากเซิร์ฟเวอร์ตอบด้วยข้อผิดพลาดบาง crawler อาจลดการครอูลชั่วคราว ตรวจสอบล็อกเซิร์ฟเวอร์และแก้ปัญหาโฮสติ้งก่อน
ถ้าคุณเห็นว่าหน้าไม่ถูกครอูลตามที่คาดไว้ ให้ตรวจสอบลำดับเหตุการณ์ (robots.txt → HTTP status → เนื้อหา/แท็ก meta) และใช้คำสั่ง curl ร่วมกับการดูล็อกของเซิร์ฟเวอร์เพื่อตรวจสอบว่าสาเหตุเกิดจากไฟล์ robots.txt หรือปัญหาเซิร์ฟเวอร์
ตัวอย่างการดึงไฟล์และเพจเพื่อตรวจสอบโดยย่อ:
- ดู headers ของ robots.txt: curl -I https://www.domain.com/robots.txt
- ดูเนื้อหา robots.txt: curl https://www.domain.com/robots.txt
- ดึงหน้าเป้าหมายด้วย user-agent ปกติ: curl -A "Mozilla/5.0" https://www.domain.com/private/page.html
หากต้องการอ่านแนวทางการปฏิบัติด้าน Technical SEO เพิ่มเติม ให้คลิก อ่านคู่มือ Technical SEO เพื่อดูหัวข้อที่เกี่ยวข้อง เช่น canonical, sitemaps และการตรวจสอบ Core Web Vitals
คำถามพบบ่อย
robots.txt สามารถป้องกันการจัดทำดัชนีได้ไหม?
ไม่เสมอไป — คำสั่ง Disallow ป้องกันการครอูล แต่ search engine อาจยังจัดทำดัชนี URL หากพบลิงก์ไปยังหน้าเหล่านั้นจากที่อื่น หากต้องการให้หน้าไม่ถูกจัดทำดัชนี ควรให้ crawler เข้าถึงหน้าเพื่ออ่านแท็ก meta robots noindex หรือใช้วิธีการที่เหมาะสมสำหรับการป้องกันการเข้าถึง (เช่น การยืนยันสิทธิ์บนเซิร์ฟเวอร์) และจัดการการเข้าถึงอย่างรอบคอบตามขั้นตอน
ถ้า robots.txt ส่งคืนสถานะ 404 จะเกิดอะไรขึ้น?
เมื่อไม่มีไฟล์ robots.txt (404) crawlers จะถือว่าไม่มีข้อจำกัดเฉพาะจากไฟล์นั้นและจะใช้การครอูลตามค่าเริ่มต้นของตนเอง — อย่างไรก็ตาม หาก robots.txt ส่งคืนข้อผิดพลาดเซิร์ฟเวอร์ (เช่น 5xx) บาง crawler อาจลดการครอูลชั่วคราวเพื่อหลีกเลี่ยงการเพิ่มภาระให้เซิร์ฟเวอร์
สามารถใช้ robots.txt เพื่อบล็อกไฟล์สื่อขนาดใหญ่ได้หรือไม่?
คุณสามารถบล็อกไฟล์สื่อในระดับหนึ่ง แต่ระวัง: การปิดกั้นไฟล์ CSS/JS หรือไฟล์ที่จำเป็นต่อการเรนเดอร์อาจทำให้ search engine ไม่สามารถประเมินหน้าของคุณได้อย่างถูกต้อง ซึ่งส่งผลต่อการประเมินประสบการณ์ผู้ใช้และ Core Web Vitals แทนที่จะบล็อก ควรพิจารณาการจัดเก็บไฟล์ขนาดใหญ่ในที่ที่เข้าถึงได้ และจัดการด้วย header หรือระบบดาวน์โหลดที่เหมาะสม
จะรู้ได้อย่างไรว่าการบล็อกใช้ผลกับ Google จริง?
สำหรับเพจที่คุณเป็นเจ้าของ ใช้ Google Search Console URL Inspection เพื่อดูว่า Google เห็นหน้าอย่างไร (การครอูล, การจัดทำดัชนี และสาเหตุที่ถูกบล็อก) สำหรับเว็บไซต์ภายนอก ใช้ site: operator เป็นสัญญาณเบื้องต้นและดึงเพจ/robots.txt ด้วย curl เพื่อยืนยันสถานะการตอบสนองจากเซิร์ฟเวอร์
บทความที่เกี่ยวข้อง

เช็คลิสต์ On-Page SEO เพื่ออันดับและประสบการณ์ผู้ใช้
เช็คลิสต์ On-Page SEO แบบปฏิบัติ ครอบคลุมเมตาแท็ก โครงสร้างเนื้อหา ความเร็วหน้า และการตรวจสอบที่ช่วยยกระดับอันดับและประสบการณ์ผู้ใช้

เคล็ดลับ SEO เพื่อเพิ่มอันดับ: กลยุทธ์ที่ใช้ได้จริงและยั่งยืน
คำแนะนำเชิงปฏิบัติสำหรับปรับปรุง SEO: เทคนิคเชิงเทคนิค เนื้อหา คุณภาพ ลิงก์ และวิธีตรวจสอบผลด้วยเครื่องมือต่างๆ

แนวปฏิบัติหัวข้อ SEO: เขียน H1 ให้เหมาะกับ Google
แนวปฏิบัติสำหรับ H1: ทำไมหัวข้อยังสำคัญ วิธีเขียน ตรวจสอบผลบนอุปกรณ์มือถือ และรายการตรวจสอบการทดสอบที่ใช้งานได้จริง

ขั้นตอนสร้างทราฟิกออร์แกนิกที่ได้ผล
คู่มือขั้นตอนสร้างทราฟิกออร์แกนิก: ตั้งแต่วิเคราะห์คำค้น จัดคอนเทนต์ ตรวจเช็กเทคนิค SEO จนถึงการวัดผลและแก้ปัญหา

FAQ schema — พื้นฐานที่ควรรู้
คู่มือปฏิบัติสำหรับการใช้งาน FAQ schema: ความหมาย ข้อดี วิธีมาร์กอัป ตัวอย่างการตรวจสอบ และข้อผิดพลาดที่ควรหลีกเลี่ยง
