ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

แก้ปัญหาหน้าเว็บไม่ถูก Index ใน Search Console
Home แก้ปัญหาหน้าเว็บไม่ถูก Index ใน Search Console

แก้ปัญหาหน้าเว็บไม่ถูก Index ใน Search Console

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

รายงาน Page indexing ใน Search Console บอกสาเหตุได้ตรง ๆ แต่ชื่อสถานะแต่ละอันไม่ได้อธิบายตัวเอง คู่มือนี้แปลความหมายและบอกวิธีแก้ของแต่ละสถานะ

สิ่งที่ต้องเตรียม

  • Google Search Console ที่ยืนยันความเป็นเจ้าของเว็บแล้ว
  • สิทธิ์แก้ไขเว็บและไฟล์ robots.txt

ขั้นตอนที่ 1: เปิดรายงานและดูภาพรวม

ไปที่ Indexing แล้ว Pages จะเห็นสองกลุ่ม หน้าที่ถูกเก็บดัชนีแล้ว และหน้าที่ไม่ถูกเก็บพร้อมเหตุผล

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

# นับจำนวน URL ใน sitemap
curl -s https://example.com/sitemap.xml | grep -c '<loc>'

ขั้นตอนที่ 2: สถานะที่ไม่ต้องแก้

หลายสถานะเป็นเรื่องปกติและถูกต้องแล้ว อย่าเสียเวลาแก้

  • Page with redirect หน้าที่ redirect ไปที่อื่น ถูกต้องแล้ว
  • Alternate page with proper canonical tag หน้าที่ชี้ canonical ไปหน้าอื่น ถูกต้องแล้ว
  • Excluded by noindex tag ถูกต้องหากคุณตั้งใจ เช่น หน้าผลการค้นหาภายในหรือหน้าขอบคุณ
  • Not found (404) ถูกต้องหากหน้านั้นถูกลบจริง

ขั้นตอนที่ 3: Crawled - currently not indexed

Google มาเก็บข้อมูลแล้วแต่เลือกไม่เก็บดัชนี นี่คือสถานะที่พบบ่อยที่สุดและแก้ยากที่สุด เพราะแปลว่า Google ประเมินว่าหน้านี้ยังไม่มีคุณค่าพอ

สาเหตุที่พบจริง

  • เนื้อหาสั้นเกินไปหรือคล้ายกับหน้าอื่นในเว็บมาก
  • เป็นหน้าที่สร้างอัตโนมัติจำนวนมาก เช่น หน้าแท็กที่มีบทความเดียว
  • ไม่มีลิงก์ภายในชี้มา ทำให้ Google เห็นว่าไม่สำคัญ
  • เว็บใหม่ที่ยังไม่มีความน่าเชื่อถือสะสม

วิธีแก้

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

ขั้นตอนที่ 4: Discovered - currently not indexed

Google รู้ว่ามี URL นี้อยู่แต่ยังไม่เคยมาเก็บข้อมูลเลย มักแปลว่างบการเก็บข้อมูลของเว็บถูกใช้ไปกับหน้าอื่น

ตรวจสถิติการเก็บข้อมูลที่ Settings แล้ว Crawl stats ดูว่า Google ใช้เวลาเก็บข้อมูลไปกับอะไร และเวลาตอบสนองเฉลี่ยเป็นเท่าไร

วิธีแก้

  • ทำให้เซิร์ฟเวอร์ตอบเร็วขึ้น หากเวลาตอบสนองเฉลี่ยเกิน 500 มิลลิวินาที Google จะลดความถี่ในการเก็บข้อมูล
  • ลดจำนวน URL ที่ไม่มีคุณค่า เช่น หน้ากรองสินค้าที่มีพารามิเตอร์นับพันแบบ ด้วย robots.txt หรือ canonical
  • ตรวจว่า Sitemap มี URL เหล่านี้และส่ง Sitemap แล้ว
  • เพิ่มลิงก์ภายในให้หน้าเหล่านั้นเข้าถึงได้ในไม่กี่คลิกจากหน้าแรก

ขั้นตอนที่ 5: Blocked by robots.txt

ตรวจไฟล์ก่อน

curl -s https://example.com/robots.txt

ข้อผิดพลาดที่พบบ่อยคือบรรทัดที่บล็อกทั้งเว็บซึ่งเหลือค้างจากตอนพัฒนา

