เจาะลึก robots.txt ฉบับสมบูรณ์ ตั้งแต่พื้นฐานถึงขั้นสูงสำหรับ SEO Specialist

เจาะลึก Robots.txt ฉบับสมบูรณ์ ตั้งแต่พื้นฐานถึงขั้นสูงสำหรับ SEO Specialist

สารบัญบทความเรื่อง robots.txt

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

เปิดประตูสู่โลกของ robots.txt

ลองจินตนาการว่าเว็บไซต์ของคุณคืออาคารขนาดใหญ่ที่มีห้องมากมาย ทั้งห้องรับแขกที่เปิดให้ทุกคนเข้าชม ห้องทำงานของพนักงาน และห้องเก็บเอกสารลับ ไฟล์robots.txt ก็เปรียบเสมือน “พนักงานต้อนรับ” หรือ “ยามหน้าประตู” ที่ยืนอยู่ทางเข้าหลักของอาคารนี้ พนักงานคนนี้จะคอยบอกกับผู้มาเยือนที่เป็นหุ่นยนต์ (Crawler หรือ Spider) จาก Search Engine ต่างๆ เช่น Googlebot หรือ Bingbot ว่า “เชิญเข้าชมห้องรับแขกและห้องแสดงสินค้าได้ตามสบาย แต่ห้องทำงานและห้องเก็บเอกสารเป็นพื้นที่หวงห้าม กรุณาอย่าเข้าไป”  

นี่คือหัวใจหลักของ robots.txt มันไม่ใช่เครื่องมือสำหรับป้องกันการเข้าถึงจากมนุษย์ แต่เป็นโปรโตคอลหรือข้อตกลงที่ใช้สื่อสารกับเหล่าบอทที่วิ่งท่องไปทั่วอินเทอร์เน็ต

วัตถุประสงค์หลักการจัดการจราจรของ Crawler

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

robots.txt จึงเข้ามามีบทบาทในการบอกบอทว่า “ค่อยๆ สำรวจนะ” หรือ “ข้ามส่วนที่ไม่สำคัญเหล่านี้ไปได้เลย” เพื่อให้การทำงานของบอทเป็นไปอย่างมีประสิทธิภาพและไม่กระทบต่อประสบการณ์ของผู้ใช้  

จุดกำเนิดของโปรโตคอล robots.txt

robots.txt ไม่ได้เกิดขึ้นจากองค์กรมาตรฐานใดองค์กรหนึ่ง แต่ถือกำเนิดขึ้นจาก “ฉันทามติ” ของชุมชนนักพัฒนาในยุคแรกเริ่มของอินเทอร์เน็ตราวปี 1994 เหตุการณ์เริ่มต้นมาจากการที่บอทตัวหนึ่งทำงานผิดพลาดและเข้าไปถล่มเซิร์ฟเวอร์หนึ่งจนล่ม (Denial-of-Service Attack) โดยไม่ได้ตั้งใจ จากเหตุการณ์นั้น นักพัฒนาจึงร่วมกันสร้างมาตรฐานที่เรียกว่า Robots Exclusion Protocol ขึ้นมา เพื่อเป็นแนวทางปฏิบัติร่วมกันให้เจ้าของเว็บไซต์สามารถกำหนด “กฎกติกา” ให้กับบอทที่มาเยือนได้  

ตำแหน่งที่ตั้งและการเข้าถึง

กฎเหล็กสองข้อที่ต้องจำให้ขึ้นใจคือ

  1. ชื่อไฟล์ ต้องเป็น robots.txt (ตัวพิมพ์เล็กทั้งหมด) เท่านั้น การใช้ชื่ออื่นเช่น Robots.txt หรือ ROBOTS.TXT จะทำให้ไฟล์ไม่ทำงาน  
  2. ตำแหน่งที่ตั้ง ไฟล์นี้ต้องถูกวางไว้ที่ไดเรกทอรีราก (Root Directory) ของโดเมนเท่านั้น ตัวอย่างเช่น หากเว็บไซต์ของคุณคือ https://www.example.com ไฟล์นี้จะต้องอยู่ที่ https://www.example.com/robots.txt  

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

จำไว้ให้ขึ้นใจหนึ่งไฟล์ต่อหนึ่ง Origin

robots.txt จะมีผลบังคับใช้เฉพาะกับ “Origin” ที่มันอาศัยอยู่เท่านั้น ซึ่ง Origin หมายถึงการรวมกันของโปรโตคอล (http/https), โฮสต์ (ชื่อโดเมน) และพอร์ต ดังนั้น https://www.example.com, http://www.example.com และ https://sub.example.com ถือเป็นคนละ Origin กัน และแต่ละ Origin จะต้องมีไฟล์ robots.txt เป็นของตัวเอง  

ธรรมชาติของ robots.txt คือจุดแข็งและจุดอ่อนที่ใหญ่ที่สุดในเวลาเดียวกัน มันคือ “ข้อตกลงของสุภาพบุรุษ” (Gentleman’s Agreement) ที่อาศัยความร่วมมือจากฝั่ง Crawler บอทที่ดีและมีจรรยาบรรณ เช่น Googlebot, Bingbot จะปฏิบัติตามคำสั่งในไฟล์นี้อย่างเคร่งครัด แต่ในทางกลับกัน บอทที่ไม่ดี (Bad Bots) เช่น บอทที่ถูกสร้างมาเพื่อขโมยข้อมูล, ค้นหาช่องโหว่ความปลอดภัย หรือเก็บเกี่ยวอีเมลเพื่อส่งสแปม จะไม่สนใจคำสั่งในไฟล์นี้เลยและจะยังคงพยายามเข้าถึงทุกส่วนของเว็บไซต์คุณ นอกจากนี้ ยังมีบอทประเภทที่สามที่กำลังเป็นที่ถกเถียงคือบอทจาก AI ที่อาจตีความกฎต่างออกไปหรือใช้วิธีการหลบเลี่ยงเพื่อเข้าถึงข้อมูล  

