Optymalizacja crawl budgetu

Vadim Kravcenko
Vadim Kravcenko
· 16 min read

TL;DR: Jeśli Twoja strona ma mniej niż 10 000 podstron, crawl budget prawie na pewno nie jest Twoim problemem. Przestań go optymalizować. Ale jeśli prowadzisz sklep internetowy z 500 tysiącami stron produktowych, serwis ogłoszeniowy z nieskończonymi parametrami URL albo cokolwiek z nawigacją fasetową — crawl budget po cichu zabija Twoje indeksowanie. Ten przewodnik pokazuje, jak zdiagnozować, czy faktycznie masz problem z crawl budgetem, i jak go naprawić. Odpowiedź jest zazwyczaj nudna: szybsze serwery, czystsze adresy URL, lepszy robots.txt.

Czym naprawdę jest crawl budget (a czym nie jest)

Diagram pokazujący jak roboty wyszukiwarek odkrywają, pobierają i zapisują dane stron na potrzeby wyników wyszukiwania
Jak działają roboty wyszukiwarek: crawlowanie adresów URL, pobieranie treści, zapisywanie danych i wpływ na wyniki wyszukiwania. Źródło: Semrush Blog

Twój faktyczny crawl budget to mniejsza z tych dwóch wartości. Jeśli Google naprawdę chce dziś przeskanować 50 000 Twoich stron (wysoki popyt), ale Twój serwer obsłuży tylko 5 000 zapytań bez degradacji wydajności (niski limit częstotliwości), dostajesz 5 000. Jeśli Twój serwer poradzi sobie ze 100 000 zapytań, ale Google interesuje się tylko 2 000 Twoich stron (niski popyt), dostajesz 2 000.

To jest element, który większość poradników źle interpretuje. Traktują crawl budget jak stały zasób, który trzeba "oszczędzać" blokując nieistotne strony. W rzeczywistości jest dynamiczny, zmienia się codziennie, i dla większości witryn w ogóle nie stanowi wąskiego gardła.

Dla większości stron: crawl budget nie jest Twoim problemem

Muszę to powiedzieć jasno, bo widziałem agencje sprzedające optymalizację crawl budgetu stronom z 200 podstronami.

Jeśli Twoja witryna ma mniej niż około 10 000 unikalnych adresów URL, optymalizacja crawl budgetu jest prawie na pewno stratą czasu.

Gary Illyes mówił to wielokrotnie, m.in. na Google I/O i na Twitterze. Jego dokładne sformułowanie: "Jeśli Twoja strona ma kilka tysięcy adresów URL, w większości przypadków będzie crawlowana efektywnie". Martin Splitt, Developer Advocate w Google, potwierdził to w odcinku JavaScript SEO office hours, mówiąc że crawl budget staje się realnym problemem "dopiero gdy masz dziesiątki tysięcy stron lub więcej".

Google crawluje miliardy stron dziennie. Twój 500-stronicowy blog na WordPressie to błąd zaokrąglenia. Google przeskanuje go w całości w ciągu kilku dni od jakiejkolwiek zmiany, bez żadnych specjalnych działań z Twojej strony.

Gdzie crawl budget ma faktyczne znaczenie:

  • Duże sklepy internetowe — ponad 50 000 stron produktowych, zwłaszcza z nawigacją fasetową generującą miliony kombinacji URL
  • Serwisy ogłoszeniowe i katalogi — gdzie parametry URL tworzą praktycznie nieskończoną liczbę crawlowalnych adresów
  • Serwisy informacyjne — publikujące setki artykułów dziennie, wymagające szybkiego indeksowania
  • Strony z poważnymi problemami technicznymi — nawet 1000-stronicowa witryna może mieć problemy z crawlowaniem, jeśli serwer odpowiada 8 sekund albo przekierowania się zapętlają
  • Platformy z treścią użytkowników — fora, serwisy Q&A, wiki z ogromną liczbą stron

Jeśli żaden z tych scenariuszy Cię nie dotyczy, przeskocz do sekcji FAQ na dole i zajmij się czymś innym. Mówię poważnie. Poświęć czas na jakość treści i linkowanie wewnętrzne. Nadal uważam, że 90% osób robiących "optymalizację crawl budgetu" powinno to usłyszeć: Twój problem prawdopodobnie leży zupełnie gdzie indziej.

Jak sprawdzić, czy faktycznie masz problem z crawl budgetem

Raport statystyk crawlowania w Google Search Console pokazujący łączne żądania crawlowania w ciągu 90 dni
Raport statystyk crawlowania w Google Search Console pokazuje łączne żądania crawlowania, rozmiar pobieranych danych i średni czas odpowiedzi w ciągu 90 dni. Źródło: Semrush Blog

2. Sprawdź lukę w indeksowaniu. Porównaj liczbę stron w mapie witryny z liczbą zaindeksowanych stron w raporcie "Strony" w GSC. Jeśli masz 100 000 adresów URL w sitemap, ale tylko 40 000 zaindeksowanych, coś pochłania Twój crawl budget zanim dotrze do stron, które mają znaczenie.