User-agent: *
Disallow: /

แก้เป็นการบล็อกเฉพาะส่วนที่ไม่ควรเก็บ

User-agent: *
Disallow: /wp-admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /*?s=
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/sitemap.xml

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

ขั้นตอนที่ 6: Soft 404

หน้าที่ตอบรหัส 200 แต่ Google เห็นว่าเป็นหน้าว่างหรือหน้าไม่พบ

สาเหตุที่พบบ่อยคือหน้าหมวดหมู่ที่ไม่มีสินค้า หน้าผลค้นหาที่ไม่พบอะไร และหน้าที่ระบบสร้างแต่ยังไม่มีเนื้อหา

วิธีแก้คือตอบรหัสให้ถูกต้อง

// ถ้าไม่มีสินค้าในหมวดนี้ ให้ตอบ 404 จริง
if (!have_posts()) {
    status_header(404);
    nocache_headers();
}

หรือใส่เนื้อหาที่มีประโยชน์ในหน้านั้นแทน เช่น แนะนำสินค้าใกล้เคียง

ขั้นตอนที่ 7: Server error (5xx) และ Redirect error

ตรวจว่าเกิดขึ้นจริงหรือเป็นเหตุการณ์ชั่วคราว

for u in $(curl -s https://example.com/sitemap.xml | grep -oP '(?<=<loc>)[^<]+' | head -50); do
  code=$(curl -s -o /dev/null -w '%{http_code}' -L --max-redirs 5 "$u")
  [ "$code" != "200" ] && printf '%s  %s\n' "$code" "$u"
done

สำหรับ Redirect error ตรวจว่าไม่มีการ redirect วนเป็นวงกลมหรือยาวเกินไป

curl -sIL https://example.com/old-page/ | grep -E '^HTTP|^[Ll]ocation'

ควรมีการ redirect ไม่เกินหนึ่งครั้งไปยังปลายทางสุดท้าย

ขั้นตอนที่ 8: ขอให้เก็บข้อมูลใหม่หลังแก้

ใช้ URL Inspection ใส่ URL แล้วกด Test live URL ตรวจว่าผลลัพธ์ถูกต้องแล้ว จากนั้นกด Request indexing

มีโควตาจำกัดต่อวัน ใช้กับหน้าสำคัญเท่านั้น สำหรับการแก้จำนวนมาก ให้ส่ง Sitemap ใหม่แทน

curl -s "https://www.google.com/ping?sitemap=https://example.com/sitemap.xml"

ผลลัพธ์ในรายงานใช้เวลาหลายวันถึงสัปดาห์จึงจะอัปเดต อย่าเพิ่งสรุปว่าแก้ไม่สำเร็จเร็วเกินไป

ปัญหาที่พบบ่อย

แก้แล้วแต่รายงานยังแสดงเหมือนเดิม

ข้อมูลในรายงานมีความล่าช้าและอัปเดตเมื่อ Google มาเก็บข้อมูลรอบใหม่ ใช้ Test live URL เพื่อดูสถานะปัจจุบันจริง ซึ่งเป็นข้อมูลสด

หน้าที่เคยติดอันดับหายไป

ตรวจว่ามี noindex ถูกเพิ่มโดยไม่ตั้งใจหรือไม่

curl -sL https://example.com/page/ | grep -i 'noindex'
curl -sI https://example.com/page/ | grep -i 'x-robots-tag'

จำนวนหน้าที่ถูกเก็บดัชนีมากกว่าที่ควรมีหลายเท่า

มักเกิดจาก URL ที่มีพารามิเตอร์ถูกเก็บเป็นหน้าแยก ตั้ง canonical ให้ถูกต้องและพิจารณาบล็อกพารามิเตอร์ที่ไม่จำเป็นใน robots.txt

เว็บใหม่ไม่ถูกเก็บดัชนีเลยหลายสัปดาห์

เป็นเรื่องปกติของโดเมนใหม่ ตรวจว่าไม่ถูกบล็อก ส่ง Sitemap และสร้างลิงก์จากเว็บที่มีอยู่แล้วมาที่เว็บใหม่เพื่อให้ Google พบเร็วขึ้น

ต้องการให้ทีมงานช่วยตรวจสอบปัญหาการเก็บดัชนีของเว็บ ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security