ทำให้ JavaScript และ Google Search ทำงานร่วมกัน

รับข้อมูลอัปเดตล่าสุดและข้อมูลเชิงลึกจากงาน Google I/O 2019

Google Search มีเรื่องดีๆ เกิดขึ้น และเรายินดีอย่างยิ่งที่จะได้แชร์ข้อมูลเหล่านั้นที่งาน Google I/O 2019

ในบทความนี้เราจะเน้นที่แนวทางปฏิบัติแนะนำในการทำให้เว็บแอป JavaScript ค้นพบได้ใน Google Search ซึ่งได้แก่

  • Googlebot ใหม่ที่อัปเดตอยู่เสมอ
  • ไปป์ไลน์ของ Googlebot สำหรับการรวบรวมข้อมูล การแสดงผล และการจัดทำดัชนี
  • การตรวจหาฟีเจอร์และการจัดการข้อผิดพลาด
  • กลยุทธ์การแสดงภาพ
  • เครื่องมือทดสอบสําหรับเว็บไซต์ของคุณใน Google Search
  • ปัญหาที่พบได้ทั่วไปและวิธีแก้ไขที่เป็นไปได้
  • แนวทางปฏิบัติแนะนำสำหรับ SEO ในเว็บแอป JavaScript

พบกับ Googlebot ที่อัปเดตอยู่เสมอ

ปีนี้เราได้ประกาศเปิดตัว Googlebot ใหม่ที่อัปเดตอยู่เสมอซึ่งทุกคนรอคอยกันอยู่

วันที่ Googlebot กำลังถือโลโก้ Chrome
ตอนนี้ Googlebot กำลังใช้เครื่องมือแสดงผล Chromium ที่ทันสมัย

ตอนนี้ Googlebot ใช้เครื่องมือ Chromium รุ่นใหม่ในการแสดงผลเว็บไซต์สำหรับ Google Search นอกเหนือจากนั้น เราจะทดสอบ Chromium รุ่นใหม่กว่าเพื่อคอยอัปเดต Googlebot โดยปกติแล้วภายใน 2-3 สัปดาห์นับจากการเปิดตัว Chrome เวอร์ชันเสถียรแต่ละครั้ง ประกาศนี้เป็นข่าวใหญ่สำหรับนักพัฒนาเว็บและ SEO เนื่องจากเป็นประกาศการมาถึงของฟีเจอร์ใหม่กว่า 1, 000 รายการ เช่น ES6+, IntersectionObserver และ Web Components v1 ใน Googlebot

เรียนรู้วิธีการทำงานของ Googlebot

Googlebot เป็นไปป์ไลน์ที่มีคอมโพเนนต์หลายรายการ มาดูเพื่อทำความเข้าใจวิธีที่ Googlebot จัดทำดัชนีหน้าเว็บสำหรับ Google Search กัน

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

ขั้นตอนมีการทำงานดังนี้

  1. Googlebot จัดคิว URL สำหรับการรวบรวมข้อมูล
  2. จากนั้นจะดึงข้อมูล URL ด้วยคำขอ HTTP ตาม Crawl Budget
  3. Googlebot จะสแกน HTML เพื่อหาลิงก์และจัดคิวลิงก์ที่ค้นพบสำหรับการรวบรวมข้อมูล
  4. จากนั้น Googlebot จะจัดคิวหน้าเว็บเพื่อแสดงผล
  5. อินสแตนซ์ Chromium แบบไม่มีส่วนหัวจะแสดงผลหน้าเว็บซึ่งรวมถึงการเรียกใช้ JavaScript โดยเร็วที่สุด
  6. Googlebot ใช้ HTML ที่แสดงผลเพื่อจัดทำดัชนีหน้าเว็บ

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

ใช้การตรวจหาฟีเจอร์และจัดการข้อผิดพลาด

