Technical SEO

robots.txt คืออะไร และทำไมบล็อกหน้าผิดจุดอาจทำให้ noindex ไม่ทำงาน

อธิบาย robots.txt ตั้งแต่โครงสร้างไฟล์ ความต่างจาก noindex ไปจนถึงกับดักคลาสสิกที่ทำให้หน้าที่บล็อกไว้ยังโผล่ในผลการค้นหา

ทีม NOAH · เผยแพร่ 2 กันยายน 2569 · อัปเดต 3 กันยายน 2569 · อ่าน 14 นาที

ห้องเซิร์ฟเวอร์และอุปกรณ์เครือข่าย

สรุปสั้น

  • robots.txt คือไฟล์ข้อความที่บอกตัวรวบรวมข้อมูลว่าอนุญาตหรือไม่อนุญาตให้ crawl ส่วนไหนของเว็บ ควบคุมการ crawl ไม่ใช่การ index
  • การเอาหน้าออกจากดัชนีจริง ๆ ต้องใช้ meta robots tag แบบ noindex หรือ HTTP header X-Robots-Tag ไม่ใช่การบล็อกใน robots.txt
  • กับดักคลาสสิกคือถ้าบล็อกหน้าไว้ใน robots.txt แล้วใส่ noindex บนหน้านั้นด้วย Google จะเข้าไม่ถึงหน้านั้นเลย จึงไม่มีทางเห็น noindex และหน้านั้นอาจยังปรากฏในผลการค้นหาได้จากลิงก์ที่ชี้เข้ามา
  • robots.txt ต้องวางไว้ที่ root ของโดเมน เช่น example.com/robots.txt เท่านั้นจึงจะมีผล
  • Google ไม่รองรับคำสั่ง noindex ภายในไฟล์ robots.txt แล้ว ต้องใช้ meta tag หรือ HTTP header แทน

มีเว็บจำนวนไม่น้อยที่ตั้งใจเอาหน้าบางหน้าออกจากผลการค้นหา แล้วเลือกวิธีบล็อกใน robots.txt เพราะดูเหมือนตรงไปตรงมาที่สุด แต่ผลที่ได้บ่อยครั้งกลับตรงข้าม หน้านั้นยังโผล่ในผลการค้นหาอยู่ดี เพียงแต่ไม่มีคำอธิบายให้เห็น สาเหตุมาจากการเข้าใจผิดว่า robots.txt ควบคุมการ index ได้ ทั้งที่จริง ๆ มันควบคุมแค่การ crawl

บทความนี้อธิบายตั้งแต่โครงสร้างไฟล์พื้นฐาน ความต่างระหว่าง robots.txt กับ noindex ที่คนสับสนกันมากที่สุด ไปจนถึงวิธีตรวจสอบว่าไฟล์ของเว็บคุณตั้งค่าถูกต้องแล้วหรือยัง

robots.txt คืออะไร

robots.txt คืออะไร

robots.txt คือไฟล์ข้อความธรรมดาที่วางไว้ที่ root ของโดเมน เช่น example.com/robots.txt ใช้บอกตัวรวบรวมข้อมูลของเสิร์ชเอนจินว่าอนุญาตหรือไม่อนุญาตให้เข้าไป crawl ส่วนไหนของเว็บ ประกอบด้วยกฎ User-agent ระบุว่าใช้กับบอทตัวไหน และ Disallow หรือ Allow ระบุเส้นทางที่ห้ามหรืออนุญาตให้เข้า หน้าที่หลักของไฟล์นี้คือควบคุมการ crawl ไม่ใช่ควบคุมว่าหน้าไหนจะถูก index หรือไม่

ห้องเซิร์ฟเวอร์และอุปกรณ์เครือข่าย

โครงสร้างพื้นฐานของไฟล์ robots.txt

