เผยแพร่: 12 ก.พ. 2025
Google Search เป็นหนึ่งในเว็บไซต์ที่ได้รับความนิยมมากที่สุดบนเว็บ และยังเป็นหนึ่งในเว็บไซต์ที่เร็วที่สุดด้วย ทีม Search ลงทุนอย่างต่อเนื่องเพื่อให้ประสบการณ์การค้นหารวดเร็วขึ้น ในหน้าเว็บที่ได้รับความนิยมอย่าง Google Search แม้การปรับปรุงเพียงมิลลิวินาทีก็ช่วยให้การทำงานเร็วขึ้นได้ ความสนใจในความเร็วรวมถึงหน้าแรกของ Google ที่เป็นที่รู้จักกันดี หน้าผลการค้นหา (SERP) และการคลิกไปยังเว็บไซต์อื่นๆ จากผลการค้นหาเหล่านั้น
Google Search ใช้ Speculation Rules API เพื่อปรับปรุงความเร็วในการไปยังส่วนต่างๆ จากหน้าผลการค้นหาไปยังลิงก์ผลการค้นหา และใช้ฟีเจอร์บางอย่างของ API ที่อาจเป็นประโยชน์ต่อเจ้าของเว็บไซต์รายอื่นๆ
เรียกข้อมูลล่วงหน้าสำหรับผลการค้นหา 2 รายการแรก
การใช้กฎการคาดการณ์ครั้งแรกๆ อย่างหนึ่งคือการดึงข้อมูลล่วงหน้าของผลการค้นหา 2 รายการแรก เช่น การค้นหาคำว่า "ทดสอบ" จะรวมกฎการคาดคะเนต่อไปนี้ในหน้าเว็บ
{
"prefetch": [{
"source": "list",
"requires": [
"anonymous-client-ip-when-cross-origin"
],
"referrer_policy": "strict-origin",
"urls": [
"https://www.merriam-webster.com/dictionary/test",
"https://dictionary.cambridge.org/dictionary/english/test"
]
}]
}
URL 2 รายการที่ด้านล่างคือผลการค้นหา 2 รายการแรก และระบบจะดึงข้อมูลล่วงหน้าทันที หากผู้ใช้คลิกรายการเหล่านั้น ผู้ใช้จะเริ่มต้นได้เร็วขึ้นเนื่องจากเอกสาร HTML ควรพร้อมใช้งานในเบราว์เซอร์อยู่แล้ว
คุณดูกฎและความพยายามในการดึงข้อมูลล่วงหน้าได้ในแท็บ Application ของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ -> แท็บ Speculation ตามที่ระบุไว้ก่อนหน้านี้
การดึงข้อมูลล่วงหน้าที่รักษาความเป็นส่วนตัว
เนื่องจากลิงก์เหล่านี้เป็นลิงก์ไปยังเนื้อหาในเว็บไซต์อื่น จึงมีข้อควรพิจารณาเพิ่มเติมเกี่ยวกับความเป็นส่วนตัวสำหรับการดึงข้อมูลล่วงหน้า เนื่องจากผู้ใช้ยังไม่ได้เข้าชมเว็บไซต์เหล่านั้น
โชคดีที่ API ออกแบบมาโดยคำนึงถึงเรื่องนี้ และ Google Search ก็ใช้ฟีเจอร์ 2 อย่างเพื่อรักษาความเป็นส่วนตัวของผู้ใช้
วิธีแรกคือการใช้requiresการกำหนดค่าเพื่อให้แน่ใจว่าการดึงข้อมูลล่วงหน้าใช้พร็อกซีการดึงข้อมูลล่วงหน้าแบบส่วนตัวใน Chrome
"requires": [
"anonymous-client-ip-when-cross-origin"
],
ซึ่งจะใช้พร็อกซีเพื่อให้แน่ใจว่าการเชื่อมต่อจะปกปิดที่อยู่ IP เพื่อไม่ให้เราเปิดเผย IP ของผู้ใช้ต่อเว็บไซต์ก่อนที่ผู้ใช้จะคลิกลิงก์เพื่อไปยังเว็บไซต์จากหน้าผลการค้นหา
ประการที่ 2 Google Search ใช้referrer_policy เพื่อให้มั่นใจว่าจะไม่มีการส่งรายละเอียดที่เข้ารหัสใน URL ของหน้าค้นหาไปยังเว็บไซต์ในreferer ส่วนหัว HTTP
"referrer_policy": "strict-origin",
ปัจจุบันเบราว์เซอร์ส่วนใหญ่ใช้strict-origin-when-cross-origin เป็นค่าเริ่มต้น แต่การตั้งค่านี้จะใช้การตั้งค่าที่เข้มงวดกว่าเพื่อใช้นโยบาย URL ที่มาของ strict-origin แม้แต่สำหรับการดึงข้อมูลล่วงหน้าจากต้นทางเดียวกัน
การป้องกันที่ 3 จะเกิดขึ้นโดยอัตโนมัติหากผู้ใช้มีคุกกี้สำหรับเว็บไซต์ ในกรณีนี้ ผู้ใช้จะได้รับผลลัพธ์ที่แตกต่างกันตามคุกกี้เหล่านั้น และ Chrome จะไม่ใช้ HTML ที่ดึงข้อมูลล่วงหน้า
ซึ่งหมายความว่าผู้ใช้ที่มีคุกกี้จะไม่ได้รับประโยชน์จากประสิทธิภาพที่ได้รับการปรับปรุงซึ่งการดึงข้อมูลล่วงหน้ามีให้เมื่อคลิกเว็บไซต์นั้น แต่ระบบจะให้ความสำคัญกับการปกป้องความเป็นส่วนตัวและการโหลดหน้าเว็บที่ถูกต้อง นอกจากนี้ หากผู้ใช้เคยเข้าชมเว็บไซต์และมีคุกกี้สำหรับเว็บไซต์นั้นแล้ว ก็มีแนวโน้มที่จะมีชิ้นงานบางอย่างจากเว็บไซต์นั้นที่แคชไว้ และน่าจะได้รับประสบการณ์การโหลดหน้าเว็บที่เร็วขึ้นแม้ว่าจะไม่มีการดึงข้อมูลล่วงหน้าก็ตาม
ผลกระทบต่อผู้ใช้จากการดึงข้อมูลล่วงหน้าของผลการค้นหา 2 รายการแรก
เช่นเดียวกับการเปลี่ยนแปลงส่วนใหญ่ Google Search ได้เปิดตัวการดึงข้อมูลล่วงหน้าในการทดสอบ A/B และวัดผลกระทบ โดยพบว่า Largest Contentful Paint (LCP) ดีขึ้นอย่างเห็นได้ชัด ใน Chrome สำหรับ Android ระบบลด LCP สำหรับการคลิกจาก Google Search ลง 67 มิลลิวินาที การเปิดตัวใน Chrome สำหรับเดสก์ท็อปในภายหลังส่งผลให้ LCP ดีขึ้นในระดับเดียวกันที่ 58.6 มิลลิวินาที การปรับปรุงเหล่านี้มีไว้สำหรับเว็บไซต์ที่ผู้ใช้ไปยัง ไม่ใช่เว็บไซต์ Google Search เอง แต่ก็เป็นประโยชน์ต่อผู้ใช้ Google Search
การปรับปรุง LCP เหล่านี้อาจดูเหมือนไม่มีนัยสำคัญ แต่สำหรับเว็บไซต์ที่ได้รับการเพิ่มประสิทธิภาพอย่างยิ่งยวดอย่าง Google Search เรายินดีกับการปรับปรุงแม้เพียงมิลลิวินาทีเดียวเพื่อผู้ใช้ของเรา ดังนั้นการปรับปรุงในช่วงหลายสิบมิลลิวินาทีจึงเป็นเรื่องที่น่าตื่นเต้น เว็บไซต์ของคุณอาจได้รับประโยชน์มากขึ้นอย่างมาก คุณควรลองใช้เพื่อดูว่าจะเป็นอย่างไร
ระบบได้เปิดใช้การดึงข้อมูลล่วงหน้าโดยใช้กฎการคาดคะเนใน Search บน Android โดยค่าเริ่มต้นตั้งแต่เดือนตุลาคม 2022 และจะเปิดตัวในเดสก์ท็อปภายในเดือนกันยายน 2024
นอกเหนือจากผลการค้นหา 2 รายการแรก
นับตั้งแต่การเปิดตัว Speculation Rules API ครั้งแรก เราได้ปรับปรุงด้วยพร็อพเพอร์ตี้ความกระตือรือร้นที่อนุญาตให้คาดการณ์ได้เฉพาะเมื่อผู้ใช้วางเมาส์เหนือหรือเริ่มคลิกลิงก์
Google Search จึงตัดสินใจที่จะแสดงผลการค้นหามากกว่า 2 รายการแรก และยังดึงข้อมูลผลการค้นหาที่เหลือล่วงหน้าด้วย แต่จะทำก็ต่อเมื่อผู้ใช้เลื่อนเมาส์เหนือลิงก์โดยใช้moderateการตั้งค่าความกระตือรือร้น ซึ่งจะช่วยป้องกันการสิ้นเปลืองทรัพยากรโดยไม่จำเป็นสำหรับลิงก์ที่มีโอกาสคลิกน้อยกว่า
อีกครั้งที่กฎนี้จะปรากฏในเครื่องมือสำหรับนักพัฒนาเว็บเมื่อคุณค้นหาใน Chrome และจะเหมือนกับกฎก่อนหน้าทุกประการ แต่คราวนี้มีการตั้งค่าตัวเลือก "eagerness": "moderate" ดังนี้
การวางเมาส์เหนือลิงก์เหล่านี้จะทริกเกอร์การดึงข้อมูลล่วงหน้า โปรดทราบว่า Google Search จะแสดง URL อย่างชัดเจนแทนที่จะใช้ฟีเจอร์กฎของเอกสารของ Speculation Rules API เนื่องจากไม่ต้องการดึงข้อมูล URL อื่นๆ เช่น โฆษณา มาล่วงหน้า
ผลกระทบต่อผู้ใช้ในการดึงข้อมูลล่วงหน้าของผลการค้นหาที่อยู่นอกเหนือจาก 2 รายการแรก
Chrome บนเดสก์ท็อปลด First Contentful Paint (FCP) สำหรับการไปยังส่วนต่างๆ จาก Google Search ลง 7.6 มิลลิวินาที และ LCP ลง 9.5 มิลลิวินาที (ตามที่แสดงในการทดสอบ A/B) ซึ่งแสดงถึงการเพิ่มขึ้นที่น้อยกว่าเมื่อเทียบกับการปรับปรุง 58.6 มิลลิวินาทีที่เห็นในผลลัพธ์ 2 รายการแรก แต่ก็ไม่น่าแปลกใจเนื่องจากเวลานำที่สั้นกว่าเนื่องจากไม่ได้ดึงข้อมูลล่วงหน้าอย่างกระตือรือร้น อย่างไรก็ตาม การเพิ่มขึ้นเหล่านี้ยังคงเป็นผลลัพธ์ที่ดีด้วยเหตุผลเดียวกันกับที่กล่าวไว้ก่อนหน้านี้
การดึงข้อมูลล่วงหน้าของผลการค้นหาที่เหลือบนเดสก์ท็อปเปิดตัวโดยค่าเริ่มต้นในเดือนธันวาคม 2024
สำหรับอุปกรณ์เคลื่อนที่ซึ่งโดยปกติแล้วจะไม่มีการวางเมาส์ เราไม่เห็นการปรับปรุงที่แท้จริง ดังนั้นแม้ว่าจะไม่มีการถดถอย แต่เราก็ไม่ได้เปิดใช้การดึงข้อมูลล่วงหน้าเพิ่มเติมเหล่านี้ในอุปกรณ์เคลื่อนที่
การใช้การคาดเดาเพิ่มเติมสำหรับ Google Search
Google ยังคงทดสอบ API ใหม่ที่น่าสนใจนี้ต่อไป และหวังว่าจะทำให้การท่องเว็บเร็วที่สุดเท่าที่จะเป็นไปได้ เรายังมีเคล็ดลับอื่นๆ ที่กำลังพัฒนาอยู่อีกด้วย
ตัวอย่างหนึ่งคือ Chrome กำลังเปิดตัวหน้าผลการค้นหาที่แสดงผลล่วงหน้าสำหรับผู้ใช้ที่เปิดใช้การโหลดล่วงหน้า เมื่อผู้ใช้พิมพ์คำค้นหาในแถบที่อยู่ของ Chrome และในที่อื่นๆ เช่น ช่องค้นหาใน Android นอกจากนี้ เครื่องมือค้นหาอื่นๆ ก็สามารถนำไปใช้ได้เช่นกัน ไม่ใช่แค่ Google Search แต่เรายังไม่ทราบว่าเครื่องมือค้นหาอื่นๆ มีการนำไปใช้หรือไม่ในขณะนี้
Google Search ไม่ได้ต้องการที่จะดำเนินการต่อและใช้การแสดงผลล่วงหน้าสำหรับลิงก์ผลการค้นหาเอง เนื่องจากฟีเจอร์นี้ไม่พร้อมใช้งานสำหรับการไปยังส่วนต่างๆ ในเว็บไซต์ (และต้องเลือกใช้สำหรับการแสดงผลล่วงหน้าแบบข้ามต้นทางในเว็บไซต์เดียวกันด้วย)
หมายเหตุเกี่ยวกับการรองรับเบราว์เซอร์
ขณะนี้เราได้ติดตั้งใช้งาน Speculation Rules API ในเบราว์เซอร์ที่ใช้ Chromium แต่ Chrome กำลังเผยแพร่ข้อกำหนด API ผ่านกระบวนการมาตรฐาน W3C และต้องการให้เบราว์เซอร์อื่นๆ ติดตั้งใช้งาน API นี้
ปัจจุบันพร็อกซีการดึงข้อมูลล่วงหน้าแบบส่วนตัวใช้งานได้ใน Chrome เท่านั้น และยังไม่พร้อมใช้งานในเบราว์เซอร์อื่นๆ ที่ใช้ Chromium แต่หากเบราว์เซอร์อื่นๆ ใช้พร็อกซีการดึงข้อมูลล่วงหน้าแบบส่วนตัวของตนเอง Google Search ก็อาจพิจารณาใช้การปรับปรุงเหล่านี้ในเบราว์เซอร์เหล่านั้นด้วย
เนื่องจากผลกระทบด้านความเป็นส่วนตัวของการดึงข้อมูลล่วงหน้าโดยไม่มีพร็อกซีการดึงข้อมูลล่วงหน้าแบบส่วนตัว Google Search จึงไม่ดึงข้อมูลล่วงหน้าในเบราว์เซอร์ที่ไม่รองรับเทคโนโลยีนี้ และไม่ได้ใช้การสำรองข้อมูลโดยใช้เทคโนโลยีอื่นๆ สำหรับเบราว์เซอร์อื่นๆ อย่างไรก็ตาม การปรับปรุงแบบค่อยเป็นค่อยไปนี้หมายความว่าผู้ใช้ในเบราว์เซอร์เหล่านั้นจะไม่ได้รับประโยชน์จากการเพิ่มความเร็วเพียงเล็กน้อยนี้
ลองใช้ในเว็บไซต์ของคุณ
API กฎการคาดการณ์พร้อมให้ทุกเว็บไซต์ใช้งาน ไม่ใช่แค่ Google Search นอกเหนือจากความสามารถในการดึงข้อมูลล่วงหน้าที่กล่าวถึงในที่นี้แล้ว การแสดงผลล่วงหน้ายังมีประโยชน์เพิ่มเติมเมื่อและในกรณีที่ใช้ได้ เนื่องจากเว็บไซต์ขนาดใหญ่อย่าง Google Search แสดงให้เห็นถึงประโยชน์ที่ชัดเจนของ API นี้ต่อประสบการณ์ของผู้ใช้ เราจึงขอแนะนำให้เจ้าของเว็บไซต์ทุกรายพิจารณาวิธีการใช้ API นี้และอาจได้รับประโยชน์จาก API นี้
นอกจากนี้ การปกป้องความเป็นส่วนตัวที่อธิบายไว้ในโพสต์นี้ยังพร้อมให้บริการแก่เว็บไซต์อื่นๆ ด้วย โดยมีข้อแม้ว่าผู้ใช้ต้องเปิดใช้การรองรับการโหลดล่วงหน้าแบบขยายในการตั้งค่าเพื่อให้เว็บไซต์ที่ไม่ใช่ของ Google สามารถกำหนดเส้นทางการเข้าชมโดยใช้พร็อกซีการดึงข้อมูลล่วงหน้าแบบส่วนตัวของ Google เนื่องจากวิธีนี้จะทำให้ Google เป็นบุคคลที่สามระหว่างผู้ใช้กับเว็บไซต์ ซึ่งไม่จำเป็นสำหรับเว็บไซต์ของ Google เนื่องจาก Google เป็นหนึ่งในบุคคลที่เกี่ยวข้องอยู่แล้ว