Cách Google Tìm kiếm sử dụng quy tắc suy đoán

Ngày xuất bản: 12 tháng 2 năm 2025

Google Tìm kiếm là một trong những trang web phổ biến nhất trên web và cũng là một trong những trang web nhanh nhất. Nhóm Tìm kiếm liên tục đầu tư để mang đến trải nghiệm tìm kiếm nhanh hơn. Trên một trang phổ biến như Google Tìm kiếm, ngay cả những cải thiện chỉ tính bằng mili giây cũng sẽ nhanh chóng tích luỹ! Mối quan tâm đến tốc độ đó bao gồm trang chủ nổi tiếng của Google, Trang kết quả của công cụ tìm kiếm (SERP) và các lượt nhấp vào các trang web khác từ những kết quả tìm kiếm đó.

Google Tìm kiếm đã sử dụng Speculation Rules API để cải thiện tốc độ điều hướng từ trang kết quả tìm kiếm đến các đường liên kết kết quả. Ngoài ra, Google Tìm kiếm cũng đang sử dụng một số tính năng của API này mà các chủ sở hữu trang web khác có thể quan tâm.

Tìm nạp trước hai kết quả đầu tiên

Một trong những mục đích sử dụng đầu tiên của quy tắc dự đoán là tìm nạp trước hai kết quả tìm kiếm đầu tiên. Ví dụ: khi tìm kiếm "kiểm thử", quy tắc dự đoán sau đây sẽ xuất hiện trên trang:

{
    "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"
        ]
    }]
}

Hai URL ở dưới cùng là hai kết quả tìm kiếm đầu tiên và được tìm nạp trước ngay lập tức. Nếu người dùng nhấp vào các đường liên kết đó, thì họ sẽ có được một khởi đầu tốt vì trình duyệt đã có sẵn tài liệu HTML.

Bạn có thể xem quy tắc và các lần tìm nạp trước trong thẻ DevTools Application (Ứng dụng DevTools) -> Speculation (Suy đoán) như đã ghi nhận trước đó:

Bảng điều khiển Suy đoán của DevTools hiển thị danh sách hai định nghĩa từ điển của từ text, cả hai đều được tìm nạp trước thành công
Bảng điều khiển dự đoán có hai lần tìm nạp trước thành công.

Tải trước bảo đảm quyền riêng tư

Vì các đường liên kết này là đến nội dung trên các trang web khác, nên bạn cần cân nhắc thêm một số vấn đề về quyền riêng tư khi tải trước vì người dùng chưa truy cập vào các trang web đó.

Rất may, API này được thiết kế để đảm bảo điều này và Google Tìm kiếm đang sử dụng hai tính năng để bảo vệ quyền riêng tư của người dùng.

Cách thứ nhất là sử dụng cấu hình requires để đảm bảo tính năng tải trước sử dụng proxy tải trước riêng tư trong Chrome:

"requires": [
    "anonymous-client-ip-when-cross-origin"
],

Phương thức này sử dụng một proxy để đảm bảo kết nối ẩn danh địa chỉ IP để chúng tôi không rò rỉ địa chỉ IP của người dùng cho trang web trước khi người dùng nhấp vào đường liên kết để chuyển đến trang web đó từ trang kết quả tìm kiếm.

Thứ hai, Google Tìm kiếm sử dụng chế độ cài đặt referrer_policy để đảm bảo không có thông tin chi tiết nào được mã hoá trong URL của trang tìm kiếm được gửi đến trang web trong tiêu đề HTTP referer:

"referrer_policy": "strict-origin",

Hầu hết trình duyệt hiện mặc định là strict-origin-when-cross-origin, nhưng chế độ cài đặt này sử dụng chế độ cài đặt nghiêm ngặt hơn để sử dụng chính sách liên kết giới thiệu strict-origin ngay cả đối với các yêu cầu tải trước cùng nguồn gốc.

Lớp bảo vệ thứ ba sẽ tự động diễn ra nếu người dùng có cookie cho trang web. Trong trường hợp này, họ có thể nhận được kết quả khác nhau dựa trên các cookie đó và Chrome sẽ không sử dụng HTML được tìm nạp trước:

Bảng điều khiển Suy đoán của DevTools có hai URL, nhưng một URL không tìm nạp trước được kèm theo lỗi cho biết URL đó không đủ điều kiện vì người dùng đã có cookie cho nguồn gốc đó
Bảng điều khiển Suy đoán có một lần tìm nạp trước không thành công do cookie.