Googlebot ที่มีการเปลี่ยนแปลงอยู่เสมอมีฟีเจอร์ใหม่ๆ มากมาย แต่ระบบยังไม่รองรับบางฟีเจอร์ การใช้ฟีเจอร์ที่ไม่รองรับหรือไม่ได้จัดการข้อผิดพลาดอย่างเหมาะสมอาจทำให้ Googlebot แสดงผลหรือจัดทำดัชนีเนื้อหาไม่ได้

ยกตัวอย่างเช่น:

 <body>
   <script>
     navigator.geolocation.getCurrentPosition(function onSuccess(position) {
       loadLocalContent(position);
     });
   </script>
 </body>

หน้านี้อาจไม่แสดงเนื้อหาใดๆ ในบางกรณีเนื่องจากโค้ดไม่สามารถจัดการได้เมื่อผู้ใช้ปฏิเสธสิทธิ์หรือเมื่อการเรียก getCurrentPosition แสดงข้อผิดพลาด Googlebot จะปฏิเสธคำขอสิทธิ์ในลักษณะนี้โดยค่าเริ่มต้น

ซึ่งเป็นวิธีแก้ปัญหาที่ดีกว่า

 <body>
   <script>
     if (navigator.geolocation) {
       // this browser supports the Geolocation API, request location!
       navigator.geolocation.getCurrentPosition(
         function onSuccess(position) {
           // we successfully got the location, show local content
           loadLocalContent(position);
         }, function onError() {
           // we failed to get the location, show fallback content
           loadGlobalContent();
         });
     } else {
       // this browser does not support the Geolocation API, show fallback content
       loadGlobalContent();
     }
   </script>
 </body>

หากมีปัญหาในการจัดทำดัชนีเว็บไซต์ JavaScript โปรดดูคู่มือการแก้ปัญหาของเราเพื่อหาวิธีแก้ไข

เลือกกลยุทธ์การแสดงผลที่เหมาะสมสำหรับเว็บแอป

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

ลองดูเว็บแอปที่แสดงคอลเล็กชันรูปภาพแมวและใช้ JavaScript เพื่อแสดงผลทั้งหมดในเบราว์เซอร์กัน

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

หากคุณมีอิสระในการเลือกกลยุทธ์การแสดงผล ให้พิจารณาการแสดงผลฝั่งเซิร์ฟเวอร์หรือการแสดงผลล่วงหน้า คำสั่งดังกล่าวจะเรียกใช้ JavaScript บนเซิร์ฟเวอร์เพื่อสร้างเนื้อหา HTML เริ่มต้น ซึ่งสามารถปรับปรุงประสิทธิภาพสำหรับทั้งผู้ใช้และโปรแกรมรวบรวมข้อมูล กลยุทธ์เหล่านี้จะทำให้เบราว์เซอร์เริ่มแสดงผล HTML เมื่อมาถึงเครือข่าย ซึ่งจะทำให้โหลดหน้าเว็บได้เร็วขึ้น เซสชันการแสดงผลที่ I/O หรือบล็อกโพสต์เกี่ยวกับการแสดงผลบนเว็บจะแสดงวิธีที่การแสดงผลฝั่งเซิร์ฟเวอร์และการเติมน้ำที่จะช่วยปรับปรุงประสิทธิภาพและประสบการณ์ของผู้ใช้เว็บแอปและให้ตัวอย่างโค้ดเพิ่มเติมสำหรับกลยุทธ์เหล่านี้

หากคุณกำลังมองหาวิธีแก้ปัญหาเบื้องต้นเพื่อช่วยโปรแกรมรวบรวมข้อมูลที่ไม่เรียกใช้ JavaScript หรือหากทำการเปลี่ยนแปลงกับฐานของโค้ดฟรอนท์เอนด์ไม่ได้ ให้ลองใช้การแสดงผลแบบไดนามิก ซึ่งคุณสามารถลองใช้ได้ใน Codelab นี้ อย่างไรก็ตาม โปรดทราบว่าคุณจะไม่ได้รับประสบการณ์ของผู้ใช้หรือประโยชน์ด้านประสิทธิภาพที่คุณจะได้รับจากการแสดงผลฝั่งเซิร์ฟเวอร์หรือการแสดงผลล่วงหน้า เนื่องจากการแสดงผลแบบไดนามิกจะแสดงเฉพาะ HTML แบบคงที่ไปยัง Crawler ทั้งหมดนี้เป็นช่องว่าง มากกว่าจะเป็นกลยุทธ์ระยะยาว

