Jak wyszukiwarka Google korzysta z reguł spekulacyjnych

Opublikowano: 12 lutego 2025 r.

Wyszukiwarka Google to jedna z najpopularniejszych i najszybszych witryn w internecie. Zespół wyszukiwarki stale inwestuje w przyspieszanie wyszukiwania. Na tak popularnej stronie jak wyszukiwarka Google nawet milisekundy poprawy szybko się sumują. Dotyczy to zarówno dobrze znanej strony głównej Google, jak i strony wyników wyszukiwania oraz kliknięć prowadzących z tych wyników do innych witryn.

Wyszukiwarka Google korzysta z interfejsu Speculation Rules API, aby zwiększyć szybkość przechodzenia ze strony wyników wyszukiwania do linków do wyników. Używa też kilku funkcji tego interfejsu, które mogą zainteresować innych właścicieli witryn.

Wstępne pobieranie pierwszych 2 wyników

Jednym z pierwszych zastosowań reguł spekulacyjnych było wstępne pobieranie 2 pierwszych wyników wyszukiwania. Wyszukiwanie hasła „test” na stronie zawiera na przykład tę regułę spekulacyjną:

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

Dwa adresy URL u dołu to pierwsze 2 wyniki wyszukiwania, które są od razu wstępnie pobierane. Jeśli użytkownik kliknie te linki, zyska przewagę, ponieważ dokument HTML powinien być już dostępny w przeglądarce.

Regułę i próby wstępnego pobierania możesz zobaczyć w narzędziach deweloperskich na karcie Aplikacja –> Spekulacja zgodnie z wcześniejszą dokumentacją:

Panel Spekulacje w Narzędziach deweloperskich z 2 definicjami słownikowymi słowa „text”, które zostały wstępnie pobrane.
Panel spekulacji z 2 udanymi wstępnymi pobraniami.

Pobieranie wstępne chroniące prywatność

Ponieważ te linki prowadzą do treści w innych witrynach, w przypadku wstępnego pobierania danych należy wziąć pod uwagę dodatkowe kwestie związane z prywatnością, ponieważ użytkownik nie odwiedził jeszcze tych witryn.

Na szczęście interfejs API został zaprojektowany z myślą o tym, a wyszukiwarka Google korzysta z 2 funkcji, aby chronić prywatność użytkowników.

Pierwszy sposób polega na użyciu requires konfiguracji, aby zapewnić, że wstępne pobieranie będzie korzystać z prywatnego serwera proxy do wstępnego pobierania w Chrome:

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

W tym celu używamy serwera proxy, aby zapewnić anonimizację adresu IP w połączeniu. Dzięki temu nie ujawniamy adresu IP użytkownika witrynie, zanim użytkownik nie kliknie linku, aby przejść do niej ze strony wyników wyszukiwania.

Po drugie, wyszukiwarka Google używa ustawienia referrer_policy, aby mieć pewność, że żadne szczegóły zakodowane w adresie URL strony wyszukiwania nie są wysyłane do witryny w nagłówku HTTP referer:

"referrer_policy": "strict-origin",

Większość przeglądarek domyślnie używa ustawienia strict-origin-when-cross-origin, ale to ustawienie korzysta z bardziej rygorystycznego ustawienia, aby używać zasady strict-origin dotyczącej stron odsyłających nawet w przypadku wstępnego pobierania z tej samej domeny.

Trzecia ochrona jest automatycznie stosowana, jeśli użytkownik ma pliki cookie witryny. W takim przypadku użytkownicy mogą otrzymać różne wyniki na podstawie tych plików cookie, a Chrome nie użyje wstępnie pobranego kodu HTML:

W panelu Spekulacyjne pobieranie z wyprzedzeniem w Narzędziach deweloperskich wyświetlają się 2 adresy URL, ale w przypadku jednego z nich pobieranie z wyprzedzeniem nie powiodło się z powodu błędu informującego, że nie kwalifikuje się on do pobrania, ponieważ użytkownik miał pliki cookie dotyczące tego źródła.
Panel spekulacji z 1 nieudanym pobieraniem z wyprzedzeniem z powodu plików cookie.