3. Sprawdź logi serwera. To jest właściwa diagnostyka. GSC daje Ci zagregowane dane. Logi serwera dają prawdę — każde pojedyncze żądanie Googlebota, kiedy, do jakiego adresu URL i jaką odpowiedź dostał. Jeśli widzisz, że Googlebot spędza 60% crawlu na stronach paginacji archiwum lub filtrowanych adresach URL, to jest Twój problem, czarno na białym.

Powiem szczerze o pewnym ograniczeniu: nie jestem pewien, czy raport statystyk crawlowania w GSC jest zawsze dokładny. Widzieliśmy rozbieżności między tym, co raportuje GSC, a tym, co pokazują logi serwerów naszych klientów. Czasem znaczące rozbieżności — 30-40% różnicy. Nie wiem, czy to kwestia próbkowania po stronie Google, artefakt cache'owania, czy coś innego. Dlatego zawsze rekomenduję weryfikację w logach serwera, jeśli stawka jest wysoka.

Sygnał diagnostycznyZdrowyOstrzeżenieKrytyczny
Nowa strona zaindeksowana w ciągu1-3 dni1-2 tygodni4+ tygodnie lub nigdy
Żądania crawlowania/dzień vs łączna liczba stron w GSC> 50% stron crawlowanych tygodniowo10-50% tygodniowo< 10% tygodniowo
Średni czas odpowiedzi serwera< 200ms200-500ms> 500ms
% crawlu na nieindeksowalnych URL< 10%10-30%> 30%
Łańcuchy przekierowań w crawluBrak< 5% żądań> 5% trafia w łańcuchy
Wskaźnik błędów 5xx podczas crawlowania0%< 1%> 1%

Uwaga: te progi to wytyczne oparte na doświadczeniu, wynikające z wzorców obserwowanych w danych klientów SEOJuice, a nie oficjalne wartości opublikowane przez Google. Twoje wyniki mogą się różnić w zależności od wielkości witryny, niszy i architektury serwera.

Jeśli większość Twoich sygnałów mieści się w kolumnie "Zdrowy", nie masz problemu z crawl budgetem. Idź optymalizować coś innego.

Czas odpowiedzi serwera: największa dźwignia, której nie używasz

To jest czynnik crawl budgetu, który ma największy wpływ i poświęca mu się najmniej uwagi. Wszyscy chcą rozmawiać o robots.txt i mapach witryn. Nikt nie chce rozmawiać o tym, dlaczego ich serwer potrzebuje 1,2 sekundy na odpowiedź na proste żądanie HTML.

Googlebot jest grzeczny. Monitoruje czas odpowiedzi Twojego serwera w czasie rzeczywistym. Jeśli serwer zaczyna zwalniać, Googlebot zmniejsza częstotliwość crawlowania, żeby go nie przeciążyć. Tak działa limit częstotliwości crawlowania. Serwer odpowiadający w 100ms będzie crawlowany dramatycznie częściej niż ten odpowiadający w 800ms.

"Jeśli strona jest naprawdę szybka, Googlebot będzie mógł używać więcej połączeń i crawlować ją szybciej. Jeśli strona zwalnia lub odpowiada błędami serwera, zwolni i będzie crawlować mniej."

— Gary Illyes, Senior Search Analyst, Google (Google Developers Blog)

To bezpośredni cytat z oficjalnego wpisu o crawl budgecie. "Naprawdę szybka" dla Google oznacza czas do pierwszego bajtu (TTFB) poniżej 200ms. Nie czas ładowania strony — TTFB. Czas, jaki serwer potrzebuje na rozpoczęcie wysyłania odpowiedzi HTML.

Szybkie wygrane w kwestii czasu odpowiedzi serwera:

  • Włącz cache'owanie po stronie serwera — Varnish, Redis lub pełnostronicowe cache'owanie. Jeśli Googlebot trafia na stronę produktu, a serwer odpytuje 14 tabel żeby zbudować HTML, cache'uj wynik.
  • Użyj CDN do HTML — nie tylko do zasobów statycznych. Pełnostronicowe cache'owanie CDN (Cloudflare, Fastly) może serwować HTML Googlebotowi w mniej niż 50ms.
  • Ulepsz hosting — widziałem zaskakująco duże strony generujące przychody na nieadekwatnym hostingu — plany współdzielone, albo ich odpowiednik: pojedynczy słaby VPS. 2GB RAM-u obsługujące 100 000 stron produktowych to nie działa.
  • Zoptymalizuj zapytania do bazy danych — najczęstsza przyczyna wolnego TTFB na dynamicznych stronach. Zaindeksuj najczęściej odpytywane kolumny. Użyj connection poolingu.

