robots.txt คือไฟล์ที่บอกบอทของเสิร์ชเอนจินว่าเข้าไปคลาน URL ไหนได้บ้าง ส่วน sitemap.xml คือไฟล์รวมรายชื่อหน้าสำคัญที่อยากให้เสิร์ชเอนจินไปเจอ ตัวหนึ่งเป็นยาม อีกตัวเป็นแผนที่ ใช้แทนกันไม่ได้ และไม่มีไฟล์ไหนสั่งให้หน้าติดอันดับ

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

sitemap กับ robots.txt คืออะไร ต่างกันยังไง

ต่างกันที่หน้าที่ robots.txt บอกบอทว่าเข้าตรงไหนได้ ตรงไหนไม่ได้ ส่วน sitemap.xml บอกว่าหน้าสำคัญอยู่ที่ไหน ตัวแรกคุมการคลาน (crawling) ตัวหลังช่วยการค้นพบ (discovery) ไม่มีตัวไหนสั่งอันดับโดยตรง

robots.txt ต้องอยู่ที่ราก (root) ของโฮสต์เท่านั้น ส่วน sitemap วางที่ไหนก็ได้ แต่นิยมวางที่ /sitemap.xml

หัวข้อเทียบrobots.txtsitemap.xml
หน้าที่หลักบอกว่าบอทเข้าได้หรือไม่ได้ตรงไหนบอกว่าหน้าสำคัญอยู่ที่ไหนบ้าง
ควบคุมอะไรการคลาน (Crawling)การค้นพบ (Discovery)
ชนิดไฟล์ข้อความธรรมดา .txt (UTF-8)XML หรือ RSS/Atom/Text
ตำแหน่งต้องอยู่ root ของโฮสต์เท่านั้นที่ไหนก็ได้ นิยม /sitemap.xml
จำเป็นไหมไม่บังคับ ไม่มีก็เท่ากับอนุญาตทุกหน้าไม่บังคับ จำเป็นเมื่อเว็บใหญ่หรือใหม่
ผลต่ออันดับทางอ้อม ผ่านการคุมงบการคลานทางอ้อม ช่วยให้เจอหน้าเร็วขึ้น
ขนาดจำกัด500 KiB ส่วนที่เกินถูกตัดทิ้ง50,000 URL หรือ 50MB ต่อไฟล์
ทำให้หน้าหลุดจาก Google ได้ไหมไม่ได้ ต้องใช้ noindexไม่ได้

จุดที่คนเข้าใจผิดบ่อยที่สุด

คนจำนวนมากคิดว่าใส่ Disallow แล้วหน้านั้นจะหายจาก Google ความจริงคือ robots.txt คุมแค่การเข้าไปอ่าน ไม่ได้คุมการจัดทำดัชนี หน้าที่ถูก disallow ยังถูก index ได้ถ้ามีเว็บอื่นลิงก์มาหา แต่จะขึ้นแบบไม่มีคำอธิบาย ส่วน sitemap ก็เป็นแค่คำใบ้ ไม่ใช่คำสั่ง

robots.txt ทำงานยังไง มีคำสั่งอะไรบ้าง

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

ฟิลด์ที่ Google รองรับมีแค่ user-agent, allow, disallow และ sitemap นอกนั้นถูกข้ามทิ้ง แปลว่า crawl-delay, noindex ในไฟล์นี้ และ host ไม่มีผลกับ Google เลย อีกกฎที่พลาดกันเยอะคือ path เป็น case-sensitive และเมื่อกฎชนกัน กฎที่ยาวกว่าจะชนะ

  • ขอบเขตผูกกับ host + protocol + port: www กับ non-www คนละไฟล์ subdomain ต้องมีไฟล์เอง (พลาดบ่อยตอน ย้ายโดเมน)
  • ไฟล์จำกัด 500 KiB ส่วนเกินถูกมองข้าม และ Google แคชราว 24 ชั่วโมง แก้แล้วไม่เห็นผลทันที
  • ไฟล์คืน 4xx เท่ากับไม่มี robots.txt คือคลานได้ทุกหน้า แต่ถ้าคืน 5xx Google จะหยุดคลานราว 12 ชั่วโมงและใช้แคชเดิมได้ถึง 30 วัน

ตัวอย่าง robots.txt ที่ใช้ได้จริง

เว็บบริษัททั่วไปใช้แค่สามบรรทัด: User-agent: * / Disallow: (เว้นว่างคืออนุญาตทั้งหมด) / Sitemap: https://example.com/sitemap.xml ฝั่ง WordPress มักบล็อก /wp-admin/ แล้วเปิด admin-ajax.php ไว้ ส่วนอีคอมเมิร์ซบล็อกหน้าตะกร้าและ URL พารามิเตอร์กรองสินค้า ซึ่งคนละเรื่องกับการแก้ duplicate content ด้วย canonical