Oznacza to, że użytkownicy z plikami cookie nie będą mogli korzystać z większej wydajności, jaką zapewnia wstępne pobieranie po kliknięciu tej witryny, ale priorytetem jest ochrona prywatności i dokładne wczytywanie stron. Jeśli użytkownik odwiedził już witrynę i ma w niej pliki cookie, prawdopodobnie niektóre zasoby tej witryny są zapisane w pamięci podręcznej, więc strona będzie się wczytywać szybciej nawet bez wstępnego pobierania.

Wpływ na użytkowników wstępnego pobierania 2 pierwszych wyników

Podobnie jak w przypadku większości zmian, Google wprowadził wstępne pobieranie w wyszukiwarce w ramach eksperymentu z testem A/B i zmierzył jego wpływ. Odnotowali oni znaczną poprawę w zakresie największego wyrenderowania treści (LCP). W Chrome na Androida czas LCP w przypadku kliknięć z wyszukiwarki Google został skrócony o 67 milisekund. Wprowadzenie tej zmiany w Chrome na komputery spowodowało podobny wzrost wskaźnika LCP o 58,6 milisekundy. Są to ulepszenia witryny, do której użytkownik przechodzi, a nie samej wyszukiwarki Google, ale przynoszą korzyści użytkownikom wyszukiwarki Google.

Te ulepszenia LCP mogą wydawać się nieistotne, ale w przypadku tak zoptymalizowanej witryny jak wyszukiwarka Google cieszymy się nawet z poprawy o milisekundy. Ulepszenia rzędu dziesiątek milisekund są rzadkością. Twoja witryna może odnieść z tego znacznie większe korzyści. Aby się o tym przekonać, wypróbuj tę funkcję.

Wstępne pobieranie za pomocą reguł spekulacyjnych jest domyślnie włączone w wyszukiwarce na Androidzie od października 2022 roku, a do września 2024 roku zostało wdrożone na komputerach.

Poza pierwsze 2 wyniki

Od czasu wprowadzenia interfejsu Speculation Rules API został on wzbogacony o właściwość eagerness, która umożliwia spekulacje tylko wtedy, gdy użytkownik najedzie kursorem na link lub zacznie go klikać.

Wyszukiwarka Google postanowiła wyjść poza pierwsze 2 wyniki wyszukiwania i wstępnie pobierać pozostałe wyniki wyszukiwania – ale tylko wtedy, gdy użytkownik najedzie kursorem na link, korzystając z ustawienia moderate eagerness. Zapobiega to niepotrzebnemu marnowaniu zasobów na linki, które są mniej podatne na kliknięcia.

Ponownie, regułę można zobaczyć w Narzędziach deweloperskich, gdy wyszukujesz w Chrome. Jest ona identyczna z poprzednią regułą, ale tym razem ma ustawioną opcję "eagerness": "moderate":

Panel Reguły w Narzędziach deweloperskich z regułą listy korzystającą z zasady anonymouse-client-ip-when-cross-origin, zasady strict-origin dotyczące stron odsyłających, umiarkowanej gotowości i 7 adresów URL
Reguła spekulacyjna używana przez wyszukiwarkę Google.

Najedź kursorem na te linki, aby uruchomić wstępne pobieranie. Pamiętaj, że wyszukiwarka Google wyraźnie wymienia adresy URL, zamiast korzystać z funkcji reguł dokumentu interfejsu Speculation Rules API, ponieważ nie chce wstępnie pobierać innych adresów URL, np. reklam.

Wpływ na użytkowników w przypadku wstępnego pobierania danych wykraczających poza pierwsze 2 wyniki

W przypadku nawigacji z wyszukiwarki Google Chrome na komputery skrócił pierwsze wyrenderowanie treści (FCP) o 7,6 milisekundy, a największe wyrenderowanie treści (LCP) o 9,5 milisekundy (co wykazały testy A/B). To mniejsze zyski w porównaniu z 58,6-milisekundową poprawą widoczną w przypadku pierwszych 2 wyników, ale nie jest to zaskakujące, biorąc pod uwagę krótszy czas oczekiwania, ponieważ nie są one wstępnie pobierane tak chętnie. Z tych samych powodów, co wcześniej, są to jednak nadal dobre wyniki.