Na stronie jednego klienta SEOJuice (sklep meblowy, mniej więcej 80 000 stron produktowych) obserwowaliśmy, jak częstotliwość crawlowania w GSC spadła z 15 000 żądań dziennie do 3 000 w ciągu dwóch tygodni. Żadnych zmian w treści ani strukturze. Przyczyna? Dostawca hostingu przeniósł ich na nowy klaster serwerów i TTFB wzrosło z 180ms do 900ms. Gdy naprawili hosting, częstotliwość crawlowania wróciła do normy w ciągu czterech dni. Żadnych zmian w robots.txt. Żadnych aktualizacji mapy witryny. Same szybsze serwery.

Parametry URL i pułapka crawlowania

Parametry URL to najczęstsze źródło marnowania crawlu. Problem jest podstępny, bo często nie wiesz, że to się dzieje.

Weź pod uwagę sklep internetowy z filtrowaniem. Użytkownik przegląda buty i wybiera: rozmiar 42, kolor czarny, marka Nike, sortowanie po cenie, strona 2. To daje URL taki jak:

/buty?rozmiar=42&kolor=czarny&marka=nike&sortuj=cena&strona=2

Teraz pomnóż to przez każdą możliwą kombinację. 8 rozmiarów, 12 kolorów, 40 marek, 4 opcje sortowania, 50 stron wyników. To 8 × 12 × 40 × 4 × 50 = 768 000 adresów URL. Z jednej strony kategorii. A treść na większości tych stron znacząco się pokrywa — czarne buty Nike w rozmiarze 42 posortowane po cenie to w większości te same produkty co czarne buty Nike w rozmiarze 42 posortowane po najnowszych.

Googlebot tego nie wie. Widzi 768 000 unikalnych adresów URL i zaczyna je crawlować. Twoje właściwe strony produktowe — te, które powinny się pozycjonować — czekają w kolejce za setkami tysięcy przefiltrowanych wariantów, których nikt nigdy nie wyszuka.

To właśnie ludzie mają na myśli mówiąc, że "nawigacja fasetowa tworzy pułapki crawlowania". Nie chodzi o to, że Google wpada w nieskończoną pętlę (choć to może się zdarzyć przy pewnych ustawieniach paginacji). Chodzi o to, że Google przeznacza swój ograniczony crawl budget na adresy URL, które nie wnoszą żadnej unikalnej wartości.

Chcę tutaj być precyzyjny: narzędzie do parametrów URL w Google Search Console zostało wycofane i usunięte w 2022 roku. Kiedyś Google pozwalał Ci określać, które parametry ignorować. Ta opcja zniknęła. Teraz masz trzy narzędzia do obsługi tego:

  1. Robots.txt — Blokowanie wzorców parametrów całkowicie
  2. Tagi canonical — Wskazywanie przefiltrowanych stron z powrotem na wersję bez filtrów
  3. Tag meta noindex — Informowanie Google, żeby nie indeksowało konkretnych przefiltrowanych stron

Każde rozwiązanie ma swoje kompromisy. Robots.txt i tagi canonical omawiam w osobnych sekcjach poniżej.

Robots.txt: strategiczne blokowanie

Twój robots.txt to pierwszy plik, który Googlebot sprawdza przed crawlowaniem Twojej witryny. To też najbardziej źle rozumiany plik w SEO. Ludzie albo zostawiają go pustym (tracąc okazję), albo przesadzają (blokując rzeczy, których nie powinni).

Oto kluczowa zasada: blokuj rzeczy, które marnują crawl budget, a nie rzeczy, które są "nieistotne". Jest różnica. "Nieistotna" strona może nadal wymagać indeksowania. Strona marnująca crawl budget to taka, która nie wnosi unikalnej wartości do wyszukiwania i istnieje w tysiącach wariantów parametrycznych.

