Jak wyszukiwarka Google korzysta z reguł spekulacyjnych

Data publikacji: 12 lutego 2025 r.

Wyszukiwarka Google jest jedną z najpopularniejszych witryn w internecie, a także jedną z najszybszych. Zespół wyszukiwarki stale inwestuje w przyspieszanie wyszukiwania. Na stronie tak popularnej jak wyszukiwarka Google nawet ułamki sekundy liczą się bardzo. Zainteresowanie szybkością obejmuje znaną stronę główną Google, stronę wyników wyszukiwania (SERP) i kliknięcia w wynikach wyszukiwania prowadzące do innych witryn.

Wyszukiwarka Google korzysta z interfejsu Speculation Rules API, aby zwiększyć szybkość nawigacji od strony wyników wyszukiwania do linków do wyników. Korzysta też z kilku funkcji interfejsu API, które mogą być interesujące dla innych właścicieli witryn.

Pobieranie w poprzedniości 2 pierwszych wyników

Jedną z pierwszych zastosowań reguł spekulacji było wstępne pobieranie 2 pierwszych wyników wyszukiwania. Wyszukiwanie słowa „test” obejmuje na przykład tę regułę spekulacji:

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

2 adresy URL na dole to 2 pierwsze wyniki wyszukiwania, które są natychmiast pobierane w ramach wstępnego pobierania. Jeśli użytkownik kliknie te linki, będzie miał przewagę, ponieważ dokument HTML powinien być już dostępny w przeglądarce.

Regułę i próby wstępnego pobierania można zobaczyć w DevTools na karcie Aplikacja –> Spekulacja (jak opisano wcześniej):

Panel spekulacji w DevTools z listą 2 definicji słownikowych słowa, które zostały pomyślnie pobrane z poziomu pamięci podręcznej
Panel spekulacji z 2 udanymi operacjami wstępnego pobierania.

Wstępne pobieranie z zachowaniem prywatności

Te linki prowadzą do treści w innych witrynach, więc w przypadku pobierania w poprzednim wstępnym 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 uwzględnieniem tych kwestii, a wyszukiwarka Google korzysta z 2 funkcji, które chronią prywatność użytkowników.

Pierwsza to użycie konfiguracji requires, aby zapewnić, że funkcja wstępnego pobierania będzie korzystać z prywatnego serwera proxy w Chrome:

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

Używa ona serwera proxy, aby upewnić się, że połączenie anonimizuje adres IP, dzięki czemu nie ujawniamy adresu IP użytkownika witrynie, zanim użytkownik kliknie link, aby przejść do niej z strony wyników wyszukiwania.

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

"referrer_policy": "strict-origin",

Większość przeglądarek używa teraz domyślnie strict-origin-when-cross-origin, ale to ustawienie korzysta z ostrzejszego ustawienia, aby używać zasad strict-origin dotyczących stron odsyłających nawet w przypadku pobierania wstępnego z tego samego źródła.

Trzecia ochrona jest stosowana automatycznie, jeśli użytkownik ma pliki cookie dotyczące danej witryny. W takim przypadku mogą oni otrzymywać różne wyniki na podstawie tych plików cookie, a Chrome nie będzie używać zarchiwizowanego kodu HTML:

W Narzędziach deweloperskich w panelu spekulacji są 2 adresy URL, ale pobranie z wyprzedzeniem jednego z nich nie powiodło się z powodu błędu, że nie kwalifikuje się on, ponieważ użytkownik ma 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 skorzystają z ulepszonego działania, jakie zapewnia wstępna wczytywanie, gdy klikną tę witrynę, ale priorytetem jest ochrona prywatności i dokładne wczytywanie stron. Jeśli użytkownik odwiedził już witrynę i ma do niej pliki cookie, prawdopodobnie niektóre zasoby z tej witryny są w pamięci podręcznej, dzięki czemu wczytywanie strony będzie szybsze nawet bez wstępnego pobierania.

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

Podobnie jak w przypadku większości zmian, wyszukiwarka Google wdrożyła funkcję wstępnego pobierania w ramach eksperymentu z testem A/B i mierzyła jej wpływ. Firma odnotowała znaczną poprawę największego wyrenderowania treści (LCP). W Chrome na Androida czas LCP w przypadku kliknięć z wyszukiwarki Google został skrócony o 67 ms. Kolejne uruchomienie Chrome na komputerze stacjonarnym spowodowało podobny spadek wartości LCP o 58,6 ms. Są to ulepszenia witryny, do której użytkownik przechodzi, a nie samej wyszukiwarki Google, ale korzystają z nich użytkownicy wyszukiwarki Google.

Te ulepszenia dotyczące LCP mogą wydawać się nieznaczne, ale w przypadku strony, która jest bardzo zoptymalizowana, takiej jak wyszukiwarka Google, cieszymy się nawet z ulepszeń liczących ułamki sekundy, więc ulepszenia rzędu kilkudziesięciu milisekund są nietypowe. Twoja witryna może uzyskać znacznie większe korzyści – spróbuj, aby się o tym przekonać.

Od października 2022 r. w wyszukiwarce na urządzeniach z Androidem domyślnie jest włączone pobieranie wstępne z użyciem reguł spekulacyjnych, a we wrześniu 2024 r. zostało ono wdrożone na komputerach.

Po pierwszych 2 wynikach

Od czasu pierwszego wprowadzenia interfejsu Speculation Rules API został on rozszerzony 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 przejść dalej niż 2 pierwsze wyniki wyszukiwania i pobrać z wyprzedzeniem pozostałe wyniki wyszukiwania – ale tylko wtedy, gdy użytkownik najedzie kursorem na link, korzystając z ustawienia moderate. Zapobiega to niepotrzebnemu marnotrawieniu zasobów na linki, które są mniej klikalne.