Điều này có nghĩa là người dùng có cookie sẽ không được hưởng lợi từ hiệu suất được cải thiện khi nhấp vào trang web đó, nhưng việc bảo vệ quyền riêng tư và tải trang chính xác được ưu tiên. Ngoài ra, nếu người dùng đã truy cập vào một trang web và có cookie cho trang web đó, thì họ có nhiều khả năng lưu một số thành phần của trang web đó vào bộ nhớ đệm và có thể sẽ thấy trang tải nhanh hơn ngay cả khi không có tính năng tải trước.

Mức tác động đến người dùng khi tải trước hai kết quả đầu tiên

Giống như hầu hết các thay đổi, Google Tìm kiếm đã triển khai tính năng tải trước trong một thử nghiệm A/B và đo lường tác động. Họ nhận thấy sự cải thiện đáng kể về Thời gian hiển thị nội dung lớn nhất (LCP). Trên Chrome cho Android, LCP cho các lượt nhấp từ Google Tìm kiếm đã giảm 67 mili giây. Một lần phát hành tiếp theo cho Chrome dành cho máy tính để bàn đã giúp cải thiện LCP tương tự là 58,6 mili giây. Đây là những điểm cải tiến đối với trang web được chuyển đến, chứ không phải đối với chính trang web Google Tìm kiếm. Tuy nhiên, những điểm cải tiến này sẽ mang lại lợi ích cho người dùng Google Tìm kiếm.

Những điểm cải thiện này về LCP có vẻ không đáng kể, nhưng đối với một trang web được tối ưu hoá tối đa như Google Tìm kiếm, chúng tôi vẫn vui mừng khi người dùng nhận thấy sự cải thiện dù chỉ vài mili giây. Vì vậy, việc cải thiện trong phạm vi vài chục mili giây là điều bất thường! Trang web của bạn có thể nhận được lợi ích lớn hơn đáng kể. Bạn nên thử để tìm hiểu!

Tính năng tìm nạp trước bằng Quy tắc dự đoán đã được bật theo mặc định trên Google Tìm kiếm trên Android kể từ tháng 10 năm 2022 và được triển khai cho máy tính vào tháng 9 năm 2024.

Ngoài hai kết quả đầu tiên

Kể từ lần ra mắt đầu tiên của API Quy tắc suy đoán, API này đã được nâng cấp bằng một thuộc tính eagerness (mong muốn) cho phép suy đoán chỉ xảy ra khi người dùng di chuột qua hoặc bắt đầu nhấp vào một đường liên kết.

Google Tìm kiếm đã quyết định chuyển sang hai kết quả tìm kiếm đầu tiên và cũng tìm nạp trước các kết quả tìm kiếm còn lại, nhưng chỉ khi người dùng di chuột qua đường liên kết, bằng cách sử dụng chế độ cài đặt độ háo hức moderate. Điều này giúp tránh lãng phí tài nguyên không cần thiết cho các đường liên kết ít có khả năng được nhấp vào.

Xin nhắc lại, bạn có thể thấy quy tắc này trong DevTools khi tìm kiếm trong Chrome. Quy tắc này giống hệt với quy tắc trước, nhưng lần này bạn đã đặt tuỳ chọn "eagerness": "moderate":

Bảng điều khiển Quy tắc của DevTools hiển thị một quy tắc danh sách sử dụng anonymouse-client-ip-when-cross-origin, chính sách giới thiệu nguồn gốc nghiêm ngặt, mức độ háo hức vừa phải và 7 URL
Quy tắc suy đoán mà Google Tìm kiếm sử dụng.

Thao tác di chuột lên các đường liên kết này sẽ kích hoạt tính năng tải trước. Xin lưu ý rằng Google Tìm kiếm liệt kê rõ ràng các URL thay vì sử dụng tính năng quy tắc tài liệu của Speculation Rules API, vì họ không muốn tải trước các URL khác như quảng cáo.

Tác động đến người dùng của việc tìm nạp trước ngoài hai kết quả đầu tiên

Chrome dành cho máy tính đã giảm Thời gian hiển thị nội dung đầu tiên (FCP) cho các thao tác điều hướng từ Google Tìm kiếm xuống 7,6 mili giây và LCP xuống 9,5 mili giây (như thử nghiệm A/B cho thấy). Những kết quả này cho thấy mức tăng nhỏ hơn so với mức cải thiện 58,6 mili giây trong hai kết quả đầu tiên, nhưng điều đó không có gì đáng ngạc nhiên vì thời gian chờ nhỏ hơn do các kết quả này không được tìm nạp trước một cách háo hức. Tuy nhiên, đây vẫn là những lợi ích đáng kể vì những lý do nêu trên.

