seojuice

Czym jest Googlebot? Jak crawluje, renderuje i indeksuje Twoją stronę

Vadim Kravcenko
Vadim Kravcenko
· Updated · 14 min read

TL;DR. Googlebot to zbiorcza nazwa crawlerów, których Google używa do odkrywania, renderowania i indeksowania treści w sieci. To nie jeden bot, lecz cała rodzina. Najważniejszym członkiem jest Googlebot Smartphone, który przeszukuje mobilną wersję Twojej witryny, korzystając z Chromium w trybie headless odpowiadającego najnowszej stabilnej wersji Chrome. Crawling, renderowanie i indeksowanie to trzy oddzielne etapy, oddalone od siebie nawet o godziny lub dni. Większość problemów typu „Googlebot nie widzi mojej strony” wynika z JavaScriptu, który cicho zawodzi w fazie renderowania, a nie z samego crawla. W dalszej części poradnika omawiamy rodzinę botów, trzyetapowy pipeline, sposób potwierdzenia, że żądanie faktycznie pochodzi od Googlebota, kwestie robots.txt i budżetu crawl-owego, a także porównanie Googlebota z Bingbotem, GPTBotem, PerplexityBotem i ClaudeBotem.

Czym właściwie jest Googlebot (po ludzku)

Googlebot to program, dzięki któremu Google pobiera strony internetowe, aby mogły trafić do indeksu. Gdy publikujesz nowy wpis i pojawia się on w wynikach wyszukiwania, podróż zaczyna się od żądania URL-a przez Googlebota, pobrania HTML-a, wykonania JavaScriptu i przekazania wyniku do systemu indeksowania Google. Bez Googlebota Twoje strony praktycznie nie istnieją dla wyszukiwarki.

Na wstępie warto wyjaśnić dwie rzeczy. Po pierwsze, „Googlebot” bywa używany luźno jako synonim „dowolnego crawlera Google”. Ściśle rzecz biorąc, Googlebot to crawler, który pobiera strony na potrzeby głównego indeksu wyszukiwarki. Istnieją też inne boty Google (AdsBot do oceny stron docelowych w reklamach, Storebot do list Shopping, Google-Extended do wykluczania treści z treningu AI), lecz każdy z nich ma inny cel i przestrzega innych reguł. Podczas debugowania bądź precyzyjny, o którym bocie mówisz.

Po drugie, Googlebot nie jest scraperem. Scraper pobiera z Twojej strony, co tylko zdoła, bez pytania o zgodę i wykorzystuje dane dowolnie. Googlebot przed każdym crowlem odczytuje plik robots.txt, respektuje meta-tagi noindex, zmniejsza tempo żądań, gdy serwer zwalnia, i identyfikuje się w nagłówkach, byś mógł potwierdzić źródło ruchu. Jeśli w logach widzisz wpis „Googlebot”, który uderza w serwer bez opamiętania, to niemal na pewno nie jest prawdziwy Googlebot, lecz podszywanie się pod jego user-agenta.

Googlebot to tak naprawdę rodzina crawlerów

Botem, o którym powinieneś myśleć w pierwszej kolejności, jest Googlebot Smartphone. Od zakończenia wdrożenia indeksowania mobile-first w połowie 2023 r. to on domyślnie odwiedza mobilną wersję Twojej witryny. Crawle desktopowe nadal się zdarzają, lecz mają drugorzędne znaczenie. Poniżej drzewo genealogiczne z dokładnymi ciągami user-agentów publikowanymi przez Google:

Crawler Fragment user-agenta Zadanie
Googlebot SmartphoneMozilla/5.0 (Linux; Android 6.0.1; Nexus 5X...) ... Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)Główny crawler mobilnej wersji witryny. Odpowiada za większość indeksacji.
Googlebot DesktopMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36Pobiera warianty desktopowe. Po mobile-first to mniejsza część ruchu crawl-owego.
Googlebot ImageGooglebot-Image/1.0Pobiera obrazy do Google Grafika. Inny bot, inne reguły.
Googlebot VideoGooglebot-Video/1.0Pobiera pliki wideo do Google Videos.
Googlebot NewsBrak osobnego UA — korzysta z różnych ciągów GooglebotaCrawluje treści do Google News. Identyfikacja wymaga sprawdzenia IP, nie UA.
Google-InspectionToolMozilla/5.0 (compatible; Google-InspectionTool/1.0;)Uruchamiany, gdy używasz narzędzia Inspekcja adresu URL w Search Console. Pomija część cache’u.

Symbol W.X.Y.Z w ciągach user-agent Smartphone i Desktop nie jest dosłowny. Google podstawia w czasie żądania rzeczywistą wersję Chromium, która na bieżąco nadąża za stabilnym Chrome. W praktyce silnik renderujący Googlebota jest zaledwie kilka tygodni za publiczną wersją Chrome. Jeśli Twoja witryna wymaga funkcji JavaScript dostępnej dopiero od Chrome 130+, Googlebot najpewniej już ją obsłuży. Jeśli wymaga czegoś, co jeszcze nie zostało wydane, nie obsłuży. To fakt, którego brakuje w dyskusjach „czy mój JS jest zbyt nowoczesny dla Googlebota?”: renderer bota jest aktualny, a nie zamrożony na Chrome 41 jak lata temu.

Trzyetapowy pipeline: crawl, render, index

Praca Googlebota dzieli się na trzy odrębne fazy. Nie zachodzą jednocześnie, a opóźnienie lub błąd w którejkolwiek może wykluczyć stronę z wyników. Dokumentacja Google opisuje to jasno: „Google przetwarza aplikacje JS w trzech głównych fazach: 1. Crawling 2. Rendering 3. Indexing.” Zrozumienie granic między tymi fazami odróżnia SEO-wców, którzy potrafią diagnozować problemy indeksacji, od tych, którzy zgadują.

Faza 1: Crawling

Googlebot wybiera URL z kolejki, wysyła żądanie HTTP i odbiera surową odpowiedź HTML. To wszystko na tym etapie. JavaScript jeszcze nie działa, renderowanie nie następuje. Crawler odczytuje kod statusu, nagłówki odpowiedzi (w tym nagłówki cache, X-Robots-Tag, przekierowania) i nieprzetworzone ciało HTML. URL-e do crawla pochodzą z kolejki budowanej przez Google z map witryny XML, linków wewnętrznych z już zaindeksowanych stron, linków zewnętrznych oraz bezpośrednich zgłoszeń w narzędziu Inspekcja adresu URL.

Jeśli surowy HTML zawiera już wszystko, co ma zostać zindeksowane (typowy SSR), Googlebot może przejść dalej. Jeśli HTML jest niemal pusty i treść wstrzykuje JavaScript, strona trafia do fazy renderowania. Na tym etapie Googlebot również odczytuje plik robots.txt. Gdy URL jest zabroniony, bot nawet go nie pobiera.

Faza 2: Renderowanie

Jeżeli strona wymaga wykonania JavaScriptu, Googlebot przekazuje URL do Web Rendering Service (WRS). WRS to headless Chromium, który ładuje stronę w środowisku przeglądarki, uruchamia skrypty i tworzy końcowy renderowany HTML. Dokumentacja ujmuje to zwięźle: „Gdy zasoby Google na to pozwolą, headless Chromium renderuje stronę i wykonuje JavaScript.”

Fraza „gdy zasoby Google na to pozwolą” kryje wiele. Renderowanie jest kosztowne (pełna przeglądarka, JS, requesty sieciowe), więc Google je grupuje i kolejkuje. Strony mogą czekać w kolejce sekundę, godzinę, a w skrajnych przypadkach dni. Oficjalny opis jest celowo nieprecyzyjny: „Strona może pozostać w tej kolejce kilka sekund, ale może to potrwać dłużej.”