ทดสอบหน้าเว็บ

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

วิธีที่ง่ายที่สุดในการตรวจสอบหน้าเว็บอย่างรวดเร็วคือการทดสอบความเหมาะกับอุปกรณ์เคลื่อนที่ นอกจากจะแสดงปัญหาเกี่ยวกับความเหมาะกับอุปกรณ์เคลื่อนที่แล้ว ยังมีภาพหน้าจอของเนื้อหาครึ่งหน้าบนและ HTML ที่แสดงผลอย่างที่ Googlebot เห็นด้วย

วันที่ การทดสอบความเหมาะกับอุปกรณ์เคลื่อนที่แสดง HTML ที่แสดงผลซึ่ง Googlebot เห็นหลังจากแสดงผลหน้าเว็บ
การทดสอบความเหมาะกับอุปกรณ์เคลื่อนที่จะแสดง HTML ที่แสดงผลที่ Googlebot ใช้

นอกจากนี้ยังดูได้ด้วยว่าเกิดปัญหาเกี่ยวกับการโหลดทรัพยากรหรือข้อผิดพลาด JavaScript หรือไม่

การทดสอบความเหมาะกับอุปกรณ์เคลื่อนที่แสดงข้อผิดพลาด JavaScript และสแต็กเทรซ

เราขอแนะนำให้ยืนยันโดเมนใน Google Search Console เพื่อให้คุณใช้เครื่องมือตรวจสอบ URL เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับสถานะการรวบรวมข้อมูลและการจัดทำดัชนีของ URL, รับข้อความเมื่อ Search Console ตรวจพบปัญหา และดูรายละเอียดเพิ่มเติมเกี่ยวกับประสิทธิภาพของเว็บไซต์ใน Google Search

วันที่ เครื่องมือตรวจสอบ URL ที่แสดงหน้าเว็บซึ่งจัดทำดัชนีโดยมีข้อมูลเกี่ยวกับการค้นพบ การรวบรวมข้อมูล และการจัดทำดัชนีสำหรับ URL เดียว
เครื่องมือตรวจสอบ URL ใน Search Console แสดงสถานะของหน้าเว็บในการรวบรวมข้อมูล การแสดงผล และการจัดทำดัชนี

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

วันที่ รายงาน SEO ของประภาคารซึ่งมีคะแนน 44 คะแนนและมีคำเตือนเกี่ยวกับความเหมาะกับอุปกรณ์เคลื่อนที่ รวมถึงคำเตือนเกี่ยวกับแนวทางปฏิบัติแนะนำสำหรับเนื้อหา
Lighthouse แสดงคำแนะนำทั่วไปเกี่ยวกับ SEO สำหรับหน้าเว็บ

เครื่องมือเหล่านี้ช่วยให้คุณระบุ แก้ไขข้อบกพร่อง และแก้ไขปัญหาเกี่ยวกับหน้าเว็บใน Google Search ได้ และควรเป็นส่วนหนึ่งของกิจวัตรการพัฒนาซอฟต์แวร์

ไม่พลาดทุกข่าวสารและติดต่อเรา

หากต้องการติดตามประกาศและการเปลี่ยนแปลงใน Google Search โปรดติดตามบล็อกผู้ดูแลเว็บ, ช่อง YouTube ของ Google ผู้ดูแลเว็บ และบัญชี Twitter ของเรา นอกจากนี้ คุณยังดูข้อมูลเพิ่มเติมเกี่ยวกับ SEO และ JavaScript ได้จากคู่มือนักพัฒนาซอฟต์แวร์เกี่ยวกับ Google Search และชุดวิดีโอเกี่ยวกับ JavaScript SEO