ช่วงสุดสัปดาห์ที่ผ่านมา บทสนทนา Claude ที่ผู้ใช้กดแชร์โผล่ขึ้นในผลการค้นหา Google และค้นเจอได้ด้วยคำสั่ง site: โดย 404 Media รายงานเรื่องนี้ในวันจันทร์ ต่อมา Search Engine Journal ตรวจกฎการรวบรวมข้อมูลของ claude.ai เมื่อวันที่ 27 กรกฎาคม แล้วพบความขัดแย้งของการตั้งค่า คือพาธสำหรับแชร์ถูกบล็อกไว้ใน robots.txt ขณะที่ตัวหน้าเว็บเองก็ส่ง header สั่งไม่ให้ Google เก็บหน้านั้นเข้าดัชนี การใส่สองอย่างพร้อมกันบน URL เดียวไม่ได้ทำให้ปลอดภัยเป็นสองเท่า แต่ทำให้ทั้งคู่ใช้ไม่ได้
บทเรียนนี้ไม่ได้จำกัดอยู่แค่แชตบอตตัวเดียว ถ้าส่วนไหนของเว็บคุณไม่ขึ้น Google เพราะพึ่งบรรทัด Disallow บรรทัดเดียว ช่องโหว่แบบเดียวกันก็อยู่ในเว็บคุณแล้ว
กฎที่ SEJ ตรวจเจอ
SEJ บันทึกคำสั่งสองชุดที่สวนทางกัน
- robots.txt สั่ง Disallow พาธ /share/* ภายใต้กลุ่ม User-agent: * และไม่มีกลุ่มแยกสำหรับ Googlebot ดังนั้นกลุ่มนี้คือกลุ่มที่ Google ยึด
- URL แชร์ที่ยังใช้งานอยู่ตอบกลับ header x-robots-tag: none เมื่อเรียกแบบ GET ซึ่งตามแนวทาง robots meta ของ Google ค่า none มีผลเท่ากับ noindex บวก nofollow
SEJ ยังเห็น header เดิมเมื่อส่งคำขอโดยอ้างตัวเป็น Googlebot และคำตอบนั้นมี Vary: User-Agent ติดมาด้วย ถ้าดูทีละอย่าง แต่ละคำสั่งดูสมเหตุสมผล แต่พออยู่บน URL เดียวกันมันหยุดทำงาน
ทำไม Disallow กับ noindex ถึงหักล้างกันเอง
คำสั่ง noindex จะทำงานได้ก็ต่อเมื่อบ็อตได้รับอนุญาตให้ดึงหน้าเว็บมาอ่านก่อน นั่นคือกลไกทั้งหมดของมัน เพราะคำสั่งอยู่ในส่วน header ของการตอบกลับ หรือไม่ก็อยู่ใน HTML ของหน้า ซึ่งทั้งสองทางต้องอาศัยการเรียกหน้าที่ robots.txt ยอมให้เกิดขึ้น เมื่อพาธถูกบล็อก Googlebot ก็ไม่เคยเปิดไฟล์นั้น จึงไม่เคยเห็นคำสั่งห้ามเก็บดัชนี
ขณะเดียวกัน URL ที่ถูกบล็อกก็ยังเข้าไปอยู่ในดัชนีได้ ถ้ามีหน้าอื่นลิงก์มาหา Google สามารถบันทึก URL นั้นไว้โดยไม่ต้องเปิดดู แล้วแสดงผลจากข้อมูลลิงก์ที่ชี้เข้ามา การบล็อกไม่ให้ไต่ จึงไม่เท่ากับการกันไม่ให้ขึ้นผลการค้นหา และตรงนี้เองที่คนพลาดกันบ่อยที่สุด
Google พูดเรื่องนี้มาหลายปีแล้ว John Mueller เคยระบุว่าหน้าที่ถูกบล็อกด้วย robots.txt ยังโผล่ในผลการค้นหาได้ถ้ามีหน้าอื่นลิงก์มา ส่วน Martin Splitt แนะนำว่าไม่ควรใส่กฎทั้งสองแบบไว้ที่หน้าเดียวกัน และถ้าต้องการเอาหน้าออกจากผลการค้นหา แนวทางคือใช้ noindex ที่บ็อตอ่านได้จริง
สิ่งที่ยังไม่มีข้อสรุป
มีสองจุดที่ต้องระวัง เพราะลำดับเวลาของเรื่องยังไม่ครบ
SEJ ระบุว่าไม่สามารถยืนยันได้ว่า Google ได้รับอะไรตอนที่ URL เหล่านั้นถูกพบครั้งแรก และไม่ยืนยันว่า header ดังกล่าวมีอยู่ก่อนช่วงสุดสัปดาห์หรือไม่ ความขัดแย้งถูกตรวจสอบวันที่ 27 กรกฎาคม ส่วนการเก็บดัชนีเกิดขึ้นก่อนหน้านั้น โดย Daniel J. Glover ที่ปรึกษาไอทีอิสระ รายงานความขัดแย้งชุดเดียวกันเมื่อวันที่ 26 กรกฎาคม คำอธิบายใดที่เกินจากนี้ว่า Google เห็นอะไรในจังหวะที่เก็บดัชนี ถือเป็นการคาดเดา และควรอ่านในฐานะการคาดเดาเท่านั้น
อีกจุดคือพาธ /public/artifacts/ ซึ่งไม่ได้ถูกระบุไว้ใน robots.txt เลย และ SEJ ไม่ได้ตรวจสอบว่า URL ของ artifact ส่ง noindex ระดับหน้าหรือไม่ จึงนำการตั้งค่าของสองพาธนี้มาเทียบกันไม่ได้ และไม่ควรสรุปว่าอันหนึ่งมีการป้องกันแต่อีกอันไม่มี
ด้านเนื้อหาที่โผล่ขึ้นมา TechCrunch รายงานว่าพบเอกสารทางการแพทย์และเอกสารภายในของบริษัทปะปนอยู่ในหน้าเหล่านั้น ขณะที่ Anthropic ชี้แจงกับ TechCrunch ว่าลิงก์แชร์จะขึ้นผลการค้นหาเฉพาะเมื่อมีคนนำไปโพสต์ในที่ที่บ็อตเข้าถึงได้ ส่วนลิงก์ที่ส่งผ่านข้อความส่วนตัวจะไม่ถูกเก็บดัชนี ผู้ใช้สามารถจัดการฝั่งตัวเองได้ด้วยการยกเลิกการแชร์ที่ Settings > Privacy > Shared Chats
ช่องโหว่แบบเดียวกันมักอยู่ตรงไหนบนเว็บธุรกิจ
รูปแบบที่เจอซ้ำคือไดเรกทอรีที่เปิดสาธารณะ ลิงก์ถึงได้ และถูกกันออกจากผลการค้นหาด้วยบรรทัดเดียวใน robots.txt เช่น
- ลิงก์แชร์หรือลิงก์รายงานสาธารณะที่ระบบหรือแดชบอร์ดสร้างให้
- พอร์ทัลลูกค้า หน้าใบเสนอราคาหรือข้อเสนอ ที่แค่ไม่ประกาศ แต่ไม่ได้ล็อก
- ไดเรกทอรี staging, preview และ dev ที่วางไว้บนโดเมนจริง
- โฟลเดอร์ไฟล์ PDF สื่อประชาสัมพันธ์ และพื้นที่ดาวน์โหลด
- URL หน้ารายการที่มีตัวกรอง ซึ่งเคยบล็อกไว้เพื่อประหยัดงบการไต่แล้วลืมทบทวน
ตราบใดที่ยังไม่มีใครลิงก์มา ทั้งหมดนี้ก็ไม่มีปัญหา แต่วินาทีที่ URL ถูกวางลงในเว็บบอร์ด โพสต์โซเชียล เว็บพาร์ตเนอร์ หรือเอกสารสาธารณะ บรรทัด Disallow ก็หมดสภาพการเป็นเกราะทันที นี่คือประเภทของปัญหาที่การทำ ตรวจสอบ SEO เชิงเทคนิค อย่างเป็นระบบควรเจอก่อนที่มันจะกลายเป็นผลการค้นหา
วิธีแก้ ตามลำดับ
- ตัดสินใจก่อนว่า URL นั้นควรเปิดให้เข้าถึงสาธารณะหรือไม่ ถ้าเนื้อหาเป็นความลับ คำสั่ง robots ไม่ใช่เครื่องมือที่ถูกต้องไม่ว่าจะตั้งค่าแบบไหน ให้ใส่ระบบยืนยันตัวตนแทน
- ถ้ายังต้องเปิดสาธารณะแต่ไม่ต้องการให้ขึ้นผลการค้นหา ให้เปิดทางให้บ็อตไต่ แล้วส่ง noindex คือลบบรรทัด Disallow ของพาธนั้นออก และคง x-robots-tag: noindex หรือแท็ก meta robots ไว้ ปล่อยให้ Google ดึงหน้า อ่านคำสั่ง แล้วถอดออกจากดัชนี
- ใช้ Disallow เฉพาะกรณีที่คุณรับได้ว่า URL อาจถูกแสดงในผลการค้นหา เพราะสิ่งที่มันแลกมาจริงคือการประหยัดการไต่ ไม่ใช่การล่องหน
- ตรวจซ้ำหลังบ็อตกลับมาไต่ใหม่ การถอดออกจากดัชนีไม่เกิดขึ้นทันที Google ต้องดึงหน้าอีกรอบเพื่อเห็นคำสั่งที่ก่อนหน้านี้ถูกกันไม่ให้อ่าน
ตรวจเว็บตัวเองอย่างไร
- ค้นด้วยคำสั่ง site: ตามด้วยโดเมนและชื่อไดเรกทอรี แล้วดูว่ามีอะไรถูกแสดงบ้าง
- เปิด URL ตัวอย่างในเครื่องมือตรวจสอบ URL ของ Search Console แล้วอ่านสถานะการไต่และการเก็บดัชนี
- เรียก header ของ URL นั้นด้วย curl -I เพื่อดูว่ามี x-robots-tag อยู่หรือไม่
- เปิดไฟล์ robots.txt แล้วไล่ทุกบรรทัด Disallow ถามทีละบรรทัดว่า ถ้ามีหน้าสาธารณะลิงก์เข้าไปยังพาธนี้จะเกิดอะไรขึ้น
เรื่องนี้บอกอะไรกับนักการตลาดในไทย
เว็บไทยที่มีความเสี่ยงนี้ มักเสี่ยงอยู่สองจุดเหมือนกัน คือไดเรกทอรี staging ที่ค้างอยู่บนโดเมนจริงตั้งแต่ตอนทำเว็บใหม่ และฟีเจอร์แชร์ลิงก์ที่ถูกบล็อกไว้ใน robots.txt เพราะตอนนั้นเป็นทางแก้ที่เร็วที่สุด ทั้งสองอย่างไม่ใช่เรื่องแปลก และพบบ่อยในเว็บที่ผ่านมือเอเจนซีและนักพัฒนามาหลายรุ่น จนไม่มีใครเป็นเจ้าของไฟล์ robots.txt อีกต่อไป
เว็บสองภาษายังเพิ่มปัญหาอีกชั้น เช่นไดเรกทอรีภาษาไทยถูกบล็อกขณะที่ฝั่งอังกฤษไม่ถูกบล็อก หรือปุ่มสลับภาษาชี้ไปยังพาธที่ถูก Disallow ซึ่งอ่านจากหน้าผลการค้นหาอย่างเดียวแทบไม่เห็น ทางที่ดีคือมองว่า robots.txt เป็นไฟล์ที่ต้องมีเจ้าของและมีรอบทบทวน ไม่ใช่ไฟล์ที่แตะครั้งเดียวตอนเปิดเว็บ ถ้าการค้นหาแบบธรรมชาติมีผลต่อรายได้ เรื่องนี้ควรอยู่ในรอบดูแลเดียวกับงาน SEO ส่วนอื่นของคุณ
คำถามที่พบบ่อย
Disallow กันหน้าออกจาก Google ได้จริงไหม มันกัน Googlebot ไม่ให้ดึงหน้ามาอ่าน แต่ไม่รับประกันว่า URL จะไม่ขึ้นผลการค้นหา เพราะ Google แสดง URL ที่ไม่เคยเปิดได้ ถ้ามีหน้าอื่นลิงก์มาหา
x-robots-tag: none หมายถึงอะไร ตามแนวทาง robots meta ของ Google ค่า none มีผลเท่ากับ noindex บวก nofollow
ถ้าต้องการเอาหน้าออกจากผลการค้นหา ควรใช้อะไร ใช้ noindex ที่บ็อตได้รับอนุญาตให้อ่าน ซึ่งแปลว่าต้องไม่มี Disallow บนพาธเดียวกัน
นี่เป็นบั๊กของ Google หรือเปล่า ไม่มีอะไรในรายงานของ SEJ ที่ชี้ไปทางนั้น พฤติกรรมที่อธิบายไว้คือสิ่งที่ Google บันทึกไว้ในเอกสารมาหลายปีแล้ว
ถ้ายังไม่แน่ใจว่าไดเรกทอรีไหนของคุณถูกบล็อก ไหนถูกเก็บดัชนี และไหนเป็นทั้งสองอย่างพร้อมกัน ควรปิดช่องว่างนี้ก่อนที่จะมีคนอื่นเจอแทน ทีมงานเรายินดีไล่ดู robots.txt และสถานะการเก็บดัชนีไปพร้อมกับคุณ