To opóźnienie renderingu jest największym realnym problemem witryn opartych na JS. Twój wpis może zostać zcrawl­owany w ciągu minut od publikacji, ale wyrenderowany dopiero po 24 godzinach, więc w wynikach pojawi się następnego dnia. Strony renderowane po stronie serwera omijają tę kolejkę całkowicie.

Faza 3: Indeksowanie

Gdy Googlebot ma ostateczny HTML (bezpośrednio z crawla lub z WRS), system indeksowania parsuje dokument, wyciąga tekst, klasyfikuje treść, ocenia sygnały rankingowe i zapisuje wszystko w indeksie. Od tego momentu strona może pojawiać się w wynikach. Indeksowanie też nie jest natychmiastowe i może trwać kolejne minuty lub godziny, ale rola Googlebota dla tego URL-a jest zakończona.

Co psuje renderowanie JS (i jak to wykryć)

Większość problemów „Googlebot nie widzi mojej treści” to problemy renderowania, nie crawla. Crawl przeważnie się udaje; strona po prostu nie renderuje się tak, jak zakładał deweloper. Poniżej sześć najczęstszych scenariuszy, które obserwuję u klientów SEOJuice, w kolejności malejącej częstotliwości.

1. Treść ładowana dopiero po interakcji użytkownika
Jeśli sekcję ujawnia wyłącznie kliknięcie „Pokaż więcej”, Googlebot jej nie zobaczy. WRS wykonuje JS, ale nie klika przycisków ani nie scrolluje. Ważna zawartość powinna znajdować się w DOM-ie już przy ładowaniu, nawet jeśli domyślnie ukryta przez CSS. To najczęstsza awaria renderowania, zwykle w bibliotekach komponentów, które lazy-mountują zakładki, akordeony czy feedy „load more”.
2. Lazy-loading bez właściwych sygnałów
Obrazy i bloki treści ładujące się leniwie muszą używać natywnego loading="lazy" lub Intersection Observera, który WRS potrafi rozwiązać. Własne skrypty czekające na zdarzenia scroll często zawodzą, bo WRS nie scrolluje. Używaj loading="lazy" dla obrazów; dla komponentów zapewnij SSR lub framework z prawidłowym hydration.
3. Błędy JavaScript w trakcie wykonania
Jeśli skrypt w górnej części strony rzuci nieprzechwycony wyjątek, kolejne skrypty mogą się nie uruchomić, a reszta strony pozostanie pusta. WRS zobaczy to, co zdążyło się wyrenderować przed wyjątkiem. Użyj „Wyświetl przetestowaną stronę” w Inspekcji URL-u, by zobaczyć dokładnie to, co widział Googlebot, wraz z renderowanym HTML-em i zrzutem ekranu.
4. Zasady WAF i ochrona przed botami
CAPTCHA, zbyt agresywny Bot Fight Mode w Cloudflare czy blokowanie geograficzne mogą zwracać 403 lub stronę z wyzwaniem dla IP Googlebota. Zawsze whitelistuj opublikowane zakresy IP Google (lista googlebot.json w dev-dokumentacji), zanim włączysz blokowanie botów. Po każdej zmianie reguł WAF sprawdź URL Inspekcją.
5. Zasoby zablokowane w robots.txt
Jeśli w robots.txt zabronisz crawla /static/ lub /assets/, WRS nie pobierze bundle JS/CSS i strona wyrenderuje się bez stylów lub z zepsutym JS. Pozwól Googlebotowi craw­lować ścieżki zasobów statycznych, nawet jeśli blokujesz inne.
6. Treść za paywallem lub logowaniem
Googlebot się nie loguje, nie akceptuje znacząco ciasteczek i nie utrzymuje sesji. Wszystko za loginem nie zostanie zindeksowane. Jeśli chcesz, by płatna treść była wykrywalna, użyj Indexing API lub danych strukturalnych i jawnie określ, co jest za paywallem.

Jak potwierdzić, że to naprawdę Googlebot

