IndexLaunch
← คู่มือทั้งหมด

JavaScript SEO: ทำให้แน่ใจว่า Google จัดทำดัชนีหน้าที่เรนเดอร์ด้วย JS ได้

Google สามารถรัน JavaScript ได้ แต่การเรนเดอร์เกิดขึ้นในรอบที่สองที่ล่าช้า — นี่คือความหมายของสิ่งนี้ต่อการจัดทำดัชนีและวิธีที่มักผิดพลาดบ่อย

การจัดทำดัชนีเกิดขึ้นในสองรอบ

Googlebot ดึงข้อมูล HTML ดิบของคุณก่อนและสามารถจัดทำดัชนีเนื้อหาใด ๆ ที่มีอยู่แล้วในการตอบสนองเริ่มต้นนั้นได้เกือบทันที สิ่งใดที่ปรากฏหลัง JavaScript รันเท่านั้นจะถูกเข้าคิวสำหรับรอบที่สอง — การเรนเดอร์ — ซึ่งใช้ทรัพยากรแยกต่างหากและอาจล่าช้ากว่าการ crawl เริ่มต้นตั้งแต่ไม่กี่วินาทีไปจนถึงนานกว่านั้นมากบนเว็บไซต์ที่มีข้อจำกัดด้าน crawl หากเนื้อหาหรือลิงก์ภายในของคุณมีอยู่หลังรอบที่สองเท่านั้น คุณกำลังพึ่งพาเส้นทางที่ช้ากว่าและไม่แน่นอนกว่าในการถูกจัดทำดัชนีเลย

สิ่งที่ทำให้การจัดทำดัชนีเสียหายจริง ๆ

  • เนื้อหาหลักหรือลิงก์ภายในที่เรนเดอร์หลังการดึงข้อมูลฝั่งไคลเอนต์เท่านั้น โดยไม่มีอะไรที่มีความหมายใน HTML เริ่มต้น
  • เนื้อหาที่ถูกล็อกไว้หลังการกระทำของผู้ใช้ — การคลิก การเลื่อน การชี้เมาส์ — ที่ Googlebot ไม่มีเหตุผลที่จะทำ
  • ไฟล์ JS หรือ CSS ที่ถูกบล็อกใน robots.txt ที่หน้าเว็บต้องการเพื่อเรนเดอร์อย่างถูกต้อง ดูrobots.txt เทียบกับ noindexว่าการบล็อกอาจส่งผลย้อนกลับได้อย่างไร
  • การกำหนดเส้นทางฝั่งไคลเอนต์ที่ไม่เคยเปลี่ยนสถานะ HTTP จริง — เส้นทางที่เสียหายอาจแสดงว่างเปล่าหรือแสดงข้อความไม่พบในขณะที่ยังคงส่งกลับ 200 ซึ่งปรากฏเป็นsoft 404
  • ข้อผิดพลาดในการ hydration หรือการเรนเดอร์ที่เกิดขึ้นเฉพาะในสภาพแวดล้อมเบราว์เซอร์แบบ headless และไม่มีใครสังเกตเห็นในการทดสอบด้วยตนเองตามปกติ

วิธีตรวจสอบสิ่งที่ Google เห็นจริง ๆ

เครื่องมือตรวจสอบ URL ของ Search Console มีมุมมอง "Tested page" ที่แสดง HTML ที่เรนเดอร์แล้วและภาพหน้าจอหลังจากตัวเรนเดอร์ของ Google ทำงาน — ไม่ใช่แค่การตอบสนองดิบ เปรียบเทียบกับ HTML ต้นทางของคุณ: หากเนื้อหาหรือลิงก์สำคัญหายไปจากการตอบสนองดิบแต่มีอยู่หลังการเรนเดอร์ แสดงว่าคุณกำลังพึ่งพาคิวการเรนเดอร์ทั้งหมดแทนที่จะเป็นการ crawl เริ่มต้นที่รวดเร็ว

สิ่งที่ช่วยได้จริง

  • เรนเดอร์ฝั่งเซิร์ฟเวอร์ (หรือสร้างแบบ static) เนื้อหาและลิงก์นำทางที่สำคัญต่อ SEO แทนที่จะดึงข้อมูลฝั่งไคลเอนต์หลังโหลด
  • ใช้อีลิเมนต์ <a href> จริงสำหรับลิงก์ภายใน ไม่ใช่ตัวจัดการคลิกบนอีลิเมนต์ที่ไม่ใช่ anchor — Googlebot ติดตาม href ไม่ใช่การผูก event ของ JavaScript ตามอำเภอใจ
  • อย่าบล็อกชุด JS/CSS ที่หน้าเว็บต้องพึ่งพาในการเรนเดอร์ — Google ต้องดึงข้อมูลเหล่านั้นเพื่อเรนเดอร์หน้าเว็บได้เลย
  • เมื่อหน้าเว็บได้รับการแก้ไขแล้ว อย่าเพียงแค่รอรอบการเรนเดอร์ถัดไป — ขอจัดทำดัชนีใหม่โดยตรง หรือส่ง URL ผ่าน IndexNow เพื่อให้เวอร์ชันที่แก้ไขแล้วถูกรับไปตามกำหนดการของคุณแทนคิวของตัวเรนเดอร์

ต้องการให้หน้าถัดไปของคุณถูกค้นพบเร็วกว่าการรอ crawl แบบทั่วไปหรือไม่?

IndexLaunch ส่งทุก URL ที่คุณส่งเข้าระบบไปยัง Bing, Yandex, Seznam และ Naver โดยตรงผ่าน IndexNow ทันทีที่คุณเพิ่มเข้าคิว

ดูราคา