เว็บแบบไหนจำเป็นต้องมี sitemap และแบบไหนไม่จำเป็น

sitemap คือไฟล์ที่ list URL ที่อยากให้เสิร์ชเอนจินเจอ มันช่วยการค้นพบหน้า ไม่ใช่การจัดอันดับ และ Google บอกเองว่าเว็บเล็กที่ลิงก์ภายในดีอยู่แล้วอาจไม่ต้องมีก็ได้

เกณฑ์จากเอกสาร Google คือเว็บที่มี 500 หน้าหรือน้อยกว่า และลิงก์ถึงกันครบ มักถูกค้นพบได้เอง ส่วนเว็บที่ควรมีคือเว็บใหญ่มาก เว็บใหม่ที่ยังไม่มีใครลิงก์มา และเว็บที่หน้าเชื่อมกันไม่ดี ถ้าอยู่กลุ่มหลัง การแก้ โครงสร้างเว็บไซต์และลิงก์ภายใน มักได้ผลกว่า

ในไฟล์ควรใส่เฉพาะ URL ที่เป็น canonical ไม่ควรมี URL ที่ redirect, 404 หรือ noindex ปน เพราะเป็นสัญญาณขัดกันเอง ส่วนการยิง ping endpoint เลิกใช้ตั้งแต่ปี 2023

lastmod สำคัญกว่า priority และ changefreq

เว็บไทยจำนวนมากยังใส่ priority 1.0 ให้ทุกหน้า ทั้งที่ Google ระบุว่าไม่ใช้ค่า priority และ changefreq แล้ว ตัวที่ยังมีความหมายคือ lastmod แต่ต้องตรงกับการแก้เนื้อหาหลักของหน้านั้นจริง ระบบที่ปั๊ม lastmod ให้ทุกหน้าทุกวันเสี่ยงที่ Google จะเลิกเชื่อทั้งไฟล์

ถ้า Disallow ใน robots.txt แล้ว หน้านั้นจะหลุดจาก Google ไหม

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

กับดักคลาสสิกคือใส่ meta noindex แล้ว Disallow หน้านั้นด้วยเพราะอยากให้หายเร็วๆ ผลคือบอทอ่านไม่ได้ จึงไม่มีวันเห็นคำสั่ง noindex วิธีที่ถูกคือปล่อยให้คลานได้ก่อน แล้วใส่ noindex ผ่าน meta tag หรือ X-Robots-Tag ส่วนสถานะ Indexed, though blocked by robots.txt คือหน้าที่บอทเข้าไม่ได้แต่ URL ถูก index แล้ว แก้ด้วยการปลดบล็อกก่อนเสมอ

สิ่งที่อยากทำเครื่องมือที่ถูกต้องห้ามใช้
ไม่ให้บอทเข้าไปอ่านหน้าDisallow ใน robots.txt-
ไม่ให้หน้าขึ้นผลค้นหาmeta noindex โดยต้องปล่อยให้คลานได้robots.txt
ซ่อนข้อมูลลับตั้งรหัสผ่าน หรือลบไฟล์ทิ้งrobots.txt
ลดภาระเซิร์ฟเวอร์จากบอทDisallow หน้าซ้ำหรือหน้าฟิลเตอร์crawl-delay (Google ไม่อ่าน)
บอกว่าหน้าไหนคือตัวจริงเมื่อเนื้อหาซ้ำcanonicalrobots.txt

ตั้งค่า sitemap กับ robots.txt ยังไงให้ถูก และเช็คยังไงว่าใช้ได้จริง

สามขั้นตอนคือ สร้าง sitemap ให้อัปเดตอัตโนมัติ ประกาศบรรทัด Sitemap ใน robots.txt แล้วส่งและตรวจผลใน Search Console