Ciąg user-agent Googlebota można łatwo podrobić. Każdy może wysłać żądanie z takim nagłówkiem. Prawdziwe żądania pochodzą z zakresów IP należących do Google i można je zweryfikować tylko przez odwrotne i zwrotne wyszukiwanie DNS. Dokumentacja Google opisuje procedurę, praktyka jest krótka:

  1. Weź adres IP z logów dostępu.
  2. Wykonaj odwrotne wyszukiwanie DNS. Hostname powinien kończyć się na .googlebot.com lub .google.com.
  3. Zrób zwrotne wyszukiwanie DNS tego hostname’u. Powinien wskazać ten sam IP.
  4. Jeśli oba kroki przejdą, to prawdziwy Googlebot. Jeśli którykolwiek zawiedzie, to spoof.

W terminalu: host 66.249.66.1 a potem host crawl-66-249-66-1.googlebot.com. Przy dużych witrynach zautomatyzuj to w pipeline logów; zdziwisz się, jak często „skok crawla Googlebota” okazuje się scraperem podszywającym się pod user-agenta.

robots.txt i budżet crawl-owy: pytania, które zadają wszyscy

Ile Googlebot będzie crawlował moją witrynę?

Google nazywa to budżetem crawla. Przy witrynach do ~10 000 URL-i prawie nigdy nie jest to problemem: Googlebot odwiedzi, co trzeba, w rozsądnym czasie. Budżet staje się kwestią dopiero przy ogromnych serwisach, milionach URL-i, filtrowanych listingach e-commerce czy gdy Googlebot marnuje crawl na duplikaty i mało wartościowe adresy. Google podaje dwa czynniki: tempo crawla (jak szybko serwer odpowiada bez błędów) i popyt na crawl (popularność URL-a i częstotliwość zmian).

Czy blokować Googlebota na stronach niskiej wartości?

Tak, jeśli przy dużej witrynie zjadają budżet. Standard: blokuj URL-e wyszukiwania fasetowego, wewnętrzne wyniki wyszukiwania, strony paginacji powyżej strony 5, warianty z parametrem session-ID i pane­le admina. Użyj robots.txt do blokady w czasie crawla i meta-tagu noindex do blokady przy indeksacji. To różne rzeczy: robots zatrzymuje crawl całkowicie, noindex pozwala na crawl, ale blokuje indeksowanie.

Jak przyspieszyć indeksację nowej strony?

Zgłoś ją w narzędziu Inspekcja adresu URL w Search Console. Wywoła to dodatkowy crawl (przez Google-InspectionTool, nie Googlebota) i jest szybsze niż czekanie na regularną kolejkę. Podlinkuj też stronę z autorytatywnej, już zindeksowanej podstrony, by kolejny standardowy crawl odkrył ją przez graf linków.

Dlaczego Googlebot crawluje moje środowisko deweloperskie?

Bo gdzieś do publicznej sieci wyciekł link do stagingu lub dev-domeny (przypadkowe linkowanie, wynik wyszukiwania, otwarty tracker). Zablokuj cały staging w robots.txt poleceniem Disallow: / i dodaj HTTP Basic Auth, jeśli treść jest wrażliwa.

Diagnoza problemu „Googlebot nie widzi tej strony”

Systematyczna procedura obejmuje cztery kroki wykonywane po kolei, aż któryś da jasną odpowiedź.

Krok 1, Inspekcja URL w Search Console. Wklej URL. Narzędzie powie, czy Google go zcrawlował i zindeksował, kiedy ostatnio oraz pozwoli „Wyświetlić przetestowaną stronę”, by zobaczyć renderowany HTML i zrzut ekranu. Jeśli brakuje treści, problem jest w renderowaniu. Jeśli strona zwraca inny kod niż 200, to problem crawla. Ten jeden krok rozwiązuje ok. 70 % śledztw indeksacyjnych.