# Blokowanie parametrów nawigacji fasetowej
User-agent: *
Disallow: /*?sort=
Disallow: /*?color=
Disallow: /*?size=
Disallow: /*&sort=
Disallow: /*&color=
Disallow: /*&size=

# Blokowanie wewnętrznych wyników wyszukiwania
Disallow: /search?
Disallow: /search/

# Blokowanie URL-i opartych na sesji
Disallow: /*?sessionid=
Disallow: /*?ref=

# Blokowanie panelu administracyjnego, koszyka i konta
Disallow: /admin/
Disallow: /cart/
Disallow: /my-account/
Disallow: /checkout/

# Blokowanie wersji do druku i PDF
Disallow: /*?print=
Disallow: /*?format=pdf

# NIE blokuj CSS, JS ani obrazów
# Googlebot potrzebuje ich do renderowania Twoich stron
Allow: /*.css
Allow: /*.js
Allow: /*.jpg
Allow: /*.png
Allow: /*.webp

Sitemap: https://example.com/sitemap.xml

Krytyczne błędy, które widziałem:

  • Blokowanie plików CSS/JS. To było do zaakceptowania w 2012 roku. W 2026 spowoduje problemy z renderowaniem i Google będzie za to karać Twoje strony. Google musi renderować Twoje strony, żeby je zrozumieć.
  • Blokowanie całych katalogów zawierających indeksowalne strony. Ktoś blokuje /products/ bo chce zablokować /products?filter= i przypadkowo deindeksuje cały katalog produktów.
  • Używanie robots.txt do obsługi duplikatów treści. Robots.txt zapobiega crawlowaniu, nie indeksowaniu. Jeśli zablokowany URL ma zewnętrzne backlinki, Google może go nadal zaindeksować — tylko bez możliwości zobaczenia treści. Używaj tagów canonical do duplikatów treści. Używaj robots.txt do marnowania crawlu.

Ten ostatni punkt warto powtórzyć, bo wprawia w błąd nawet doświadczonych specjalistów SEO. Robots.txt blokuje crawlowanie. Nie blokuje indeksowania. Jeśli chcesz zapobiec indeksowaniu, użyj <meta name="robots" content="noindex"> lub nagłówka HTTP X-Robots-Tag. Ale pamiętaj: żeby Google zobaczył tag noindex, musi najpierw przeskanować stronę. Więc jeśli blokujesz crawlowanie w robots.txt I dodajesz noindex, Google nigdy nie zobaczy tagu noindex. To tworzy paradoks, który dezorientuje ludzi od lat.

Mapy witryn XML: Twój sygnał priorytetu crawlowania

Mapa witryny nie gwarantuje indeksowania. Nie gwarantuje nawet crawlowania. To, co robi, to daje Google wskazówkę, które adresy URL istnieją, kiedy były ostatnio modyfikowane i (dyskusyjnie) jak ważne są względem siebie.

Błędy, które ludzie popełniają z mapami witryn, prawie zawsze dotyczą uwzględniania zbyt wielu rzeczy, nie zbyt mało.

Co uwzględniać w mapie witryny:

  • Każdą stronę, którą chcesz zaindeksować — i tylko strony, które chcesz zaindeksować
  • Strony zwracające kod statusu 200
  • Strony z samoodwołującym się canonical (adres canonical wskazuje na siebie)
  • Dokładne daty <lastmod> — nie bieżącą datę, nie tę samą datę na każdej stronie, ale faktyczną datę ostatniej modyfikacji

Co wykluczać z mapy witryny:

  • Strony zablokowane przez robots.txt
  • Strony z tagami noindex
  • Adresy URL z przekierowaniami (uwzględniaj cel, nie źródło)
  • Adresy URL z parametrami (uwzględniaj tylko wersję canonical)
  • Strony paginacji (dyskusyjne — ja je wykluczam, inni uwzględniają)
  • Strony soft 404 lub strony z cienką treścią, o których wiesz, że Google ich nie zaindeksuje

Widziałem mapy witryn z 500 000 adresów URL, z których tylko 80 000 było faktycznie indeksowalnych. Pozostałe 420 000 to przekierowania, strony z noindex, warianty parametryczne i uszkodzone adresy URL. Taka mapa witryny nie pomaga Google — wysyła go na poszukiwanie skarbów, gdzie 84% mapy jest błędne.

Martin Splitt nazwał <lastmod> "jednym z najbardziej nadużywanych tagów w mapach witryn", bo tyle platform CMS ustawia go na bieżącą datę na każdej stronie. Kiedy każda strona mówi "właśnie mnie zmodyfikowano", Google uczy się ignorować ten sygnał. Jeśli Twój CMS nie śledzi rzeczywistych dat modyfikacji, napraw to zanim zaczniesz martwić się o cokolwiek innego związanego z mapą witryny.

Nawigacja fasetowa: głęboki problem

Nawigacji fasetowej poświęcam osobną sekcję, bo jest to punkt styku crawl budgetu, duplikatów treści i architektury technicznej — a błędne podejście może po cichu pogrążyć SEO witryny przez miesiące.

Problem: nawigacja fasetowa (filtry w e-commerce, serwisach ogłoszeniowych, portalach pracy) generuje wykładniczą liczbę kombinacji URL. Matematykę omawialiśmy wyżej. Ale rozwiązanie nie jest tak proste jak "zablokuj wszystko w robots.txt", bo niektóre strony fasetowe mają realną wartość wyszukiwania.

Pomyśl o tym: "buty do biegania Nike rozmiar 42" to realne zapytanie wyszukiwania, które prawdziwa osoba wpisuje w Google. Strona fasetowa pasująca do tego zapytania mogłaby się na nie pozycjonować. Blokowanie wszystkich fasetowych adresów URL oznacza utratę tej szansy.

Framework, który rekomenduję (i który wdrażamy dla klientów SEOJuice z tym problemem):

Typ fasetyPrzykładWartość wyszukiwaniaZalecane podejście
Kategoria + Marka/buty/nike/Wysoka — ludzie szukają marka+kategoriaIndeksuj, uwzględnij w mapie witryny, użyj czystego URL
Kategoria + 1 filtr/buty?kolor=czarnyŚrednia — zależy od wolumenu wyszukiwańSprawdź wolumen wyszukiwań. Indeksuj jeśli >100 miesięcznych wyszukiwań, w przeciwnym razie canonical do strony nadrzędnej
Kategoria + 2+ filtry/buty?kolor=czarny&rozmiar=42Niska — zbyt szczegółowe dla większości wyszukiwańCanonical do najbardziej trafnego pojedynczego filtra lub kategorii nadrzędnej
Warianty sortowania/buty?sortuj=cena-rosnacoŻadna — nikt nie szuka "buty posortowane po cenie"Blokuj w robots.txt lub noindex
Głębokie strony paginacji/buty?strona=47Żadna poza stroną 2-3Noindex po stronie 3-5, zachowaj crawlowalność
Parametry sesji/śledzenia/buty?utm_source=emailŻadnaBlokuj w robots.txt, usuwaj na poziomie serwera

Implementacja tagu canonical dla stron z wieloma filtrami wygląda tak:

<!-- Na /buty?kolor=czarny&rozmiar=42&sortuj=cena -->
<link rel="canonical" href="https://example.com/buty?kolor=czarny" />

<!-- Na /buty?sortuj=cena -->
<link rel="canonical" href="https://example.com/buty" />

<!-- Na /buty (czysta strona kategorii) -->
<link rel="canonical" href="https://example.com/buty" />

Jeden błąd, który popełniłem i którego do końca nie rozwiązałem: co robić ze stronami fasetowymi, które zgromadziły backlinki. Jeden klient miał tysiące zewnętrznych linków wskazujących na przefiltrowane adresy URL. Wskazanie ich przez canonical na stronę nadrzędną powinno przenieść equity w górę — brzmi dobrze w teorii.

W praktyce zaobserwowaliśmy 15% spadek pozycji strony nadrzędnej po wdrożeniu tagów canonical. Nadal nie wiem dlaczego. Moje najlepsze przypuszczenie to to, że nagła konsolidacja tysięcy sygnałów zmyliła ocenę Google, ale to spekulacja. Cofnęliśmy tagi canonical na najczęściej linkowanych stronach fasetowych i zostawiliśmy je jako indeksowalne. To kompromis, z którym nie czuję się komfortowo.

Paginacja: pytanie o rel=next/prev

Krótka wersja: rel="next" i rel="prev" są wycofane. Google potwierdził w 2019 roku, że nie używał tego sygnału od lat. Więc co robić zamiast tego?

Trzy opcje, uszeregowane według moich preferencji:

Opcja 1: Load-more lub infinite scroll z pushState. To najczystsze podejście dla nowych witryn. Użytkownicy widzą jeden URL. Google crawluje pełną treść. Żadnych adresów URL paginacji do marnowania crawl budgetu. Ale wymaga JavaScriptu, co wprowadza własne koszty crawl budgetu (więcej o tym poniżej).

Opcja 2: Tradycyjna paginacja z noindex na stronie 2+. Zachowaj paginowane adresy URL jako crawlowalne (żeby Google mógł odkryć produkty/artykuły z nich linkowane), ale dodaj noindex, żeby Google nie próbował indeksować identycznych stron szablonowych. Tag canonical na każdej stronie paginacji powinien być samoodwołujący się — nie wskazuj canonical ze wszystkich stron na stronę 1, bo treść jest inna.

Opcja 3: Strona "pokaż wszystko". Jeśli Twoja paginowana treść liczy mniej niż ~200 elementów, rozważ jedną stronę "pokaż wszystko", która konsoliduje serię paginacji przez canonical. Google historycznie preferował strony "pokaż wszystko". Wada: czas ładowania. Jeśli Twoja strona "pokaż wszystko" ładuje się 8 sekund, szkodzi bardziej niż pomaga.

<!-- Strona 2 archiwum bloga -->
<meta name="robots" content="noindex, follow">
<link rel="canonical" href="https://example.com/blog/page/2" />

<!-- Ważne: użyj "noindex, follow" — nie "noindex, nofollow"
     Chcesz, żeby Google podążał za linkami na stronach paginacji,
     żeby odkrył właściwe strony z treścią -->

Zwróć uwagę na dyrektywę follow. To kluczowe. Nie chcesz, żeby strona paginacji trafiła do indeksu, ale absolutnie chcesz, żeby Google podążał za linkami na niej, żeby znaleźć Twoją właściwą treść. Użycie nofollow tutaj osierociłoby każdy artykuł lub produkt linkowany tylko ze strony 2+ Twojego archiwum.

Renderowanie JavaScript a koszt crawl budgetu

Ta sekcja dotyczy każdego, kto prowadzi witrynę intensywnie wykorzystującą JavaScript (React, Vue, Angular, Next.js bez prawidłowego SSR). Jeśli Twoja strona to tradycyjny HTML renderowany po stronie serwera, przeskocz dalej.

Google crawluje w dwóch falach. Pierwsza fala: pobiera i przetwarza surowy HTML. Druga fala: renderuje stronę za pomocą przeglądarki Chromium w trybie headless, żeby wykonać JavaScript i zobaczyć finalną treść. Druga fala następuje później — czasem godziny później, czasem dni.

Martin Splitt wyjaśniał to szczegółowo w swoich JavaScript SEO office hours. Kluczowy wniosek: renderowanie jest kosztowne dla Google. Wymaga więcej zasobów niż proste pobranie HTML. Google musi uruchomić instancję Chromium, wykonać Twój JavaScript, poczekać na odpowiedzi z API i dopiero potem przetworzyć wyrenderowany DOM. To oznacza, że strony zależne od JavaScriptu są crawlowane mniej efektywnie niż strony renderowane po stronie serwera.

Wpływ na crawl budget:

  • Dwa żądania na stronę zamiast jednego — początkowe pobranie HTML i przejście renderujące
  • Opóźnione indeksowanie — treść za JavaScriptem może potrzebować dni lub tygodni, żeby pojawić się w wyszukiwarce
  • Pobieranie zasobów — Twoje paczki JavaScript, endpointy API i skrypty zewnętrzne — wszystko to liczy się w Twój limit częstotliwości crawlowania
  • Błędy renderowania — jeśli renderowanie nie powiedzie się (timeout, błąd JS, zablokowany zasób), Google indeksuje tylko surowy HTML

Rozwiązanie: renderowanie po stronie serwera (SSR) lub generowanie statyczne (SSG). Next.js, Nuxt, SvelteKit — wszystkie to wspierają. Jeśli nie możesz wdrożyć pełnego SSR, użyj renderowania dynamicznego: serwuj wyrenderowany HTML Googlebotowi, a pełne doświadczenie JS użytkownikom. Google technicznie to odradza, ale na początku 2026 roku działa to w praktyce. Wyzwania specyficzne dla SPA omawiamy w naszym przewodniku po najlepszych praktykach SEO dla SPA.

Analiza logów serwera: źródło prawdy

Dashboard Screaming Frog SEO Spider pokazujący przeskanowane adresy URL z kodami statusu i metadanymi
Główny dashboard Screaming Frog SEO Spider wyświetla każdy przeskanowany URL z kodami statusu, typami treści i metadanymi. Źródło: Semrush Blog

Na co zwracać uwagę w logach:

  • Które adresy URL Googlebot odwiedza najczęściej? Jeśli Twoich 100 najczęściej crawlowanych URL to same warianty parametryczne lub paginowane archiwa, to jest Twoje marnowanie crawlu.
  • Jakie kody odpowiedzi dostaje Googlebot? Łańcuchy 301, skoki 404 i błędy 500 — wszystko marnuje crawl budget.
  • Jak często Googlebot crawluje Twoje ważne strony? Jeśli Twoje flagowe strony produktowe nie były crawlowane od 3 tygodni, ale strony /tag/ są crawlowane codziennie, Twoja architektura linków wysyła złe sygnały.
  • Jaki jest czas między pierwszą a drugą wizytą Googlebota na nowych stronach? To mówi Ci, jak szybko Google ponownie ocenia nową treść.

Narzędzia: Screaming Frog Log Analyzer to najpopularniejsze dedykowane narzędzie. Możesz też parsować logi narzędziami wiersza poleceń (grep na user agenta Googlebota, przekierowanie przez awk). Do bieżącego monitoringu funkcja analizy crawlowania w SEOJuice automatycznie przetwarza logi serwera i sygnalizuje problemy z crawl budgetem.

Realny przykład z naszych danych: jeden klient miał witrynę na WordPressie z ~25 000 opublikowanymi wpisami. Dobra treść, przyzwoity ruch. Ale logi serwera pokazywały, że Googlebot spędzał 40% crawl budgetu na endpointach API /wp-json/ i adresach URL /feed/. To nie są strony, których ktokolwiek szuka. Dodanie dwóch linii do robots.txt uwolniło te 40% dla właściwych stron z treścią. W ciągu trzech tygodni częstotliwość crawlowania stron z artykułami wzrosła o 60%, a 12 nowych stron zostało zaindeksowanych po miesiącach spędzonych w czyśćcu "Odkryto — aktualnie nie zaindeksowano".

# Oszczędności crawl budgetu specyficzne dla WordPressa
User-agent: *
Disallow: /wp-json/
Disallow: /feed/
Disallow: /comments/feed/
Disallow: /author/*/feed/
Disallow: /category/*/feed/
Disallow: /tag/*/feed/
Disallow: /?replytocom=
Disallow: /trackback/