ดังนั้น ข้อสรุปเชิงกลยุทธ์ที่สำคัญที่สุดคือ robots.txt เป็นเครื่องมือสำหรับบริหารจัดการบอทที่ให้ความร่วมมือ เพื่อเพิ่มประสิทธิภาพ SEO และทรัพยากรเซิร์ฟเวอร์ แต่มันไม่ใช่เครื่องมือด้านความปลอดภัย (Security Tool) โดยสิ้นเชิง หากคุณต้องการปกป้องข้อมูลที่ละเอียดอ่อนจริงๆ คุณต้องใช้วิธีการป้องกันด้วยรหัสผ่าน (Password Protection) ไม่ใช่การใช้คำสั่ง Disallow ใน robots.txt การเข้าใจความแตกต่างนี้ตั้งแต่ต้นจะช่วยป้องกันความเข้าใจผิดที่อาจนำไปสู่ความเสียหายร้ายแรงได้  

ไวยากรณ์และคำสั่งพื้นฐานที่คุณต้องรู้

การจะควบคุมบอทได้อย่างใจนึก คุณต้องเข้าใจ “ภาษา” ที่ใช้สื่อสารกับมันเสียก่อน ไวยากรณ์ของ robots.txt นั้นเรียบง่ายและตรงไปตรงมา แต่ทุกตัวอักษรมีความหมายและต้องใช้อย่างแม่นยำ

รูปแบบไฟล์ (File Format)

ไฟล์ robots.txt จะต้องเป็นไฟล์ข้อความธรรมดา (Plain Text) ที่เข้ารหัสแบบ UTF-8 เท่านั้น แต่ละบรรทัดของคำสั่งจะถูกคั่นด้วยการขึ้นบรรทัดใหม่ (CR, CR/LF, หรือ LF) Google ได้กำหนดขนาดสูงสุดของไฟล์นี้ไว้ที่ 500 กิบิไบต์ (KiB) ซึ่งเนื้อหาที่เกินจากนี้จะถูกเมินเฉย  

กลุ่มของกฎ (Rule Groups/Blocks)

ไฟล์ robots.txt ประกอบด้วยกลุ่มของกฎตั้งแต่หนึ่งกลุ่มขึ้นไป แต่ละกลุ่มจะเริ่มต้นด้วยบรรทัด User-agent และตามด้วยคำสั่ง Disallow หรือ Allow ที่จะบังคับใช้กับบอทที่ระบุไว้ใน User-agent นั้นๆ  

User-agent

นี่คือคำสั่งที่ใช้ระบุชื่อของ Crawler หรือบอทที่ต้องการจะสื่อสารด้วย  

  • User-agent: * เครื่องหมายดอกจัน (*) เป็น Wildcard หมายถึง “บอททุกตัว” คำสั่งที่ตามหลังบรรทัดนี้จะมีผลกับบอททุกตัวที่ไม่มีกลุ่มกฎเฉพาะเจาะจงสำหรับตัวเอง  
  • User-agent: Googlebot คำสั่งนี้จะเจาะจงเฉพาะ Googlebot ซึ่งเป็น Crawler หลักของ Google  
  • User-agent: Bingbot คำสั่งนี้จะเจาะจงเฉพาะ Bingbot ของ Microsoft Bing

Crawler จะเลือกทำตามกลุ่มกฎที่ “เฉพาะเจาะจง” กับชื่อของมันมากที่สุด ตัวอย่างเช่น ถ้าในไฟล์มีทั้งกลุ่มของ  

User-agent: * และ User-agent: Googlebot บอท Googlebot จะสนใจและทำตามแค่กฎในกลุ่มของ Googlebot เท่านั้น และจะเมินกฎในกลุ่ม * ไปเลย

Disallow

เป็นคำสั่งที่บอกบอทว่า “ห้าม” เข้าถึง (Crawl) ไดเรกทอรีหรือ URL ที่ระบุไว้  

  • Disallow: / เครื่องหมายทับ (/) ตัวเดียวหมายถึงรากของเว็บไซต์ทั้งหมด คำสั่งนี้จึงเป็นการบล็อก “ทั้งเว็บไซต์” ไม่ให้บอทที่ระบุเข้ามา Crawl ได้เลย เป็นคำสั่งที่อันตรายมากหากใช้กับเว็บไซต์ที่เผยแพร่อยู่ แต่มีประโยชน์สำหรับเว็บไซต์ที่กำลังพัฒนา (Staging Site)  
  • Disallow: (เว้นว่าง) การเว้นค่าหลัง Disallow: ว่างไว้ หมายถึง “ไม่ห้ามอะไรเลย” หรืออนุญาตให้บอทเข้าถึงได้ทุกส่วนของเว็บไซต์ ซึ่งมีผลเหมือนกับการไม่มีไฟล์ robots.txt เลย  
  • Disallow: /private/ คำสั่งนี้จะบล็อกการเข้าถึงไดเรกทอรีชื่อ /private/ และไฟล์หรือไดเรกทอรีย่อยทั้งหมดที่อยู่ภายในนั้น  

Allow

เป็นคำสั่งที่ใช้ “อนุญาต” ให้บอทเข้าถึงได้ ซึ่งมักใช้เพื่อสร้างข้อยกเว้นให้กับกฎ Disallow ที่ครอบคลุมวงกว้างกว่า ตัวอย่างเช่น คุณอาจจะบล็อกทั้งไดเรกทอรี  

/media/ แต่ต้องการอนุญาตให้บอทเข้าถึงโฟลเดอร์ย่อย /media/images/ ได้ สามารถเขียนได้ดังนี้

User-agent: *
Disallow: /media/
Allow: /media/images/

Sitemap

เป็นคำสั่งที่ใช้บอกตำแหน่งของไฟล์ XML Sitemap ของเว็บไซต์ เพื่อช่วยให้ Search Engine ค้นพบหน้าเว็บสำคัญๆ ของคุณได้ง่ายและรวดเร็วยิ่งขึ้น ควรระบุเป็น URL เต็ม (Absolute URL) และสามารถระบุได้หลาย Sitemap  

Sitemap: https://www.example.com/sitemap.xml
Sitemap: https://www.example.com/sitemap-news.xml