Krok 2, curl z user-agentem Googlebota. Uruchom curl -A "Mozilla/5.0 ... Googlebot/2.1 ..." https://twojawitryna.com/ścieżka. Jeśli serwer zwraca inną treść Googlebotowi niż zwykłej przeglądarce, zobaczysz to tutaj. Cloaking (celowy lub przypadkowy) to częsta przyczyna dziwnych problemów z indeksacją.

Krok 3, audyt robots.txt i meta-tagów. Wejdź na https://twojawitryna.com/robots.txt. Upewnij się, że URL nie jest blokowany. Sprawdź też źródło strony pod kątem noindex. Zadziwiająco wiele przypadków „strona się nie indeksuje” to przypadkowy noindex pozostawiony z deployu stagingu.

Krok 4, analiza logów serwera. Przefiltruj logi za ostatnie 30 dni pod kątem zweryfikowanego Googlebota. Jeśli URL nie pojawia się wcale, to problem z odkryciem: bot nie wie o adresie. Dodaj go do mapy witryny i zalinkuj z indeksowanych stron. Jeśli URL pojawia się, ale zawsze zwraca 4xx/5xx, napraw błąd i prześlij ponownie. SEOJuice wykonuje taką analizę logów i alarmuje, gdy kluczowy URL zniknie z ruchu prawdziwego Googlebota, co zwykle pozwala wychwycić problem, zanim zaszkodzi rankingom.

Googlebot vs Bingbot vs crawlery AI

Kiedyś większość myślała wyłącznie o Googlebocie; to się zmieniło. Oto porównanie głównych crawlerów w 2026 r.:

Crawler Operator Renderuje JS? Zastosowanie
GooglebotGoogleTak (najnowsze Chromium)Indeks Google Search
BingbotMicrosoftTak (Edge/Chromium)Indeks Bing, Copilot grounding
GPTBotOpenAIOgraniczone / brak SPADane treningowe ChatGPT
OAI-SearchBotOpenAIOgraniczoneRetrieval w ChatGPT
PerplexityBotPerplexityOgraniczoneEngine odpowiedzi Perplexity
ClaudeBotAnthropicOgraniczoneTrening i retrieval Claude
Google-ExtendedGoogleN/D (sygnał only-read)Flaga opt-out dla treningu Gemini

Dwie praktyczne konsekwencje. Po pierwsze: crawlery AI mają słabsze silniki JS niż Googlebot. Jeśli Twoja treść zależy od renderowania po stronie klienta, możesz dobrze rankować w Google, a być niewidoczny dla ChatGPT, Perplexity czy Claude — zobaczą pustą stronę. Remedium jest to samo, którego wymaga Googlebot: renderuj po stronie serwera lub prerenderuj kluczową treść. Nasz darmowy AI Visibility Checker w minutę pokaże, czy główne silniki AI widzą Twoją treść. Po drugie: każdy crawler AI ma osobne dyrektywy w robots.txt. User-agent: GPTBot blokuje crawler treningowy OpenAI. User-agent: Google-Extended blokuje trening Gemini. User-agent: Googlebot wciąż steruje zwykłym crawlerem wyszukiwania, niezależnie od AI. Chcesz być w Google Search, ale poza treningiem AI? Ustaw reguły osobno.

Najczęściej zadawane pytania

Czym jest Googlebot?

Googlebot to crawler, dzięki któremu Google odkrywa i pobiera strony WWW, aby mogły zostać zindeksowane i pokazane w wynikach. To rodzina botów (Smartphone, Desktop, Image, Video, News) z różnymi user-agentami i zadaniami, lecz gdy mówimy „Googlebot”, zazwyczaj chodzi o Googlebot Smartphone, główny crawler od czasu pełnego wdrożenia mobile-first w 2023 r.

Czy Googlebot uruchamia JavaScript?

Tak. Web Rendering Service (WRS) to headless Chromium, który wykonuje JS na stronach, gdy jest to potrzebne. Wersja Chromium w Googlebocie śledzi stabilne wydania Chrome, więc nowoczesne funkcje JS z reguły działają. Haczyk to kolejka renderowania: nawet przy sukcesie JS może minąć od sekund do dni od crawla do renderu. Strony renderowane po stronie serwera omijają kolejkę.

