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

Table of Contens
Toggleความเร็วในการโหลดหน้าช้า ทำให้บอทไม่สามารถรวบรวมข้อมูลได้
ตัวอย่างเช่น หากเวลาในการตอบสนองของเซิร์ฟเวอร์เกิน 3 วินาที Googlebot อาจยกเลิกการรวบรวมข้อมูล หรือจัดทำดัชนีเนื้อหาได้ไม่ครบถ้วน
ปัญหานี้มักถูกมองข้าม เพราะผู้ดูแลเว็บไซต์หลายคนให้ความสำคัญกับประสบการณ์ของผู้ใช้ (เช่น การแสดงภาพโหลดหน้า) แต่ลืมคำนึงถึง “ขีดจำกัดความอดทน” ของบอท
เวลาในการตอบสนองของเซิร์ฟเวอร์นานเกินไป
วิธีตรวจสอบปัญหา:
ตรวจสอบค่า TTFB (Time to First Byte) ผ่าน Google Search Console ในรายงาน “Core Web Vitals” หรือเครื่องมือ เช่น GTmetrix หากเกิน 1.5 วินาที ควรแก้ไขทันที
แนวทางแก้ไข:
- อัปเกรดสเปกเซิร์ฟเวอร์ (เช่น CPU/หน่วยความจำ) หรือเปลี่ยนผู้ให้บริการโฮสติ้งประสิทธิภาพสูง (เช่น Cloudways, SiteGround)
- ปรับปรุงคำสั่ง SQL ลดการ join ที่ซับซ้อน เพิ่ม Index ในตารางสินค้าหรือข้อมูลที่เกี่ยวข้อง
- เปิดใช้งานระบบแคชบนเซิร์ฟเวอร์ (เช่น Redis, Memcached) เพื่อลดจำนวนครั้งในการสร้างหน้าแบบไดนามิก
ไฟล์ทรัพยากรไม่ได้รับการปรับแต่ง
ปัญหาที่พบได้บ่อย:
- ภาพสินค้าไม่ได้ถูกบีบอัด (เช่น PNG ไม่ได้แปลงเป็น WebP, ความละเอียดเกิน 2000px)
- ไฟล์ CSS/JS ไม่ได้รวม ทำให้มี HTTP Request จำนวนมาก
ขั้นตอนการแก้ไข:
- ใช้ Squoosh หรือ TinyPNG บีบอัดภาพ และปรับขนาดให้เหมาะกับหน้าจอทั่วไป (เช่น ความกว้าง 1200px)
- ใช้ Webpack หรือ Gulp รวมไฟล์ CSS/JS เพื่อลดจำนวน Request
- เปิดใช้งาน Gzip หรือ Brotli เพื่อลดขนาดไฟล์ที่ส่งไปยังผู้ใช้งาน
สคริปต์ที่ขัดขวางการเรนเดอร์
ในมุมมองของบอท:
หากบอทพบสคริปต์ที่ไม่ได้โหลดแบบ async (เช่น Google Analytics ที่โหลดแบบ synchronous) ระหว่างอ่าน HTML บอทจะหยุดประมวลผลจนกว่าสคริปต์จะทำงานเสร็จ
แนวทางการแก้ไข:
- เพิ่ม
asyncหรือdeferให้กับสคริปต์ที่ไม่สำคัญ (ตัวอย่าง:) - สคริปต์ของบุคคลที่สาม เช่น ระบบแชท หรือ Heatmap ควรตั้งให้โหลดหลังจากหน้าเว็บแสดงผลเรียบร้อย
เครื่องมือช่วยตรวจสอบและลำดับความสำคัญ
รายการตรวจสอบเบื้องต้น:
- PageSpeed Insights: ตรวจสอบปัญหาโหลดทรัพยากรโดยละเอียด (เช่น “ลดเวลาในการรัน JavaScript”)
- Screaming Frog: ตรวจสอบ TTFB ของหน้าสินค้าจำนวนมาก พร้อมกรอง URL ที่โหลดช้า
- Lighthouse: ดูคำแนะนำในหัวข้อ “โอกาส” เช่น ลบ CSS ที่ไม่ได้ใช้งาน
ลำดับความสำคัญในการแก้ไขด่วน:
เร่งแก้หน้าเว็บที่มี TTFB > 2 วินาที, หน้าเว็บที่มี HTTP Request มากกว่า 50 รายการ หรือไฟล์ภาพที่มีขนาดเกิน 500KB
ข้อมูลอ้างอิง:
Google ระบุว่าหากเวลาโหลดหน้าเพิ่มจาก 1 วินาทีเป็น 3 วินาที โอกาสที่การรวบรวมข้อมูลจะล้มเหลวจะเพิ่มขึ้น 32% การปรับแต่งตามแนวทางข้างต้นจะช่วยให้หน้าเว็บส่วนใหญ่โหลดเสร็จภายใน 2 วินาที และเพิ่มอัตราการจัดทำดัชนีได้อย่างมาก
ไฟล์ robots.txt บล็อกไดเรกทอรีสินค้าผิดพลาด
ตัวอย่างเช่น หากตั้งค่า Disallow: /tmp/ ผิดเป็น Disallow: /product/ จะทำให้บอทไม่สามารถรวบรวมข้อมูลหน้าสินค้าได้เลย แม้เนื้อหาจะมีคุณภาพสูงก็ตาม
ตรวจสอบปัญหา robots.txt บล็อก URL อย่างรวดเร็ว
เครื่องมือสำหรับตรวจสอบ:
- Google Search Console: เข้าเมนู “ดัชนี” > “หน้า” หากหน้าสินค้าถูกบล็อก จะมีรายละเอียดแจ้งว่าเกิดจาก robots.txt
- เครื่องมือทดสอบออนไลน์: ใช้ robots.txt tester ใส่ URL เพื่อตรวจสอบการเข้าถึงจากมุมมองของบอท
ลักษณะข้อผิดพลาดที่พบบ่อย:
- พิมพ์ Path ผิด (เช่น พิมพ์
/produc/แทน/product/) - ใช้เครื่องหมาย
*มากเกินไป (เช่นDisallow: /*.jpg$บล็อกภาพสินค้าทั้งหมดโดยไม่ตั้งใจ)
วิธีแก้ไขกฎการบล็อกที่ผิดพลาด
หลักการเขียนอย่างถูกต้อง:
- ระบุเส้นทางให้ชัดเจน:หลีกเลี่ยงการบล็อกแบบกว้างเกินไป เช่น สำหรับไดเรกทอรีชั่วคราว ให้ใช้
Disallow: /old-product/แทนDisallow: /product/ - แยกประเภทของบอทให้ชัดเจน:หากต้องการบล็อกเฉพาะบอทสแปม ควรระบุ User-agent ให้ชัดเจน (ตัวอย่าง:
User-agent: MJ12bot)
การจัดการพารามิเตอร์:
- อนุญาตให้มีพารามิเตอร์ที่จำเป็น (เช่น การแบ่งหน้า
?page=2) โดยใช้Disallow: *?sort=เพื่อบล็อกเฉพาะพารามิเตอร์การจัดเรียง - ใช้สัญลักษณ์
$เพื่อระบุว่าพารามิเตอร์สิ้นสุด (ตัวอย่าง:Disallow: /*?print=true$)
ขั้นตอนการกู้คืนฉุกเฉินและตรวจสอบผล
ตัวอย่างขั้นตอน:
- แก้ไขไฟล์ robots.txt โดยคอมเมนต์หรือ ลบบรรทัดที่ผิดพลาดออก (เช่น
# Disallow: /product/) - ส่งคำขออัปเดต robots.txt ผ่าน Google Search Console
- ใช้เครื่องมือ “ตรวจสอบ URL” ตรวจสอบสถานะการเข้าถึงของหน้า product ด้วยตนเอง
- ตรวจสอบผลการจัดทำดัชนีอีกครั้งหลัง 24 ชั่วโมง หากยังไม่กู้คืน ให้ส่ง sitemap ของหน้า product โดยตรง
มาตรการป้องกัน:
- ใช้เครื่องมือควบคุมเวอร์ชัน (เช่น Git) ในการจัดการประวัติการแก้ไขไฟล์ robots.txt เพื่อให้สามารถย้อนกลับได้ง่าย
- ทดสอบกฎใหม่ในสภาพแวดล้อมทดสอบก่อน หลีกเลี่ยงการแก้ไขไฟล์จริงโดยตรง
กรณีศึกษาจริง
การตั้งค่าผิดพลาด:
User-agent: *
Disallow: /
Allow: /product/
ปัญหา: Disallow: / บล็อกทั้งเว็บไซต์ ทำให้กฎ Allow ด้านหลังไม่ทำงาน
วิธีแก้ไขที่ถูกต้อง:
User-agent: *
Disallow: /admin/
Disallow: /tmp/
Allow: /product/
หลักการ: บล็อกเฉพาะไดเรกทอรีหลังบ้านและไดเรกทอรีชั่วคราว โดยอนุญาตให้เข้าถึงหน้า product ได้อย่างชัดเจน
ปัญหาหน้า product ไม่มีลิงก์ภายในที่เชื่อมโยง
หากหน้า product ขาดช่องทางเข้าถึงจากในเว็บไซต์ เช่น เมนูนำทาง หน้าบทความที่เกี่ยวข้อง หรือลิงก์ในเนื้อหา หน้าเหล่านี้ก็เปรียบเสมือน “เกาะร้าง” แม้เนื้อหาจะมีคุณภาพก็ตาม ก็ยากที่บอทจะจัดทำดัชนีได้
กรณีเช่นนี้มักเกิดกับสินค้าใหม่ หน้าแคมเปญพิเศษ หรือหน้าที่นำเข้าจากเครื่องมือภายนอก ซึ่งยังไม่ได้ถูกรวมเข้าโครงสร้างนำทางหลักของเว็บไซต์
โครงสร้างนำทางหายไป หรือออกแบบไม่เหมาะสม
ปัญหาที่พบบ่อย:
- หน้า product ไม่ถูกเชื่อมในเมนูหลักหรือไดเรกทอรีหมวดหมู่ (พบได้เฉพาะในหน้าผลการค้นหา)
- บนมือถือใช้เมนูแบบซ่อน (hamburger menu) แต่ลิงก์เข้าหน้าสินค้าสำคัญกลับซ่อนอยู่ในเมนูย่อยหลายชั้น
แนวทางแก้ไข:
เครื่องมือตรวจสอบด้วยตนเอง:ใช้ Screaming Frog ทำการ crawl ทั้งเว็บไซต์ แล้วกรองหน้า product ที่มี “จำนวนลิงก์ภายใน ≤ 1”
ขั้นตอนการปรับปรุง:
- เพิ่มเมนู “สินค้าใหม่ยอดนิยม” หรือ “หมวดแนะนำ” ในเมนูหลัก พร้อมลิงก์ตรงไปยังหน้า product รวม
- จัดให้ทุก product page อยู่ในอย่างน้อย 1 หมวดหมู่ไดเรกทอรี เช่น
/category/shoes/product-A
โมดูลแนะนำสินค้าไม่ถูกใช้งานอย่างเต็มที่
มุมมองของบอท:เนื้อหาประเภท “สินค้าที่คุณอาจสนใจ” หากโหลดผ่าน JavaScript อาจทำให้บอทไม่สามารถอ่านลิงก์ได้อย่างถูกต้อง