ไฟล์ robots.txt ประกอบด้วยกลุ่มกฎที่ระบุ User-agent ตามด้วยบรรทัด Disallow หรือ Allow ที่ระบุเส้นทาง URL และยังใส่ตำแหน่งของ sitemap ไว้ในไฟล์นี้ได้ด้วย ตามเอกสารของ Google Search Central

คำสั่งความหมาย
User-agent: *กฎที่ตามมาใช้กับตัวรวบรวมข้อมูลทุกตัว
Disallow: /admin/ห้ามเข้า crawl ทุก URL ที่ขึ้นต้นด้วย /admin/
Allow: /อนุญาตให้ crawl ทุกส่วนที่ไม่ได้ถูก Disallow ไว้
Disallow: /*?sort=ห้าม crawl URL ที่มีพารามิเตอร์ sort= ปนอยู่ ใช้เครื่องหมาย * แทนข้อความใด ๆ
Sitemap: https://example.com/sitemap.xmlบอกตำแหน่งไฟล์ sitemap ของเว็บ
ตัวอย่างคำสั่งพื้นฐานใน robots.txt

อ่านลำดับกฎอย่างไรเมื่อมีหลายบรรทัด

เมื่อมีทั้ง Allow และ Disallow ที่ครอบคลุมเส้นทางเดียวกัน Googlebot จะเลือกใช้กฎที่มีเส้นทางเจาะจงกว่า ไม่ใช่กฎที่เขียนไว้บรรทัดหลังสุด เช่น ถ้ามี Disallow: /blog/ แต่มี Allow: /blog/seo-checklist/ อยู่ด้วย หน้า /blog/seo-checklist/ จะยังถูก crawl ได้ตามปกติ เพราะเส้นทางที่เจาะจงกว่าชนะเส้นทางที่กว้างกว่าเสมอ

robots.txt กับ Noindex ต่างกันอย่างไร

นี่คือจุดที่คนสับสนกันมากที่สุด robots.txt ควบคุมว่า Googlebot เข้ามา crawl หน้านั้นได้หรือไม่ ส่วน noindex เป็นคำสั่งที่บอกว่าหลังจาก crawl แล้ว ห้าม Google เก็บหน้านั้นเข้าดัชนี noindex ใส่ได้สองแบบคือใน meta tag บน HTML ของหน้านั้น หรือผ่าน HTTP header ที่ชื่อ X-Robots-Tag สำหรับไฟล์ที่ไม่ใช่ HTML เช่น PDF

robots.txtnoindex
ควบคุมอะไรการเข้ามา crawl หน้านั้นการเก็บหน้านั้นเข้าดัชนีหลัง crawl แล้ว
ใส่ไว้ที่ไหนไฟล์เดียวที่ root ของโดเมนmeta tag ในแต่ละหน้า หรือ HTTP header
ผลถ้าตั้งค่าถูกGooglebot ไม่เสียเวลา crawl หน้าที่ไม่จำเป็นหน้านั้นถูก crawl ได้ปกติแต่ไม่ถูกเก็บเข้าดัชนี
ผลถ้าใช้ผิดคู่กันหน้าที่ถูกบล็อกอาจยังโผล่ในผลค้นหาแบบไม่มีคำอธิบายไม่มีผลถ้า Googlebot เข้าไม่ถึงหน้านั้นตั้งแต่แรก
เทียบหน้าที่ของ robots.txt กับ noindex

กับดักคลาสสิก: บล็อกใน robots.txt แล้วใส่ noindex ไม่ทำงาน

ถ้าหน้าหนึ่งถูก Disallow ไว้ใน robots.txt Googlebot จะไม่เข้ามา crawl หน้านั้นเลย ซึ่งหมายความว่า Google จะไม่มีทางเห็น meta tag noindex ที่อยู่บนหน้านั้นด้วย ผลที่เกิดขึ้นได้คือหน้านั้นยังปรากฏในผลการค้นหาอยู่ ถ้ามีลิงก์จากที่อื่นชี้เข้ามา เพียงแต่ Google จะแสดงแค่ URL โดยไม่มีคำอธิบายเนื้อหา เพราะไม่เคยเข้าไปอ่านเนื้อหาจริง ถ้าต้องการเอาหน้าออกจากดัชนีจริง ๆ ต้องปล่อยให้ Google crawl หน้านั้นได้ แล้วใช้ noindex แทนการบล็อกด้วย robots.txt

Google ยังประกาศชัดเจนว่าไม่รองรับคำสั่ง noindex ที่เขียนไว้ในไฟล์ robots.txt เองแล้ว การเขียน Noindex: ในไฟล์ robots.txt จึงไม่มีผลใด ๆ ต้องใช้ meta robots tag หรือ HTTP header เท่านั้น

เมื่อไรควรใช้ robots.txt เมื่อไรควรใช้ Noindex

  • ใช้ robots.txt เมื่อไม่ต้องการให้ Googlebot เสียเวลา crawl ส่วนที่ไม่มีประโยชน์ต่อการค้นหาเลย เช่น หน้าแอดมิน หรือไฟล์ระบบภายใน
  • ใช้ noindex เมื่อต้องการให้หน้านั้นถูก crawl ได้ตามปกติ แต่ไม่ต้องการให้ปรากฏในผลการค้นหา เช่น หน้าขอบคุณหลังกรอกฟอร์ม
  • ห้ามใช้ทั้งสองอย่างพร้อมกันกับหน้าเดียวกัน เพราะจะทำให้ noindex ไม่มีทางถูกอ่านเจอ
  • ถ้าไม่แน่ใจว่าหน้าไหนควรใช้แบบไหน ให้เริ่มจาก noindex ก่อนเสมอ เพราะปลอดภัยกว่าในแง่ที่ Google ยังเห็นหน้านั้นได้

ตัวอย่างสมมติ: หน้าฟอร์มขอบคุณของเว็บขายของออนไลน์

ร้านค้าออนไลน์แห่งหนึ่งมีหน้า /checkout/thank-you ที่แสดงหลังลูกค้าสั่งซื้อสำเร็จ เจ้าของเว็บไม่อยากให้หน้านี้โผล่ในผลการค้นหาเพราะไม่มีประโยชน์กับคนอื่น วิธีที่ถูกต้องคือปล่อยให้ Googlebot crawl หน้านี้ได้ตามปกติ แล้วใส่ meta name='robots' content='noindex' ไว้ในหน้านั้น ไม่ใช่ไปเขียน Disallow: /checkout/thank-you ไว้ใน robots.txt เพราะถ้าบล็อกไว้ Google จะไม่มีทางอ่านเจอ noindex ที่ใส่ไว้เลย

ห้องเซิร์ฟเวอร์และอุปกรณ์เครือข่าย

วิธีตรวจสอบว่าไฟล์ robots.txt ของเว็บคุณตั้งค่าถูกต้อง

เช็ก robots.txt ทีละขั้นตอน

  1. 1

    เปิด URL robots.txt ของเว็บโดยตรง

    พิมพ์ https://โดเมนของคุณ/robots.txt ในเบราว์เซอร์ ถ้าไฟล์อยู่ถูกที่จะเห็นเนื้อหาไฟล์ทันที ถ้าขึ้น 404 แปลว่ายังไม่มีไฟล์นี้

  2. 2

    ไล่อ่านทีละบรรทัดว่า Disallow ครอบคลุมอะไรบ้าง

    ตรวจว่าไม่มีบรรทัด Disallow: / ที่บล็อกทั้งเว็บโดยไม่ได้ตั้งใจ ซึ่งมักเกิดจากการลืมลบตอนย้ายจากเว็บทดสอบมาใช้งานจริง

  3. 3

    เช็กว่าหน้าที่มี noindex ไม่ได้ถูกบล็อกซ้อนอยู่

    ลิสต์หน้าที่ตั้งใจใส่ noindex ไว้ แล้วเทียบกับ Disallow ในไฟล์ ถ้าซ้อนกันให้ลบ Disallow ของหน้านั้นออก

  4. 4

    ตรวจสอบผ่านเครื่องมือของ Search Console

    ใช้เครื่องมือทดสอบ robots.txt ใน Google Search Console เพื่อดูว่า Googlebot อ่านไฟล์นี้แล้วตีความตรงกับที่ตั้งใจไว้หรือไม่

ข้อผิดพลาดที่เจอบ่อยเรื่อง robots.txt

  • บล็อกทั้งเว็บโดยไม่ได้ตั้งใจด้วยการเขียน Disallow: / ไว้ตอนพัฒนาเว็บแล้วลืมเอาออกตอนเปิดใช้งานจริง
  • วางไฟล์ robots.txt ผิดตำแหน่ง ไม่ได้อยู่ที่ root ของโดเมน ทำให้ไฟล์ไม่มีผลเลย
  • บล็อกหน้าที่มี noindex ไว้ ทำให้ noindex ไม่ถูกอ่านและหน้ายังโผล่ในผลการค้นหา
  • บล็อกไฟล์ CSS หรือ JavaScript ที่จำเป็นต่อการแสดงผลหน้าเว็บ ทำให้ Google เห็นหน้าเว็บไม่สมบูรณ์
  • เขียน Disallow ครอบคลุมกว้างเกินไปโดยไม่ทดสอบก่อน เช่น Disallow: /product ที่ดันไปบล็อก /product-review/ ด้วยเพราะขึ้นต้นด้วยข้อความเดียวกัน

เช็กลิสต์สรุป robots.txt

  1. 1ไฟล์ robots.txt วางอยู่ที่ root ของโดเมนแล้ว เปิดผ่าน /robots.txt ได้จริง
  2. 2ไม่มีบรรทัด Disallow: / ที่บล็อกทั้งเว็บโดยไม่ตั้งใจ
  3. 3หน้าที่ต้องการเอาออกจากผลการค้นหาใช้ noindex ไม่ใช่ Disallow
  4. 4ไม่มีหน้าไหนถูกบล็อกด้วย robots.txt ซ้อนกับ noindex
  5. 5ไฟล์ CSS และ JavaScript ที่จำเป็นต่อการแสดงผลไม่ถูกบล็อก
  6. 6มีบรรทัด Sitemap ชี้ไปยัง URL ของ sitemap.xml จริง
  7. 7ตรวจสอบผ่านเครื่องมือทดสอบ robots.txt ใน Search Console แล้วไม่มี error

robots.txt คืออะไรในภาษาที่เจ้าของธุรกิจไม่ต้องเป็นโปรแกรมเมอร์ก็เข้าใจ

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

  • เปิด https://โดเมนของคุณ/robots.txt แล้วดูว่ามีบรรทัด Disallow: / อยู่หรือไม่ ถ้ามีแปลว่าทั้งเว็บถูกบล็อกอยู่ ต้องรีบแจ้งคนดูแลเว็บให้ลบออก
  • ถ้าเว็บใช้ WordPress หรือแพลตฟอร์มสำเร็จรูป มักไม่ต้องแก้ไฟล์นี้เอง ปล่อยให้ระบบจัดการตามค่าเริ่มต้นได้เลย
  • ถ้าจ้างคนทำเว็บใหม่ ให้ถามเป็นข้อหนึ่งในการส่งมอบงานว่าได้ปิดโหมดบล็อกทั้งเว็บที่มักเปิดไว้ตอนพัฒนาแล้วหรือยัง

ไม่ต้องเข้าใจทุกบรรทัด แค่รู้ว่าควรเช็คอะไร

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

คำถามที่พบบ่อย

robots.txt คืออะไร เจ้าของธุรกิจต้องเขียนเองไหม+

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

robots.txt วางไว้ตรงไหนของเว็บ+

ต้องวางไว้ที่ root ของโดเมนเท่านั้น เช่น https://example.com/robots.txt ถ้าวางไว้ในโฟลเดอร์ย่อยจะไม่มีผลใด ๆ ต่อการ crawl

หน้าที่ถูกบล็อกใน robots.txt จะหายจากผลการค้นหาไหม+

ไม่แน่เสมอไป ถ้าหน้านั้นเคยถูก index มาก่อนหรือมีลิงก์จากที่อื่นชี้เข้ามา Google อาจยังแสดง URL นั้นในผลการค้นหาได้ เพียงแต่ไม่มีคำอธิบายเนื้อหา เพราะเข้าไป crawl ไม่ได้ วิธีเอาออกจากดัชนีจริง ๆ ต้องใช้ noindex แทน

robots.txt กับ sitemap ต้องสอดคล้องกันอย่างไร+

URL ที่ใส่ไว้ใน sitemap ควรเป็น URL ที่ไม่ได้ถูกบล็อกใน robots.txt เพราะถ้าขัดแย้งกัน Google จะรู้จัก URL จาก sitemap แต่เข้าไป crawl ไม่ได้ อ่านเพิ่มเติมที่ XML Sitemap คืออะไร

meta robots กับ robots.txt คือสิ่งเดียวกันไหม+

ไม่ใช่ robots.txt เป็นไฟล์ระดับเว็บที่ควบคุมการ crawl ส่วน meta robots เป็นแท็กที่ใส่ไว้ในแต่ละหน้า ควบคุมพฤติกรรมอย่าง index หรือ noindex, follow หรือ nofollow ของหน้านั้นโดยเฉพาะ

ควรตรวจ robots.txt บ่อยแค่ไหน+

ควรตรวจทุกครั้งที่มีการย้ายเว็บ เปลี่ยนระบบจัดการเนื้อหา หรือหลังจากปิดโหมดพัฒนาเว็บ เพราะเป็นจุดที่มักลืมแก้ไฟล์นี้กลับมาให้ถูกต้องหลังเปิดใช้งานจริง

ถ้าไม่มีไฟล์ robots.txt เลย จะเกิดอะไรขึ้น+

โดยทั่วไป Googlebot จะถือว่าไม่มีข้อจำกัดใด ๆ และ crawl ได้ทุกส่วนของเว็บที่เข้าถึงได้ ไม่ได้แปลว่าเว็บจะมีปัญหา แต่ก็ไม่มีทางบอก Googlebot ให้หลีกเลี่ยงส่วนที่ไม่จำเป็น เช่น หน้าแอดมินหรือไฟล์ระบบภายในได้เลย

สรุป

robots.txt ควบคุมการ crawl ไม่ใช่การ index สองเรื่องนี้ต้องแยกให้ชัดเสมอ ถ้าต้องการเอาหน้าออกจากผลการค้นหาจริง ๆ ให้ใช้ noindex บนหน้านั้นโดยไม่บล็อกใน robots.txt เพื่อให้ Google เข้าไปอ่านคำสั่งนั้นได้ ตรวจไฟล์ robots.txt ทุกครั้งหลังย้ายเว็บหรือเปลี่ยนระบบเสมอ

หัวข้อนี้เป็นส่วนหนึ่งของTechnical SEO ถ้าจะทำให้ครบวงจร อ่านต่อที่ Pagination กับ Faceted Navigation จัดการอย่างไรไม่ให้ Google สับสน และ WordPress Speed SEO เทียบ Next.js — ทำไมเว็บเดิมช้า และย้ายแพลตฟอร์มคุ้มไหม

ตรวจสถานะ index ของเว็บที่เชื่อมต่อไว้ได้ง่ายขึ้น

ดูภาพรวมเครื่องมือ SEO ด้าน technical ที่ช่วยตรวจสุขภาพเว็บไซต์ตั้งแต่ robots.txt ไปจนถึงสถานะ index

ดูเครื่องมือ SEO ทั้งหมด

อ่านต่อ