W grudniu 2024 r. domyślnie wprowadziliśmy wstępne pobieranie pozostałych wyników wyszukiwania na komputerach.

W przypadku urządzeń mobilnych, na których zwykle nie można najeżdżać kursorem, nie zaobserwowaliśmy żadnej poprawy, więc chociaż nie było też regresji, dodatkowe wstępne pobieranie nie zostało włączone na urządzeniach mobilnych.

Google nie zakończył jeszcze eksperymentów z tym nowym interfejsem API i ma nadzieję, że dzięki niemu przeglądanie internetu będzie jak najszybsze. Mamy jeszcze kilka innych pomysłów, nad którymi pracujemy.

Na przykład Chrome wprowadza wstępnie renderowane strony wyników wyszukiwania (dla użytkowników, którzy mają włączone wstępne wczytywanie), gdy użytkownicy wpisują zapytania na pasku adresu Chrome i w innych miejscach, takich jak pole wyszukiwania na Androidzie. Inne wyszukiwarki też mogą wdrożyć tę funkcję, nie tylko wyszukiwarka Google. Nie wiemy jednak, czy inne wyszukiwarki wdrożyły już tę funkcję.

Wyszukiwarka Google nie planuje dalszego wdrażania wstępnego renderowania linków do wyników, ponieważ nie jest ono dostępne w przypadku nawigacji między witrynami (a nawet w przypadku wstępnego renderowania w tej samej witrynie, ale w innej domenie wymaga włączenia).

Uwaga na temat obsługi przeglądarek

Browser Support

  • Chrome: 109.
  • Edge: 109.
  • Firefox: not supported.
  • Safari: behind a flag.

Source

Interfejs Speculation Rules API jest obecnie zaimplementowany w przeglądarkach opartych na Chromium, ale Chrome publikuje specyfikację interfejsu API w ramach procesu standardów W3C i chętnie widziałby jego wdrożenie w innych przeglądarkach.

Prywatny serwer proxy do wstępnego pobierania jest obecnie zaimplementowany tylko w Chrome, a nie w innych przeglądarkach opartych na Chromium. Jeśli jednak inne przeglądarki wdrożą własny prywatny serwer proxy do wstępnego pobierania, wyszukiwarka Google może również wprowadzić w nich te ulepszenia.

Ze względu na implikacje dla prywatności pobierania z wyprzedzeniem bez prywatnego serwera proxy do pobierania z wyprzedzeniem wyszukiwarka Google nie pobiera z wyprzedzeniem w przeglądarkach, które nie obsługują tej technologii, i nie wdrożyła w innych przeglądarkach rozwiązania zastępczego wykorzystującego inne technologie. Jednak w ramach progresywnego ulepszania oznacza to tylko, że użytkownicy tych przeglądarek nie skorzystają z niewielkiego wzrostu szybkości.

Wypróbuj w swojej witrynie.

Interfejs Speculation Rules API jest dostępny dla wszystkich witryn, a nie tylko dla wyszukiwarki Google. Oprócz opisanych tu funkcji wstępnego pobierania wstępne renderowanie zapewnia dodatkowe korzyści, gdy i gdzie można go używać. W przypadku dużych witryn, takich jak wyszukiwarka Google, widać wyraźne korzyści tego interfejsu API dla wygody użytkowników. Zachęcamy wszystkich właścicieli witryn do sprawdzenia, jak mogą korzystać z tego interfejsu i jakie korzyści mogą z niego czerpać.

Dodatkowo ochrona prywatności opisana w tym poście jest też dostępna w przypadku innych witryn. Użytkownicy muszą jednak mieć włączoną w ustawieniach obsługę rozszerzonego wstępnego wczytywania, aby umożliwić witrynom spoza Google kierowanie ruchu za pomocą prywatnego serwera proxy Google do wstępnego pobierania. Wynika to z faktu, że w ten sposób Google staje się dodatkową stroną między użytkownikiem a witryną, co nie jest konieczne w przypadku witryn Google, ponieważ są one już jedną ze stron.