Tính năng tìm nạp trước các kết quả tìm kiếm còn lại trên máy tính đã được triển khai theo mặc định vào tháng 12 năm 2024.

Đối với thiết bị di động (thường không có tính năng di chuột), không có sự cải thiện thực sự nào được thấy. Vì vậy, mặc dù không có sự hồi quy nào, nhưng các tính năng tải trước bổ sung này không được bật trên thiết bị di động.

Google vẫn chưa hoàn tất việc thử nghiệm API mới thú vị này và chúng tôi hy vọng có thể giúp bạn duyệt web nhanh nhất có thể. Chúng tôi cũng đang nghiên cứu một số thủ thuật khác.

Ví dụ: Chrome đang triển khai các trang kết quả tìm kiếm được kết xuất trước (dành cho người dùng đã bật tính năng tải trước) khi người dùng nhập cụm từ tìm kiếm vào thanh địa chỉ của Chrome và ở những nơi khác như hộp tìm kiếm trên Android. Các công cụ tìm kiếm khác cũng có thể triển khai tính năng này, không chỉ Google Tìm kiếm, mặc dù hiện tại chúng tôi chưa biết có công cụ tìm kiếm nào triển khai tính năng này hay không.

Google Tìm kiếm không có ý định triển khai tính năng kết xuất trước cho chính các đường liên kết kết quả, vì tính năng này không dùng được cho thao tác điều hướng trên nhiều trang web (thậm chí bạn còn phải chọn sử dụng tính năng kết xuất trước trên cùng trang web, trên nhiều nguồn gốc).

Lưu ý về việc hỗ trợ trình duyệt

Browser Support

  • Chrome: 109.
  • Edge: 109.
  • Firefox: not supported.
  • Safari: not supported.

Source

Hiện tại, Speculation Rules API được triển khai trong các trình duyệt dựa trên Chromium, nhưng Chrome đang phát hành thông số kỹ thuật API thông qua quy trình tiêu chuẩn W3C và rất mong các trình duyệt khác triển khai API này.

Proxy tải trước riêng tư hiện chỉ được triển khai trong Chrome chứ không phải các trình duyệt khác dựa trên Chromium. Tuy nhiên, nếu các trình duyệt khác triển khai proxy tải trước riêng tư của riêng mình, thì Google Tìm kiếm cũng có thể triển khai các điểm cải tiến này ở đó.

Do việc tìm nạp trước mà không có proxy tìm nạp trước riêng tư có thể ảnh hưởng đến quyền riêng tư, nên Google Tìm kiếm không tìm nạp trước trên những trình duyệt không hỗ trợ công nghệ này. Do đó, chúng tôi chưa triển khai phương án dự phòng bằng các công nghệ khác cho các trình duyệt khác. Tuy nhiên, đây chỉ là một tính năng nâng cao tăng tiến, tức là người dùng trên những trình duyệt đó không được hưởng lợi từ mức tăng tốc độ nhỏ này.

Hãy thử trên trang web của bạn!

Tất cả các trang web đều có thể sử dụng Speculation Rules API, chứ không chỉ Google Tìm kiếm. Ngoài các tính năng tải trước được thảo luận ở đây, tính năng kết xuất trước còn mang lại nhiều lợi ích khác khi và nơi bạn có thể sử dụng tính năng này. Với các trang web lớn như Google Tìm kiếm cho thấy rõ lợi ích của API này đối với trải nghiệm người dùng, tất cả chủ sở hữu trang web đều nên tìm hiểu cách sử dụng và có thể hưởng lợi từ API này.

Ngoài ra, các biện pháp bảo vệ quyền riêng tư được nêu chi tiết trong bài đăng này cũng áp dụng cho các trang web khác. Tuy nhiên, người dùng phải bật tính năng hỗ trợ Tìm nạp trước mở rộng trong phần cài đặt để cho phép các trang web không phải của Google định tuyến lưu lượng truy cập bằng proxy tìm nạp trước riêng tư của Google. Lý do là việc này sẽ đưa Google vào vai trò là một bên khác giữa người dùng và trang web, trong khi điều này không cần thiết trên các trang web của Google vì họ đã là một trong các bên liên quan.