Jak sprawdzić, czy żądanie pochodzi od Googlebota?

Wykonaj odwrotny lookup DNS IP-ka. Prawdziwe trafienia Googlebota rozwiązują się do hostów kończących się na .googlebot.com lub .google.com. Następnie zrób lookup w drugą stronę — hostname powinien wskazać to samo IP. Jeśli którykolwiek krok zawiedzie, to spoof. Sam nagłówek user-agent nie wystarcza, każdy może go podać.

Czy mogę zablokować Googlebota?

Tak. Dodaj w robots.txt User-agent: Googlebot oraz Disallow: /. Zablokujesz crawl, a więc i indeksowanie. Bardziej granularnie użyj meta-tagu noindex na pojedynczych stronach (pozwala na crawl, blokuje indeks). Nie blokuj Googlebota od bundle CSS i JS — renderer ich potrzebuje.

Czy Googlebot to to samo co GPTBot lub PerplexityBot?

Nie. To osobne crawlery różnych firm i celów. Googlebot indeksuje sieć do Google Search. GPTBot zbiera dane treningowe dla ChatGPT. PerplexityBot pobiera treści do silnika odpowiedzi Perplexity. Każdy ma własny user-agent i respektuje (lub nie) swoje dyrektywy robots.txt. Możesz pozwolić Googlebotowi przy jednoczesnym blokowaniu GPTBota, konfigurując reguły oddzielnie.

Dlaczego Googlebot wciąż nie zindeksował mojej nowej strony?

Najczęstsze powody, kolejno: strona nie jest podlinkowana z żadnego zaindeksowanego URL-a (Googlebot o niej nie wie), zwraca kod inny niż 200, zawiera meta-tag noindex, jest blokowana w robots.txt lub jej treść zależy od JS, którego renderowanie jeszcze nie nastąpiło. Użyj Inspekcji URL w Search Console — „Wyświetl przetestowaną stronę” pokazuje dokładnie to, co zobaczył Googlebot, i najszybciej diagnozuje problem. Nowe strony zwykle indeksują się od kilku godzin do kilku dni, dłużej przy niskiej częstotliwości crawla.

Czy Googlebot czyta treść wewnątrz iframe?

Tak, lecz jest przypisywana do URL-a iframe’a, nie do strony osadzającej. Jeśli umieścisz główną treść w iframe, rozbijasz sygnały indeksacji na dwa URL-e i osłabiasz oba. Nie rób tego dla kluczowych treści.

Kluczowe wnioski o Googlebocie

Zapamiętaj trzy rzeczy. Po pierwsze, to rodzina crawlerów, a Googlebot Smartphone liczy się dla większości witryn od czasu domyślnego mobile-first. Po drugie, pipeline ma trzy fazy (crawl, render, index) i większość problemów mieszka w renderze, nie w crawlu — dlatego „Wyświetl przetestowaną stronę” to najważniejsze narzędzie debugowania Google. Po trzecie, crawlery AI (GPTBot, PerplexityBot, ClaudeBot) gorzej renderują JS niż Googlebot, więc optymalizacja pod renderer Googlebota czyni treść widoczną także dla AI, ale odwrotnie nie zawsze. Remedium na „AI mnie nie cytują” jest często to samo co na „Googlebot nie widzi treści”: renderuj po stronie serwera, trzymaj kluczową treść w początkowym HTML-u i nie ukrywaj jej za JS-em, który może się wyłożyć.

Powiązane: SEO dla aplikacji SPAAnswer Engine Optimization (AEO)Darmowe narzędzie do audytu SEODarmowy AI Visibility Checker

SEOJuice
Stay visible everywhere
Get discovered across Google and AI platforms with research-based optimizations.
Works with any CMS
Automated Internal Links
On-Page SEO Optimizations
Get Started Free

no credit card required

More articles

No related articles found.