Comments (#)

คุณสามารถใส่คอมเมนต์หรือหมายเหตุเพื่ออธิบายกฎต่างๆ ได้โดยใช้เครื่องหมายชาร์ป (#) นำหน้าข้อความ บอทจะเมินข้อความที่อยู่หลังเครื่องหมายนี้ไปทั้งหมด ซึ่งมีประโยชน์มากในการจดบันทึกว่าใครเป็นคนเพิ่มกฎนี้ เมื่อไหร่ และเพื่ออะไร  

# Block access to admin areas for security
User-agent: *
Disallow: /admin/

ลำดับและความเฉพาะเจาะจงของกฎสร้างลำดับชั้นของคำสั่งที่ซับซ้อนขึ้นมา Crawler จะมองหากลุ่ม User-agent ที่ตรงกับชื่อของมันมากที่สุดก่อน จากนั้นภายในกลุ่มกฎนั้น Google และ Bing จะใช้หลักการ “กฎที่ยาวที่สุดชนะ” (Longest Match Wins) หรือ “กฎที่เฉพาะเจาะจงที่สุดชนะ” (Specificity Wins) สำหรับคำสั่ง  

Allow และ Disallow ตัวอย่างเช่น คำสั่ง  

Allow: /folder/page.html จะมีผลเหนือคำสั่ง Disallow: /folder/ สำหรับหน้า page.html นั้นโดยเฉพาะ เพราะ Path ของมันยาวและเจาะจงกว่า

สิ่งนี้สร้างสถานการณ์ที่นักพัฒนาอาจตั้งใจบล็อกไดเรกทอรีหนึ่งด้วยกฎ Disallow กว้างๆ แต่ลืมไปว่ามีกฎ Allow ที่เจาะจงกว่าสำหรับไฟล์บางไฟล์ในไดเรกทอรีนั้นอยู่ ซึ่งจะทำให้ไฟล์นั้นยังคงถูก Crawl ได้อยู่ดี ในทางกลับกัน กฎ Allow ทั่วไปก็อาจถูกลบล้างด้วยกฎ Disallow ที่เจาะจงกว่าได้เช่นกัน ความซับซ้อนนี้ทำให้การทดสอบไฟล์ robots.txt ก่อนนำไปใช้งานจริงกลายเป็นสิ่งจำเป็นอย่างยิ่ง โดยเครื่องมือ Robots.txt Tester ใน Google Search Console ถือเป็นเครื่องมือที่ขาดไม่ได้สำหรับงานนี้  

แนวคิดที่สำคัญที่สุด Crawl กับ Index ไม่เหมือนกัน

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

นิยามของคำศัพท์

  • การ Crawl (Crawling) คือกระบวนการที่ Search Bot (Crawler) “เดินทาง” ไปตามลิงก์ต่างๆ เพื่อ “เยี่ยมชม” และ “อ่าน” เนื้อหาของหน้าเว็บแต่ละหน้า เปรียบเสมือนการส่งคนไปสำรวจและเก็บข้อมูล robots.txt คือเครื่องมือที่ใช้ควบคุมกระบวนการนี้โดยตรง  
  • การ Index (Indexing) คือกระบวนการที่ Search Engine นำข้อมูลที่ได้จากการ Crawl มา “วิเคราะห์” “จัดหมวดหมู่” และ “จัดเก็บ” ลงในฐานข้อมูลขนาดยักษ์ของตนเอง เพื่อให้พร้อมสำหรับการแสดงผลในหน้าผลการค้นหา (SERP) robots.txt ไม่ได้ ควบคุมกระบวนการนี้โดยตรง  

ปัญหา “เปิด robots.txt แต่หน้ายัง Index” (Phantom Indexing)

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

ปรากฏการณ์นี้เกิดขึ้นเมื่อ Google พบลิงก์ที่ชี้ไปยังหน้าเว็บที่คุณบล็อกไว้จากเว็บไซต์อื่น หรือจากหน้าอื่นในเว็บไซต์ของคุณเองที่ยังอนุญาตให้ Crawl อยู่ เมื่อ Google เห็นลิงก์เหล่านี้ มันจะรับรู้ว่า URL นั้นมีอยู่จริง และอาจตัดสินใจนำ URL นั้นไปเก็บใน Index แม้ว่าจะไม่เคยเข้าไป “อ่าน” เนื้อหาในหน้านั้นเลยก็ตาม เพราะถูก  

robots.txt ขวางไว้

ผลลัพธ์ที่ได้คือหน้าเว็บของคุณจะปรากฏในผลการค้นหาแบบ “ผี” คือมีเพียง URL แสดงอยู่ แต่ไม่มีชื่อเรื่อง (Title) และไม่มีคำอธิบายเนื้อหา (Description) โดยมักจะแสดงข้อความว่า “A description for this result is not available because of this site’s robots.txt ซึ่งสร้างประสบการณ์ที่แย่ให้กับผู้ใช้และส่งผลเสียต่อภาพลักษณ์ของแบรนด์  

เครื่องมือที่ถูกต้องสำหรับงานที่ถูกต้อง noindex

หากเป้าหมายของคุณคือการ “ป้องกันไม่ให้หน้าเว็บแสดงในผลการค้นหา” เครื่องมือที่ถูกต้องและได้ผล 100% ไม่ใช่ robots.txt แต่คือ Meta Tag ที่ชื่อว่า noindex  

คุณจะต้องใส่โค้ด <meta name="robots" content="noindex"> เข้าไปในส่วน <head> ของไฟล์ HTML ของหน้าที่คุณไม่ต้องการให้ Index

กฎทองของการนำหน้าเว็บออกจาก Index

จากความสัมพันธ์ที่กล่าวมาทั้งหมด ทำให้เกิด “กฎทอง” ที่สำคัญและสวนทางกับความรู้สึกของคนส่วนใหญ่ นั่นคือ เพื่อให้ noindex tag ถูกค้นพบและทำงานได้ หน้านั้นจะต้องสามารถถูก Crawl ได้  

ดังนั้น หากคุณต้องการนำหน้าเว็บออกจาก Index คุณต้อง ห้าม บล็อกหน้านั้นใน robots.txt เด็ดขาด

กระบวนการที่ถูกต้องในการนำหน้าเว็บออกจาก Google Index คือ

  1. ตรวจสอบ ให้แน่ใจว่า URL ของหน้าที่ต้องการนำออก ไม่ได้ ถูกบล็อกในไฟล์ robots.txt
  2. เพิ่ม <meta name="robots" content="noindex"> เข้าไปในส่วน <head> ของหน้านั้น
  3. รอ ให้ Googlebot กลับมา Crawl หน้านั้นอีกครั้ง เมื่อมันเห็น noindex tag มันจะนำหน้านั้นออกจาก Index
  4. หลังจาก ที่หน้านั้นหายไปจาก Index แล้ว (สามารถตรวจสอบได้จาก Google Search Console) หากคุณต้องการประหยัด Crawl Budget ในอนาคต คุณถึงจะสามารถเพิ่มคำสั่ง Disallow สำหรับหน้านั้นใน robots.txt ได้

ความเข้าใจผิดในเรื่องนี้ก่อให้เกิดวงจรที่เลวร้าย นักพัฒนาเห็นหน้าเว็บที่ไม่ต้องการใน Index จึงไปบล็อกใน robots.txt ทำให้ Googlebot เข้าไปอ่าน noindex tag ที่เพิ่มเข้าไปทีหลังไม่ได้ ผลคือหน้านั้นก็ยังคงค้างอยู่ใน Index ต่อไป การตระหนักว่า  

robots.txt ใช้สำหรับจัดการ “ทรัพยากรการ Crawl” ในขณะที่ Meta Tags ใช้สำหรับจัดการ “การมีอยู่บน Index” เป็นการแยกแยะที่สำคัญที่สุดที่จะยกระดับคุณจากการเป็นผู้ใช้ทั่วไปสู่การเป็น SEO Specialist

การใช้ไวยากรณ์ขั้นสูง Wildcards และ Pattern Matching

สำหรับเว็บไซต์ยุคใหม่ที่มีความซับซ้อนและมี URL ที่เปลี่ยนแปลงตลอดเวลา (Dynamic URLs) การใช้คำสั่งพื้นฐานเพียงอย่างเดียวอาจไม่เพียงพอ robots.txt จึงรองรับการใช้สัญลักษณ์พิเศษที่เรียกว่า “Wildcards” เพื่อสร้างกฎที่ยืดหยุ่นและทรงพลังยิ่งขึ้น

เครื่องหมายดอกจัน (*) Wildcard

เครื่องหมายดอกจัน (*) ทำหน้าที่เป็นตัวแทนของ “ลำดับตัวอักษรใดๆ ก็ได้” ไม่ว่าจะยาวแค่ไหนก็ตาม นี่คือเครื่องมือสำคัญในการจัดการ URL ที่มีพารามิเตอร์ (URL Parameters) ซึ่งพบบ่อยในเว็บ E-commerce และเว็บที่มีระบบกรองข้อมูล (Faceted Navigation)  

ตัวอย่างการใช้งาน

  • บล็อก Session IDs เว็บไซต์บางแห่งอาจสร้าง Session ID ใน URL เพื่อติดตามผู้ใช้ ซึ่งทำให้เกิด URL ที่ซ้ำซ้อนจำนวนมหาศาล เราสามารถบล็อกได้ด้วยคำสั่งUser-agent: * Disallow: /*?sessionid= คำสั่งนี้จะบล็อกทุก URL ที่มีพารามิเตอร์ sessionid= ต่อท้าย ไม่ว่าค่าของมันจะเป็นอะไรก็ตาม  
  • บล็อกการเรียงลำดับสินค้า (Sorting) ในหน้าหมวดหมู่สินค้า ผู้ใช้มักสามารถเรียงลำดับสินค้าตามราคาหรือความนิยมได้ ซึ่งจะสร้าง URL ที่แตกต่างกันออกไป เช่น ?sort=price_asc หรือ ?sort=popularity เราสามารถบล็อก URL เหล่านี้ทั้งหมดได้ด้วยคำสั่งเดียวUser-agent: * Disallow: /*?sort=  
  • บล็อกการกรองสินค้า (Filtering) สมมติว่าเว็บของคุณมีระบบกรองสินค้าตามสีและขนาด คุณสามารถบล็อก URL ที่เกิดจากการกรองทั้งหมดได้User-agent: * Disallow: /*?color= Disallow: /*?size=

เครื่องหมายดอลลาร์ ($) Wildcard

เครื่องหมายดอลลาร์ ($) ทำหน้าที่ระบุ “จุดสิ้นสุดของ URL” หมายความว่ากฎนั้นจะมีผลก็ต่อเมื่อสตริงที่ระบุอยู่ท้ายสุดของ URL เท่านั้น ไม่มีอะไรต่อท้ายอีก  

ตัวอย่างการใช้งาน

  • บล็อกไฟล์ประเภทต่างๆ (File Types) นี่คือการใช้งานที่พบบ่อยและมีประสิทธิภาพที่สุดของ $User-agent: * Disallow: /*.pdf$ คำสั่งนี้จะบล็อกทุก URL ที่ลงท้ายด้วย .pdf เช่น https://example.com/report.pdf แต่ที่สำคัญคือ มันจะ ไม่ บล็อก URL อย่าง https://example.com/report.pdf?download=true เพราะ URL นี้ไม่ได้สิ้นสุดด้วย .pdf จริงๆ แต่สิ้นสุดด้วยพารามิเตอร์ นี่คือความแตกต่างที่สำคัญมากเมื่อเทียบกับการไม่ใช้ $   คุณสามารถประยุกต์ใช้กับไฟล์ประเภทอื่นได้เช่นกันUser-agent: * Disallow: /*.xls$ Disallow: /*.docx$ Disallow: /*.jpg$

การผสมผสาน Wildcards

คุณสามารถใช้ * และ $ ร่วมกันเพื่อสร้างกฎที่ซับซ้อนยิ่งขึ้น

# บล็อกไฟล์.zip ที่อยู่ในไดเรกทอรี /backup/ หรือไดเรกทอรีย่อยของมัน
User-agent: *
Disallow: /backup/*.zip$

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

Disallow: *p* อาจบล็อกทุก URL ที่มีตัวอักษร ‘p’ ซึ่งอาจหมายถึง /products/, /promotions/, /people/ และทำให้ส่วนสำคัญของเว็บไซต์หายไปจากสายตาของ Search Engine ได้ สิ่งนี้ตอกย้ำถึงความจำเป็นอย่างยิ่งยวดในการใช้เครื่องมือทดสอบทุกครั้งก่อนที่จะนำกฎที่มี Wildcard ไปใช้งานจริงบนเว็บไซต์  

กลยุทธ์ Robots.txt สำหรับเว็บไซต์ประเภทต่างๆ

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

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

สำหรับเว็บไซต์ E-commerce

  • ความท้าทายหลัก คือการจัดการกับ Faceted Navigation หรือระบบกรองสินค้า ที่สามารถสร้าง URL ที่มีพารามิเตอร์ผสมกันได้นับไม่ถ้วน (เช่น สี, ขนาด, ราคา, แบรนด์) ซึ่งทำให้เกิดปัญหา Crawl Budget สิ้นเปลืองและเนื้อหาซ้ำซ้อนมหาศาล  
  • กลยุทธ์
    • บล็อกพารามิเตอร์การกรองและเรียงลำดับ ใช้ Wildcard เพื่อบล็อก URL ที่เกิดจากการกรองและเรียงลำดับที่ไม่สร้างคุณค่าใหม่ทางเนื้อหา   User-agent: * Disallow: *?sort= Disallow: *&price= Disallow: *&color= Disallow: *&brand=
    • บล็อกหน้าผลการค้นหาภายในเว็บ หน้าเหล่านี้มีประโยชน์ต่อผู้ใช้ แต่ไม่มีคุณค่าสำหรับ Search Engine   User-agent: * Disallow: /search/ Disallow: *?q=
    • บล็อกหน้าส่วนตัวของผู้ใช้ เช่น หน้าตะกร้าสินค้า, หน้าชำระเงิน, และหน้าบัญชีของฉัน   User-agent: * Disallow: /cart/ Disallow: /checkout/ Disallow: /my-account/ Disallow: /wishlist/
    • ตรวจสอบให้แน่ใจ ว่าหน้าสินค้า (Product Pages) และหน้าหมวดหมู่หลัก (Category Pages) ที่เป็น Canonical URL ไม่ ถูกบล็อกเด็ดขาด  

สำหรับบล็อกและเว็บไซต์เนื้อหา (เช่น WordPress)

  • ความท้าทายหลัก คือ CMS อย่าง WordPress มักจะสร้างหน้า Archive ประเภทต่างๆ ขึ้นมาโดยอัตโนมัติ ซึ่งหลายหน้ามีเนื้อหาซ้ำซ้อนและมีคุณค่าต่ำ  
  • กลยุทธ์
    • บล็อกส่วนของผู้ดูแลระบบ นี่เป็นสิ่งพื้นฐานที่ควรทำเสมอ   User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php (Allow admin-ajax.php เป็นสิ่งจำเป็นสำหรับฟังก์ชันบางอย่างของ WordPress)
    • บล็อกหน้า Archive ที่มีคุณค่าต่ำ หากหน้ารวมบทความตาม Tag หรือตามผู้เขียนไม่ได้ให้คุณค่าที่เป็นเอกลักษณ์ ควรบล็อกเพื่อป้องกันปัญหาเนื้อหาซ้ำซ้อนและเพื่อนำ Crawl Budget ไปใช้กับบทความหลัก   User-agent: * Disallow: /tag/ Disallow: /author/ Disallow: /category/ (หมายเหตุ การบล็อก Category อาจไม่เหมาะกับทุกเว็บ ควรพิจารณาเป็นกรณีไป)
    • บล็อกหน้าผลการค้นหาภายในUser-agent: * Disallow: /?s=
    • อนุญาตให้เข้าถึงไฟล์ CSS/JS นี่เป็นข้อผิดพลาดที่พบบ่อยมาก ห้ามบล็อกไดเรกทอรี wp-content/plugins/, wp-content/themes/, และ wp-includes/ เพราะ Google จำเป็นต้องใช้ไฟล์เหล่านี้ในการ Render หน้าเว็บให้สมบูรณ์  

สำหรับเว็บไซต์ข่าว

  • ความท้าทายหลัก คือการจัดการกับ Crawler ประเภทต่างๆ ของ Google และการจัดการ Archive ข่าวเก่าจำนวนมหาศาล
  • กลยุทGยุทธ์
    • ใช้ User-agent เฉพาะเจาะจง หากต้องการให้กฎแตกต่างกันระหว่างบอททั่วไปกับบอทข่าว สามารถสร้างกลุ่มกฎแยกกันได้   User-agent: Googlebot-News Disallow: /no-news/ User-agent: * Disallow: /private/
    • จัดการ Archive เก่า พิจารณาบล็อกหน้า Archive ที่สร้างจากวันที่ (เช่น /2005/10/) หากมันไม่ได้ให้คุณค่าในการค้นหาและมีเนื้อหาซ้ำกับหน้า Archive อื่นๆ
    • บล็อกเวอร์ชันสำหรับพิมพ์User-agent: * Disallow: /*/print$ Disallow: /*?print=true

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

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

ไฟล์ robots.txt มีความเปราะบางอย่างยิ่ง การพิมพ์ผิดเพียงตัวอักษรเดียวอาจส่งผลกระทบร้ายแรงต่อ SEO ของคุณได้ ต่อไปนี้คือข้อผิดพลาดที่พบบ่อยและอันตรายที่สุดที่ต้องหลีกเลี่ยง  

  1. ตำแหน่งไฟล์ผิด การวางไฟล์ไว้ที่อื่นที่ไม่ใช่ Root Directory จะทำให้ Crawler หาไฟล์ไม่เจอและเมินเฉยต่อกฎทั้งหมดของคุณ  
  2. ปัญหาตัวพิมพ์ใหญ่-เล็ก (Case-Sensitivity) ชื่อไฟล์ต้องเป็น robots.txt เท่านั้น และ Path ในคำสั่งก็เป็น Case-sensitive เช่นกัน Disallow: /Photo/ จะไม่บล็อกไดเรกทอรี /photo/  
  3. บล็อกไฟล์ CSS และ JavaScript ที่จำเป็น เป็นความผิดพลาดในอดีตที่ปัจจุบันถือว่าร้ายแรง Google จำเป็นต้อง Render หน้าเว็บให้เหมือนที่ผู้ใช้เห็น การบล็อกไฟล์เหล่านี้จะทำให้ Google ไม่เข้าใจเนื้อหาและโครงสร้างของหน้าเว็บอย่างถูกต้อง ซึ่งอาจนำไปสู่การจัดอันดับที่ต่ำลง  
  4. หายนะจาก Staging Site ข้อผิดพลาดสุดคลาสสิกคือการลืมลบหรือแก้ไขไฟล์ robots.txt หลังจากย้ายเว็บจาก Staging (เซิร์ฟเวอร์ทดสอบ) ไปยัง Production (เซิร์ฟเวอร์จริง) ไฟล์ robots.txt บน Staging มักจะมีคำสั่ง Disallow: / เพื่อบล็อกทั้งเว็บ หากนำไฟล์นี้ไปใช้บนเว็บจริง จะเท่ากับคุณสั่งให้ Search Engine ลบเว็บไซต์ของคุณออกจากผลการค้นหาทั้งหมด  
  5. ใช้คำสั่ง noindex ใน robots.txt Google เลิกสนับสนุนคำสั่งนี้อย่างเป็นทางการไปแล้วตั้งแต่ปี 2019 การใส่ไว้ในไฟล์จึงไม่มีผลใดๆ และเป็นเพียงโค้ดที่รกเปล่าๆ  
  6. ไวยากรณ์ผิดพลาด (Syntax Error) การพิมพ์ผิดง่ายๆ เช่น Disalow: แทนที่จะเป็น Disallow: หรือการลืมใส่เครื่องหมาย / นำหน้า Path (เช่น Disallow: admin/ แทนที่จะเป็น Disallow: /admin/) จะทำให้กฎนั้นใช้การไม่ได้  
  7. ใช้ Trailing Slash (/) ผิด Disallow: /folder/ จะบล็อก “เนื้อหาภายใน” โฟลเดอร์นั้น แต่ Disallow: /folder (ไม่มี / ต่อท้าย) จะบล็อก “ทุก URL ที่ขึ้นต้นด้วยคำว่า /folder” ซึ่งรวมถึง /folder.html หรือ /folder-new/ ด้วย ความแตกต่างเล็กน้อยนี้อาจนำไปสู่การบล็อกที่ไม่ตั้งใจได้  

ความเสียหายที่เกิดจากข้อผิดพลาดใน robots.txt มักจะเกิดขึ้นอย่างเงียบเชียบ เว็บไซต์ของคุณยังดูเหมือนทำงานปกติทุกอย่าง แต่เบื้องหลังนั้น Crawler ถูกบล็อก และผลกระทบที่แท้จริง (อันดับและ Traffic ที่หายไป) อาจปรากฏให้เห็นในอีกหลายสัปดาห์ต่อมา นี่จึงเป็นเหตุผลว่าทำไมกระบวนการจัดการ  

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

เหนือกว่าแค่ Robots.txt เปรียบเทียบกับ X-Robots-Tag และ Meta Robots

robots.txt ไม่ใช่เครื่องมือเดียวในการควบคุม Crawler แต่เป็นส่วนหนึ่งของระบบนิเวศที่ใหญ่กว่า การเป็นผู้เชี่ยวชาญหมายถึงการรู้ว่าเมื่อไหร่ควรใช้เครื่องมือชิ้นไหน

คุณสมบัติ

Robots.txt

Meta Robots Tag

X-Robots-Tag

วัตถุประสงค์หลัก

ควบคุมการ Crawl  

ควบคุมการ Index และการแสดงผล  

ควบคุมการ Index และการแสดงผล  

ขอบเขต

ทั้งเว็บไซต์ หรือระดับไดเรกทอรี

เฉพาะหน้า HTML หน้านั้นๆ

ไฟล์ทุกประเภท, สามารถใช้กับทั้งเว็บไซต์ได้

ตำแหน่ง

ไฟล์ใน Root Directory

ในส่วน <head> ของ HTML

ใน HTTP Header ของ Response

กรณีใช้งานที่ดีที่สุด

จัดการ Crawl Budget, บล็อกทั้งส่วนของเว็บ, ป้องกันการ Crawl ไฟล์ Media

สั่ง noindex หรือ nofollow ในหน้า HTML หน้าเดียว

สั่ง noindex ไฟล์ที่ไม่ใช่ HTML (เช่น PDF, รูปภาพ), ตั้งกฎ Index ทั้งเว็บผ่าน Server Config

ความสัมพันธ์เชิงกลยุทธ์

การจะควบคุมเว็บไซต์ได้อย่างสมบูรณ์แบบ คุณต้องใช้เครื่องมือทั้งสามอย่างนี้ร่วมกันอย่างชาญฉลาด ตัวอย่างเช่น หากคุณต้องการป้องกันไม่ให้ไฟล์ PDF ไฟล์หนึ่งปรากฏในผลการค้นหา

  • คุณไม่สามารถใช้ Meta Robots Tag ได้ เพราะไฟล์ PDF ไม่มีส่วน <head> ของ HTML  
  • คุณสามารถใช้ Disallow: /*.pdf$ ใน robots.txt ได้ แต่มันไม่ได้รับประกัน 100% ว่าไฟล์จะไม่ถูก Index หากมีคนอื่นลิงก์มาหา  
  • ทางออกที่ดีที่สุดและถูกต้องที่สุด คือการใช้ X-Robots-Tag: noindex ใน HTTP Header ของไฟล์ PDF นั้น วิธีนี้จะอนุญาตให้ Googlebot เข้ามาดู URL ได้ แต่จะได้รับคำสั่งอย่างชัดเจนว่า “ห้ามนำไป Index”  

สิ่งนี้แสดงให้เห็นว่าการพึ่งพา robots.txt เพียงอย่างเดียวไม่เพียงพอสำหรับการจัดการ Index อย่างครอบคลุม ผู้เชี่ยวชาญต้องรู้ว่าเมื่อไหร่ควรยกระดับจากการใช้ Disallow ง่ายๆ ไปสู่การใช้ X-Robots-Tag ที่แม่นยำกว่า

คำสั่งนอกสารบบ Crawl-delay

Crawl-delay เป็นคำสั่งที่ไม่เป็นทางการ (Unofficial) ที่ใช้บอกให้บอททำงานช้าลง เพื่อลดภาระของเซิร์ฟเวอร์ แต่การสนับสนุนคำสั่งนี้แตกต่างกันไปในแต่ละ Search Engine  

Search Engine

รองรับ Crawl-delay หรือไม่

การตีความ (สำหรับค่า 10)

Google

ไม่  

เมินเฉย (ให้ไปตั้งค่าใน Google Search Console แทน)

Bing / Yahoo

ใช่  

แบ่งวันออกเป็นช่วงๆ ช่วงละ 10 วินาที และจะ Crawl แค่ 1 หน้าต่อช่วง

Yandex

ใช่  

จะรออย่างน้อย 10 วินาทีก่อนที่จะร้องขอ URL ถัดไป

Baidu

ไม่  

เมินเฉย (ให้ไปตั้งค่าใน Baidu Webmaster Tools แทน)

เนื่องจาก Google ซึ่งเป็น Search Engine ที่มีส่วนแบ่งตลาดสูงสุดไม่สนับสนุนคำสั่งนี้ การใช้ Crawl-delay จึงมีประโยชน์จำกัด และควรใช้การตั้งค่า Crawl Rate ใน Google Search Console เป็นหลักหากต้องการควบคุม Googlebot  

ภูมิทัศน์ของ Crawler ในยุค AI

โลกของ Web Crawler กำลังเปลี่ยนแปลงไปอย่างรวดเร็ว การมาถึงของ AI ทำให้เกิดบอทประเภทใหม่ๆ ที่มีวัตถุประสงค์แตกต่างไปจากเดิม

ตารางอ้างอิง User-Agents ที่พบบ่อย

ชื่อบอท

User-Agent Token

บริษัท

วัตถุประสงค์

Googlebot

Googlebot

Google

Crawler หลักสำหรับ Google Search  

Googlebot Image

Googlebot-Image

Google

สำหรับ Crawl รูปภาพ  

Googlebot News

Googlebot-News

Google

สำหรับ Google News  

Bingbot

bingbot

Microsoft

Crawler หลักสำหรับ Bing  

YandexBot

Yandex

Yandex

Crawler หลักสำหรับ Yandex  

GPTBot

GPTBot

OpenAI

เก็บข้อมูลสำหรับเทรนโมเดล ChatGPT  

Google-Extended

Google-Extended

Google

เก็บข้อมูลสำหรับเทรนโมเดล Gemini และ Vertex AI  

ClaudeBot

ClaudeBot

Anthropic

เก็บข้อมูลสำหรับโมเดล Claude  

PerplexityBot

PerplexityBot

Perplexity

สำหรับ AI Answer Engine ของ Perplexity  

ChatGPT-User

ChatGPT-User

OpenAI

เข้าถึง URL ตามคำสั่งของผู้ใช้ ChatGPT  

ยุคใหม่ของการ Crawl เพื่อเก็บเกี่ยวข้อมูล

ในอดีต บอทเข้ามา Crawl เว็บไซต์เพื่อนำไปจัดทำดัชนีสำหรับการค้นหา ซึ่งเป็นความสัมพันธ์ต่างตอบแทน เว็บไซต์ยอมให้ Crawl เพื่อแลกกับ Traffic ที่จะได้รับจาก Search Engine แต่บอท AI ยุคใหม่เข้ามา “เก็บเกี่ยวข้อมูล” (Data Harvesting) เพื่อนำไป “ฝึกฝน” (Train) โมเดลภาษาขนาดใหญ่ (LLMs) โดยที่ไม่ได้ให้ผลตอบแทนเป็น Traffic กลับมาเสมอไป สิ่งนี้ได้ทำลาย “สัญญาประชาคม” ที่เคยมีอยู่ของเว็บ และก่อให้เกิดความขัดแย้งด้านทรัพย์สินทางปัญญา  

กรณีศึกษา Perplexity

เร็วๆ นี้เกิดกรณีพิพาทขึ้นเมื่อ Perplexity ถูกกล่าวหาว่าใช้ User-Agent ที่ไม่เปิดเผยและปลอมตัวเป็นเบราว์เซอร์ทั่วไปเพื่อหลบเลี่ยงกฎใน robots.txt ของเว็บไซต์ต่างๆ ในขณะที่ Perplexity โต้แย้งว่าบอทของตนทำงานในฐานะ “ตัวแทนของผู้ใช้” (User-driven agent) ไม่ใช่ Crawler แบบดั้งเดิม ซึ่งเป็นการท้าทายคำนิยามของการ Crawl ที่เคยมีมา  

วิธีบล็อกบอท AI

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

# Block OpenAI's GPTBot
User-agent: GPTBot
Disallow: /

# Block Google's AI models
User-agent: Google-Extended
Disallow: /

# Block Anthropic's ClaudeBot
User-agent: ClaudeBot
Disallow: /

# Block Perplexity's AI Bot
User-agent: PerplexityBot
Disallow: /

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

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

การตรวจสอบและวัดผลประสิทธิภาพ

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

การตรวจสอบก่อนนำไปใช้ (Validation)

ก่อนที่จะอัปโหลดไฟล์ robots.txt ขึ้นเซิร์ฟเวอร์จริงทุกครั้ง ต้อง นำไปทดสอบก่อน เครื่องมือที่จำเป็นที่สุดคือ Robots.txt Tester ใน Google Search Console เครื่องมือนี้จะช่วยให้คุณ  

  • ตรวจสอบหาข้อผิดพลาดทางไวยากรณ์ (Syntax Errors)
  • ทดสอบกฎกับ URL ที่ต้องการ เพื่อดูว่าจะถูก Allow หรือ Disallow
  • เห็นได้ทันทีว่าการเปลี่ยนแปลงจะส่งผลกระทบอย่างไร  

แหล่งข้อมูลความจริงสูงสุด Server Logs

เครื่องมือทดสอบบอกคุณว่า Google ตั้งใจ จะตีความกฎของคุณอย่างไร แต่ไม่ได้บอกว่า Googlebot ได้ทำอะไรไปแล้วจริงๆ เมื่อวานนี้ แหล่งข้อมูลเดียวที่จะให้คำตอบนี้ได้คือ  

Server Logs  

Server Logs คือไฟล์ที่บันทึกทุกๆ การร้องขอ (Request) ที่เข้ามายังเซิร์ฟเวอร์ของคุณ มันบันทึกข้อมูลสำคัญเช่น IP Address, เวลา, User-Agent ของผู้ที่ร้องขอ, URL ที่ร้องขอ, และ Status Code ที่เซิร์ฟเวอร์ตอบกลับ  

การวิเคราะห์ Log File (Log File Analysis) คือกระบวนการที่ SEO Specialist ใช้เพื่อตรวจสอบพฤติกรรมของ Crawler อย่างแท้จริง  

  1. กรองข้อมูล ใน Log File เพื่อดูเฉพาะ Request ที่มาจาก User-Agent ที่สนใจ เช่น Googlebot
  2. นำรายการ URL ที่ Googlebot เข้าถึงจริงๆ มาเปรียบเทียบกับกฎ Disallow ใน robots.txt ของคุณ
  3. ค้นหาความผิดปกติ
    • บอทเข้าถึงหน้าที่คุณบล็อกหรือไม่ หากใช่ อาจหมายความว่ากฎของคุณเขียนผิด หรือมีบอทอื่นปลอม User-Agent เข้ามา
    • บอทไม่เข้าถึงหน้าที่คุณต้องการให้เข้าถึงหรือไม่ หากใช่ อาจหมายความว่าคุณมีกฎ Disallow ที่กว้างเกินไปและบล็อกโดยไม่ตั้งใจ  

การวิเคราะห์ Server Logs จะยกระดับการทำงานของคุณจากการเขียนกฎตามทฤษฎีไปสู่การวัดผลตามหลักฐานเชิงประจักษ์ ซึ่งเป็นหัวใจของการทำ Technical SEO ระดับสูง

การติดตามอย่างต่อเนื่อง (Monitoring)

การตรวจสอบไม่ใช่กิจกรรมที่ทำครั้งเดียวแล้วจบ คุณควร

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

ตรวจสอบรายงาน Coverage ใน Google Search Console เป็นประจำ เพื่อดูว่ามี URL สำคัญๆ ถูกแจ้งเตือนว่า “Blocked by robots.txt” หรือไม่  

คำถามที่พบบ่อยเกี่ยวกับ Robots.txt

  • robots.txt คืออะไรและสำคัญอย่างไร

    robots.txt คือไฟล์ข้อความที่อยู่ใน Root Directory ของเว็บไซต์ ใช้สำหรับบอก Search Engine Bots ว่าส่วนใดของเว็บไซต์ที่อนุญาตให้เข้าถึง (Crawl) และส่วนใดที่ไม่ต้องการให้เข้าถึง มีความสำคัญอย่างยิ่งในการจัดการ Crawl Budget เพื่อให้บอทใช้ทรัพยากรไปกับหน้าเว็บที่สำคัญ และป้องกันไม่ให้บอทเข้าถึงส่วนที่ไม่เป็นสาธารณะหรือมีข้อมูลซ้ำซ้อน

  • จะป้องกันไม่ให้หน้าเว็บแสดงใน Google ต้องทำอย่างไร ใช้ robots.txt ได้ไหม

    ไม่สามารถใช้ robots.txtเพื่อรับประกันว่าหน้าเว็บจะไม่แสดงใน Google ได้ วิธีที่ถูกต้องและได้ผลแน่นอนคือการใช้ Meta Tag ที่ชื่อว่า  

    noindex (<meta name="robots" content="noindex">) ใส่ไว้ในโค้ด HTML ของหน้านั้นๆ และที่สำคัญคือต้องอนุญาตให้ Googlebot เข้าไป Crawl หน้านั้นใน robots.txt เพื่อให้มันสามารถเห็น noindex tag ได้

  • ตำแหน่งของไฟล์ robots.txt ควรวางไว้อยู่ที่ไหน

    ไฟล์ robots.txt ต้องถูกวางไว้ในไดเรกทอรีระดับบนสุด (Top-level หรือ Root Directory) ของโดเมนเท่านั้น ตัวอย่างเช่น สำหรับเว็บไซต์ example.com ตำแหน่งที่ถูกต้องคือ https://example.com/robots.txt และชื่อไฟล์ต้องเป็นตัวพิมพ์เล็กทั้งหมด  

  • จะบล็อกไฟล์ PDF หรือรูปภาพไม่ให้ถูก Crawl ต้องเขียนคำสั่งอย่างไร

    ให้ใช้เครื่องหมายดอลลาร์ ($) เพื่อจับคู่กับส่วนท้ายสุดของ URL เพื่อความแม่นยำ ตัวอย่างเช่น หากต้องการบล็อกไฟล์ PDF ทั้งหมด ให้ใช้คำสั่ง Disallow: /*.pdf$ หากต้องการบล็อกไฟล์ JPG ทั้งหมด ให้ใช้ Disallow: /*.jpg$ การใช้ $ จะช่วยป้องกันไม่ให้กฎทำงานผิดพลาดกับ URL ที่มีพารามิเตอร์ต่อท้ายชื่อไฟล์  

  • ถ้าเผลอใส่คำสั่ง Disallow: / ใน robots.txt จะเกิดอะไรขึ้น

    คำสั่ง Disallow: / เป็นคำสั่งที่บอกให้บอททุกตัวที่ปฏิบัติตามกฎ “ห้าม” เข้าถึงหน้าเว็บใดๆ บนเว็บไซต์ของคุณ “ทั้งหมด” หากนำคำสั่งนี้ไปใช้กับเว็บไซต์ที่เผยแพร่อยู่ จะส่งผลให้เว็บไซต์ของคุณถูกนำออกจากผลการค้นหาของ Search Engine ทั้งหมด ซึ่งเป็นหนึ่งในความผิดพลาดที่ร้ายแรงที่สุดที่สามารถเกิดขึ้นได้กับการทำ SEO ควรทดสอบไฟล์ทุกครั้งก่อนนำไปใช้งานจริง