Linkowanie wewnętrzne a priorytet crawlowania

Linki wewnętrzne to najsilniejszy sygnał, nad którym masz kontrolę, żeby powiedzieć Google, które strony mają znaczenie. Nie tagi meta. Nie wartości priorytetu w mapie witryny (które Google i tak ignoruje). Linki wewnętrzne.

Każdy link to głos. Strona linkowana ze strony głównej, nawigacji i 50 innych stron będzie crawlowana częściej niż strona linkowana z jednej strony archiwum ukrytej trzy kliknięcia w głąb. To podstawowa dystrybucja PageRank i tak Googlebot decyduje, na co przeznaczyć crawl budget.

Praktyczne konsekwencje: jeśli strony nie są indeksowane i dzieli je 3+ kliknięcia od strony głównej, dodanie linków wewnętrznych z dobrze połączonych stron zwiększa ich częstotliwość crawlowania. Widzieliśmy to konsekwentnie — strony, które przechodzą z 0-1 linków wewnętrznych do 5+, otrzymują pierwszą wizytę Googlebota w ciągu 48 godzin, nawet na dużych witrynach, gdzie nowe strony zazwyczaj czekają tygodniami.

Dlatego wbudowaliśmy automatyczne linkowanie wewnętrzne w SEOJuice. Ręczne zarządzanie linkami wewnętrznymi na ponad 10 000 stronach jest niemożliwe. Ale korzyści z priorytetu crawlowania czynią z tego jedną z najbardziej opłacalnych aktywności technicznego SEO.