Podobnie jak w przypadku poprzedniej reguły, możesz ją zobaczyć w DevTools podczas wyszukiwania w Chrome. Tym razem jest ona identyczna jak poprzednia, ale z ustawioną opcją "eagerness": "moderate":

Panel Reguły w Narzędziach dla programistów zawierający regułę listy z użyciem reguły anonymouse-client-ip-when-cross-origin, zasady dotyczącej stron odsyłających strict-origin-when-cross-origin, umiarkowanej chęci i 7 adresów URL
Reguła spekulacyjna używana przez wyszukiwarkę Google.

Najechanie kursorem na te linki spowoduje wstępne pobieranie. Pamiętaj, że wyszukiwarka Google wyświetla adresy URL w prostej formie, zamiast używać funkcji reguł dokumentu interfejsu Speculation Rules API, ponieważ nie chce pobierać w poprzednim wyszukiwaniu innych adresów URL, takich jak reklamy.

Wpływ na użytkowników z usługą wstępnego pobierania poza pierwsze 2 wyniki

W wersji na komputery stacjonarne Chrome skrócił pierwsze wyrenderowanie treści (FCP) w przypadku nawigacji z wyszukiwarki Google o 7,6 ms, a LCP o 9,5 ms (jak wykazały testy A/B). To mniejszy wzrost niż 58,6 ms w przypadku dwóch pierwszych wyników, ale nie jest to zaskakujące, biorąc pod uwagę krótszy czas oczekiwania, ponieważ te wyniki nie są tak chętnie pobierane z poziomu pamięci podręcznej. Z tych samych powodów, o których wspominaliśmy wcześniej, są to jednak nadal dobre wyniki.

W grudniu 2024 r. w przypadku wyników wyszukiwania na komputerze zostało wdrożone domyślne pobieranie w tle pozostałych wyników wyszukiwania.

W przypadku urządzeń mobilnych, na których zwykle nie można używać kursora, nie zaobserwowaliśmy żadnych realnych ulepszeń. Chociaż nie było też regresji, dodatkowe pobieranie w tle nie zostało włączone na urządzeniach mobilnych.

Google nie skończyło jeszcze eksperymentowania z tym ekscytującym nowym interfejsem API. Mamy nadzieję, że dzięki niemu przeglądanie internetu będzie jak najszybsze. Mamy jeszcze kilka innych sztuczek, nad którymi pracujemy.

Na przykład w Chrome wprowadzamy wstępnie wyrenderowane strony wyników wyszukiwania dla użytkowników, którzy mają włączone wstępne wczytywanie. Wyświetlają się one, gdy użytkownicy wpisują zapytania na pasku adresu Chrome lub w innych miejscach, np. w polu wyszukiwania na Androidzie. Funkcja ta jest dostępna też dla innych wyszukiwarek, nie tylko dla wyszukiwarki Google, ale obecnie nie znamy żadnych implementacji dla innych wyszukiwarek.

Wyszukiwarka Google nie planuje wdrażać prerenderowania dla samych linków do wyników, ponieważ nie jest to dostępne w przypadku nawigacji między witrynami (a nawet w przypadku prerenderowania w ramach tej samej witryny musisz włączyć tę opcję).

Uwaga na temat obsługi przeglądarek

Browser Support

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

Source

Interfejs Speculation Rules API jest obecnie implementowany w przeglądarkach opartych na Chromium, ale Chrome publikuje specyfikację interfejsu API w ramach procesu tworzenia standardów W3C i chce, aby inne przeglądarki go implementowały.

Prywatny serwer proxy do pobierania w poprzednim wczytaniu jest obecnie dostępny tylko w Chrome, a nie w innych przeglądarkach opartych na Chromium. Jeśli jednak inne przeglądarki wprowadzą własne prywatne serwery proxy do pobierania w poprzednim wczytaniu, wyszukiwarka Google może również wdrożyć te ulepszenia.

Ze względu na konsekwencje pobierania z wyprzedzeniem bez prywatnego serwera pobierania z wyprzedzeniem, które może naruszać prywatność, wyszukiwarka Google nie pobiera z wyprzedzeniem w przeglądarkach, które nie obsługują tej technologii, i nie wdrożyła alternatywy korzystającej z innych technologii w przypadku innych przeglądarek. Jest to jednak ulepszenie progresywne, co oznacza, że użytkownicy tych przeglądarek nie skorzystają z tego 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 możliwości wstępnego pobierania, o których mowa w tym artykule, przedrenderowanie oferuje dodatkowe korzyści, gdy można z niego korzystać. Duże witryny, takie jak wyszukiwarka Google, wyraźnie pokazują, że ten interfejs API przynosi korzyści użytkownikom. Zachęcamy wszystkich właścicieli witryn do zapoznania się z możliwościami korzystania z tego interfejsu i jego zaletami.

Dodatkowo środki ochrony prywatności opisane w tym poście są też dostępne w przypadku innych witryn, ale użytkownicy muszą mieć w ustawieniach włączoną obsługę rozszerzonego wstępnego pobierania, aby witryny niebędące własnością Google mogły kierować ruch za pomocą prywatnego serwera proxy do wstępnego pobierania Google. Wynika to z tego, że Google staje się dodatkową stroną między użytkownikiem a witryną, podczas gdy w przypadku witryn Google nie jest to konieczne, ponieważ są one już jedną ze stron.