บรรทัดประกาศต้องเป็น URL แบบเต็ม เช่น Sitemap: https://example.com/sitemap.xml ใส่ได้หลายบรรทัดและไม่ผูกกับ user-agent ใด แล้วตรวจของจริง เปิด /robots.txt ในหน้าต่างส่วนตัว ดู robots.txt report ว่า Google อ่านไฟล์ล่าสุดเมื่อไหร่ ใช้ URL Inspection เช็ค Crawl allowed กับ Indexing allowed และดู Sitemaps report ว่าขึ้น Success (คู่มือ Search Console)

  • Disallow: / ที่ค้างจากตอนทำเว็บบน staging เป็นสาเหตุที่เจอบ่อยที่สุดข้อหนึ่งที่เว็บใหม่ไม่ติด index เว็บเพิ่งเปิดแล้วไม่ขึ้นเลย ให้เช็คบรรทัดนี้ก่อน
  • WordPress มีสวิตช์ Settings > Reading > Search engine visibility ที่ห้ามคลานทั้งเว็บ เผลอติ๊กแล้วลืมกันบ่อย
  • บล็อกโฟลเดอร์ CSS/JS จน Google เรนเดอร์หน้าไม่ออก
  • sitemap มี URL ที่ 404, redirect, noindex หรือ URL ที่ตัวเอง Disallow ไว้ปนอยู่

ตั้งค่ายังไงในแต่ละแพลตฟอร์ม

WordPress ตั้งแต่ 5.5 มี sitemap ในตัวที่ /wp-sitemap.xml ถ้าติดปลั๊กอินอย่าง Yoast หรือ Rank Math ปลั๊กอินมักเสิร์ฟไฟล์ของตัวเองแทน พร้อมเขียนบรรทัด Sitemap ลง robots.txt ให้ กรณีนี้ robots.txt เป็นไฟล์เสมือนที่ต้องแก้ในหน้าตั้งค่าปลั๊กอิน ส่วน Next.js ใช้ app/robots.ts กับ app/sitemap.ts

ยุค AI Search ยังต้องใช้ robots.txt กับ sitemap อยู่ไหม

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

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

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

User-agentของใครใช้ทำอะไรบล็อกแล้วกระทบอะไร
GPTBotOpenAIเก็บข้อมูลไปเทรนโมเดลไม่ถูกใช้เทรน แต่ไม่กระทบการค้นหาโดยตรง
OAI-SearchBotOpenAIเก็บข้อมูลสำหรับฟีเจอร์ค้นหาเสี่ยงไม่ถูกอ้างอิงในผลค้นหาของ ChatGPT
ClaudeBotAnthropicเก็บข้อมูลไปเทรนโมเดลไม่ถูกใช้เทรน
Google-ExtendedGoogleคุมการใช้เนื้อหากับผลิตภัณฑ์ AI ของ Googleไม่กระทบอันดับใน Google Search ปกติ
PerplexityBotPerplexityเก็บข้อมูลสำหรับตอบพร้อมอ้างอิงเสี่ยงหายจากผลลัพธ์ของ Perplexity
GooglebotGoogleคลานเว็บสำหรับ Google Searchบล็อกแล้วเว็บหลุดจากผลค้นหาปกติ ห้ามทำ

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

01เว็บไซต์ต้องมีทั้ง sitemap และ robots.txt เลยไหม+

ไม่บังคับทั้งคู่ แต่แนะนำให้มีทั้งสองไฟล์ เว็บเล็กไม่เกินราว 500 หน้าที่ลิงก์ภายในดีอยู่แล้วอาจไม่ต้องมี sitemap ตามเกณฑ์ของ Google ส่วนเว็บที่ไม่มี robots.txt ถือว่าอนุญาตให้คลานทุกหน้า

02อยากบล็อกหน้าไม่ให้ขึ้น Google ต้องใช้ robots.txt หรือ noindex+

ต้องใช้ noindex ผ่าน meta tag หรือ HTTP header X-Robots-Tag และต้องไม่ Disallow หน้านั้นด้วย เพราะถ้าบอทอ่านหน้าไม่ได้ ก็จะไม่มีวันเห็นคำสั่ง noindex และหน้าอาจยังโผล่ในผลค้นหาต่อไป

03ส่ง sitemap แล้วทำไม Google ยังไม่ index หน้าของเรา+

เพราะ sitemap เป็นการแนะนำ ไม่ใช่คำสั่ง Google ระบุเองว่าไม่รับประกันว่าทุก URL จะถูกคลานและจัดทำดัชนี ปกติใช้เวลาไม่กี่วันถึงหลายสัปดาห์ ถ้านานผิดปกติให้ดูคุณภาพเนื้อหาและลิงก์ภายในที่ชี้ไปหน้านั้น

04แก้ robots.txt แล้วมีผลทันทีเลยไหม+

ไม่ทันที Google แคชไฟล์นี้ราว 24 ชั่วโมงและอาจนานกว่านั้น ถ้าเป็นเรื่องด่วนเช่นเผลอปล่อย Disallow ทั้งเว็บค้างไว้ ให้แก้ไฟล์แล้วขอ recrawl ผ่าน robots.txt report ใน Search Console

ส่งเว็บไซต์ให้ SEONo1 ประเมิน