Płaska architektura (każda strona osiągalna w 3 kliknięciach lub mniej) jest lepsza dla crawl budgetu niż głębokie hierarchie. Ale "płaska" nie znaczy "linkuj wszystko do wszystkiego". Oznacza strategiczne linkowanie — klastry tematyczne, strony hubowe, linki kontekstowe — tworzące jasne ścieżki crawlowania do Twoich najważniejszych stron.

Jak SEOJuice monitoruje zachowanie crawlerów

Chcę być konkretny o tym, co faktycznie robimy, zamiast rzucać ogólnikami marketingowymi.

SEOJuice śledzi zachowanie crawlerów przez trzy źródła: statystyki crawlowania z GSC (przez Search Console API), nasze własne dane z crawlowania (crawlujemy witryny klientów, żeby zbudować graf linków wewnętrznych) i opcjonalnie, integrację z logami serwera.

Co pokazujemy:

  • Wykrywanie marnowania crawlu — adresy URL, które są crawlowane, ale nie powinny być (strony parametryczne, przekierowane adresy URL, soft 404), z procentowym rozkładem budżetu idącego na nieindeksowalne adresy URL.
  • Prędkość indeksowania — jak szybko nowe i zaktualizowane strony zostają wykryte. Jeśli wpis na blogu nie jest zaindeksowany po 7 dniach, sygnalizujemy to z sugerowaną akcją (zazwyczaj: dodaj więcej linków wewnętrznych).
  • Analiza głębokości crawlowania — strony ukryte poza 4 poziomem kliknięć są oznaczane do przeglądu.
  • Monitoring czasu odpowiedzi serwera — śledzenie czasu odpowiedzi na poszczególnych stronach. Jeśli jakaś sekcja zaczyna odpowiadać wolniej, pojawia się to zanim wpłynie na częstotliwość crawlowania.

Nie robimy jeszcze pełnej analizy logów w produkcie (parsowanie dowolnych formatów logów serwera na dużą skalę to wyzwanie inżynieryjne, które nie rozwiązałem w sposób, który mnie satysfakcjonuje). Ale dane z GSC plus nasz własny crawler dają większości witryn wystarczająco dużo, żeby zidentyfikować i naprawić problemy z crawl budgetem bez dotykania pliku logów.

Checklista: optymalizacja crawl budgetu według priorytetu

Jeśli dotarłeś tak daleko i ustaliłeś, że faktycznie masz problem z crawl budgetem, oto co naprawić, w kolejności wpływu:

  1. Napraw czas odpowiedzi serwera. Doprowadź TTFB poniżej 200ms. Samo to często rozwiązuje problem.
  2. Wyczyść mapę witryny. Usuń każdy URL, który nie jest indeksowalny. Dopasuj mapę witryny do faktycznego indeksu.
  3. Obsłuż parametry URL. Blokuj, wskazuj canonical lub noindex na wariantach parametrycznych na podstawie frameworka nawigacji fasetowej powyżej.
  4. Napraw łańcuchy przekierowań. Każdy łańcuch przekierowań to dwa zmarnowane żądania crawlowania. Spłaszcz je do pojedynczych przekierowań 301.
  5. Blokuj marnowanie crawlu w robots.txt. Wewnętrzne wyszukiwanie, feedy, endpointy API, strony administracyjne, parametry śledzenia.
  6. Dodaj linki wewnętrzne do stron-sierot. Strony bez linków wewnętrznych są crawlowane na końcu. Napraw to.
  7. Wdróż prawidłową obsługę paginacji. Noindex na stronie 2+, zachowaj dyrektywy follow.
  8. Użyj SSR dla treści JavaScript. Jeśli Twoja treść zależy od renderowania JS, serwuj HTML Googlebotowi.
  9. Monitoruj na bieżąco. Crawl budget to nie jednorazowa poprawka. Nowe strony, nowe parametry, nowe przekierowania — problem odtwarza się, chyba że go monitorujesz.

Kroki 1-3 rozwiązują problem dla większości witryn, które faktycznie potrzebują optymalizacji crawl budgetu. Kroki 4-9 to reszta — witryny ze złożoną architekturą, gdzie podstawy nie wystarczają.

Najczęściej zadawane pytania

Czy crawl budget wpływa bezpośrednio na moje pozycje?

Nie. Crawl budget wpływa na to, czy Twoje strony zostaną przeskanowane i zaindeksowane, a nie na to, jak się pozycjonują po zaindeksowaniu. Ale strona, która nigdy nie zostanie przeskanowana, nigdy nie zostanie zaindeksowana, a strona, która nigdy nie zostanie zaindeksowana, nie może się pozycjonować. Więc crawl budget to warunek wstępny, nie czynnik rankingowy. Jego optymalizacja nie poprawi pozycji już zaindeksowanych stron — pomaga stronom, które w ogóle nie są indeksowane.

Czy powinienem ustawić limit częstotliwości crawlowania w Google Search Console?

Prawie nigdy. Ustawienia częstotliwości crawlowania w GSC pozwalają Ci zmniejszyć częstotliwość crawlowania przez Googlebota, nie zwiększyć. Jedyny powód to sytuacja, gdy Googlebot dosłownie przeciąża Twój serwer. Jeśli Twój serwer obsłuży ten ruch, zostaw to w spokoju. Widziałem ludzi zmniejszających częstotliwość myśląc, że "skupi" to Google na ważnych stronach. Tak to nie działa — Google po prostu crawluje mniej wszystkiego.

Jak często Google ponownie crawluje strony?

Popularne, często aktualizowane strony: kilka razy dziennie. Statyczne strony niezmieniane od miesięcy: co kilka tygodni. Średnia to mniej więcej co 1-2 tygodnie na stronę, ale różni się ogromnie. Serwisy informacyjne są crawlowane w ciągu minut. Rzadko aktualizowana strona "O nas" może czekać miesiąc między wizytami. Tag <lastmod> może sugerować, że strona się zmieniła, ale tylko jeśli używasz go dokładnie — Google ignoruje go, jeśli jest zawsze ustawiony na dzisiejszą datę.

Czy mogę zwiększyć swój crawl budget?

Możesz zwiększyć limit częstotliwości crawlowania (szybszy serwer) i zmniejszyć marnowanie crawlu (żeby więcej budżetu szło na ważne strony). Ale nie możesz bezpośrednio powiedzieć Google, żeby crawlował Cię więcej. Popyt na crawlowanie to decyzja Google oparta na postrzeganej wartości treści. Najlepsze pośrednie podejście: publikuj regularnie, buduj backlinki, twórz treść, która jest naprawdę użyteczna. Wartościowe witryny są crawlowane agresywniej, automatycznie.

Czy strony z noindex marnują crawl budget?

Tak. Google nadal crawluje stronę, żeby zobaczyć tag noindex. 100 000 stron z noindex to 100 000 trafień w crawl budget (choć rzadszych niż w przypadku zaindeksowanych stron). Jeśli te strony naprawdę nigdy nie potrzebują indeksowania, robots.txt jest bardziej efektywny pod kątem crawlowania — ale blokowanie w robots.txt uniemożliwia Google zobaczenie czegokolwiek na stronie, w tym linków. Używaj noindex+follow, gdy chcesz odkrywania linków, ale nie indeksowania. Używaj robots.txt, gdy nie chcesz, żeby strona była crawlowana w ogóle.

Dalsze czytanie: techniczne SEO na blogu SEOJuice

Ten artykuł jest częścią naszej serii o technicznym SEO. Jeśli pracujesz nad problemami z crawl budgetem, te powiązane przewodniki Ci pomogą:

  • Checklista SEO po uruchomieniu — Kompletny przewodnik godzina po godzinie, tydzień po tygodniu o uruchamianiu witryny bez utraty ruchu. Obejmuje konfigurację robots.txt, wysyłanie mapy witryny i wczesne monitorowanie crawlowania.
  • Najlepsze praktyki SEO dla SPA — Jeśli renderowanie JavaScript pochłania Twój crawl budget, ten przewodnik szczegółowo omawia SSR, renderowanie dynamiczne i problem crawlowania w dwóch falach.
  • Częste błędy on-page SEO — Wiele problemów z crawl budgetem wynika z błędów on-page: źle ustawione tagi canonical, brakujące tagi meta robots i wzorce duplikatów treści.
  • Silosy treści w SEO — Jak strukturyzować linkowanie wewnętrzne, żeby tworzyć jasne ścieżki crawlowania i poprawić priorytet crawlowania Twoich najważniejszych stron.
  • Strategia linkowania wewnętrznego — Bezpośredni związek między linkami wewnętrznymi a priorytetem crawlowania, z realnymi danymi o tym, jak liczba linków wpływa na prędkość indeksowania.

Jeśli prowadzisz dużą witrynę i chcesz automatycznego monitorowania crawl budgetu, SEOJuice śledzi marnowanie crawlu, prędkość indeksowania i czas odpowiedzi serwera na wszystkich Twoich stronach. Nie zastąpi analizy logów w przypadku złożonych architektur, ale wykrywa większość problemów z crawl budgetem, które mają znaczenie — ciągle, a nie tylko gdy ktoś sobie przypomni o audycie. Rozpocznij darmowy okres próbny i sprawdź, na co idzie Twój crawl budget w kilka minut.

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.