Crawl budget: co to jest, jak go sprawdzić i zoptymalizować
Crawl budget (budżet indeksowania) to liczba adresów witryny, które robot wyszukiwarki może i chce przeskanować w określonym czasie. Google łączy dwie części: limit wydajności skanowania (crawl capacity limit), czyli jakie obciążenie wytrzyma serwer, oraz zapotrzebowanie na skanowanie (crawl demand). Pojęcie jest praktyczne: im większa witryna i im wolniejszy serwer, tym wyraźniej widać, że robot nie dociera do wszystkiego; strony z kilkuset podstronami zwykle nie mają się czym martwić.
Jak Google definiuje crawl budget
Dokumentacja Google Search Central opisuje crawl budget jako zbiór adresów, które Google może i chce przeskanować. Składają się na niego dwie wielkości:
- Limit wydajności skanowania (crawl capacity limit) — ile równoczesnych połączeń i z jakimi przerwami Googlebot może utrzymywać, nie przeciążając serwera. Rośnie, gdy strona odpowiada szybko, a spada, gdy zwalnia, zwraca błędy 5xx lub sygnały ograniczenia, takie jak HTTP 429.
- Zapotrzebowanie na skanowanie (crawl demand) — na ile Google w ogóle potrzebuje skanować witrynę. Zależy od jej wielkości, częstotliwości aktualizacji, jakości stron i ich popularności w porównaniu z innymi witrynami.
Najważniejszy wniosek: nawet jeśli serwer udźwignie więcej, Google nie będzie skanować częściej, niż wymaga popyt. Szybki serwer pomaga, ale mało wartościowe adresy i duplikaty obniżają zapotrzebowanie bardziej, niż nadrobi to szybkość.
Od czego on zależy
- Prędkość i stabilność odpowiedzi. Jeśli serwer spowalnia lub zwraca błędy, robot zmniejsza tempo, aby nie zaszkodzić witrynie.
- Popyt na skanowanie. Popularne i często aktualizowane strony są odwiedzane częściej.
- Jakość struktury. Śmieciowe adresy marnują budżet zamiast użytecznych stron.
Kto powinien zajmować się crawl budgetem
Google kieruje swój przewodnik po crawl budgecie do trzech typów witryn:
- duże witryny — od miliona unikalnych stron, których treść zmienia się mniej więcej raz w tygodniu;
- średnie i większe witryny — od 10 000 unikalnych stron z bardzo szybko zmieniającą się treścią (codziennie);
- witryny, w których duża część adresów ma w Search Console stan „Wykryta – obecnie niezindeksowana”.
Jeśli nowe strony Twojej witryny są skanowane w dniu publikacji, Google pisze, że przewodnik nie jest Ci potrzebny. W typowej stronie usługowej czy blogu z kilkuset stronami wolna indeksacja rzadko wynika z budżetu; częściej z jakości, duplikatów lub braku linków wewnętrznych — zob. strony sieroty.
Gdzie budżet ucieka
| Źródło ucieczki | Co robić |
|---|---|
| Nieskończone filtry i sortowania | Zamknąć parametry przed skanowaniem, zostawić adresy kanoniczne |
| Wewnętrzne wyszukiwanie na stronie | Zamknąć strony wyników |
| Łańcuchy przekierowań | Skrócić do jednego kroku — zob. sprawdzenie przekierowań |
| Uszkodzone linki | Naprawić — jak znaleźć |
| Duplikaty i techniczne kopie | Ograniczyć do adresów kanonicznych |
Co naprawdę przyspiesza skanowanie
- Szybka odpowiedź serwera. Robot dostosowuje tempo do obciążenia: im szybciej odpowiada witryna, tym więcej stron udaje mu się odwiedzić.
- Zrozumiała struktura. Strona w trzy kliknięcia od głównej znajduje się szybciej niż ukryta w głębi.
- Aktualna mapa witryny i link do niej w robots.txt.
- Regularne aktualizacje. Witryny, które się zmieniają, są odwiedzane częściej.
Raport „Statystyki indeksowania” w Search Console
Raport znajdziesz w sekcji „Ustawienia” → „Statystyki indeksowania” (po angielsku Crawl stats). Pokazuje, jak Googlebot skanował witrynę w ostatnich 90 dniach: łączną liczbę żądań, rozmiar pobranych danych, średni czas odpowiedzi i stan hosta — czy były problemy z pobraniem robots.txt, DNS i połączeniem z serwerem. Pod wykresami żądania są podzielone według kodu odpowiedzi, typu pliku, celu (wykrywanie nowych adresów lub odświeżanie znanych) i typu Googlebota.
| Na co patrzeć | Sygnał ostrzegawczy |
|---|---|
| Średni czas odpowiedzi | Rośnie, a liczba żądań spada — serwer ogranicza skanowanie |
| Stan hosta | Błędy pobierania robots.txt lub połączenia z serwerem |
| Według odpowiedzi | Wyraźny udział 3xx, 404 i 5xx zamiast 200 |
| Według celu | Prawie brak wykrywania, choć regularnie publikujesz nowe strony |
| Według typu pliku | Zasoby (skrypty, obrazy, JSON) zajmują większość żądań |
Analiza logów serwera: co widać tylko tam
Statystyki indeksowania pokazują podsumowanie i przykłady, a logi serwera — każde żądanie: które dokładnie adresy pobierał Googlebot, jak często i co dostawał w odpowiedzi. Kilka poleceń dla logu nginx lub Apache w standardowym formacie:
# kody odpowiedzi otrzymane przez Googlebota
grep -i "googlebot" access.log | awk '{print $9}' | sort | uniq -c | sort -rn
# najczęściej skanowane adresy
grep -i "googlebot" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -50
User-agent łatwo podrobić, więc przed wnioskami sprawdź, czy to naprawdę Google: odwrotne zapytanie DNS dla IP powinno zwrócić nazwę w domenie googlebot.com lub google.com, a zapytanie w przód dla tej nazwy — ten sam IP. Więcej w artykule o analizie logów.
Jak zrozumieć, że budżet jest marnowany
- Sprawdź w statystyce skanowania Search Console: ile stron dziennie i z jakimi kodami odpowiedzi.
- Porównaj liczbę odwiedzonych adresów z liczbą użytecznych stron witryny.
- Sprawdź, jaka część skanowania idzie na przekierowania i błędy.
- Jeśli użyteczne strony są odwiedzane raz w miesiącu, a śmieciowe codziennie — zajmij się strukturą, a nie linkami.
Jak zoptymalizować crawl budget krok po kroku
- Scal duplikaty adresami kanonicznymi lub przekierowaniami dla wersji z parametrami, z www i bez, z ukośnikiem — zob. adres kanoniczny.
- Zablokuj w robots.txt to, czego w ogóle nie trzeba skanować: niekończące się filtry, sortowania, wyszukiwarkę wewnętrzną. Nie używaj do tego noindex — Google i tak pobierze stronę. Jak nie zablokować za dużo — w artykule o sprawdzaniu robots.txt.
- Zwracaj 404 lub 410 dla usuniętych stron i pozbądź się „miękkich” 404 — stron zastępczych z kodem 200: według Google są nadal skanowane i marnują budżet.
- Usuń długie łańcuchy przekierowań i linki do adresów, które przekierowują.
- Dbaj o aktualną mapę witryny: tylko kanoniczne adresy z kodem 200 i znacznik
<lastmod>dla zmienionych stron. Sprawdzisz ją analizatorem sitemap. - Obsługuj odpowiedź 304 Not Modified na żądania warunkowe — Google wie wtedy, że strona się nie zmieniła, i nie pobiera jej ponownie.
- Przyspiesz serwer i pilnuj błędów 5xx i 429 — bezpośrednio obniżają limit wydajności skanowania.
- Porównaj statystyki indeksowania kilka tygodni po zmianach: udział odpowiedzi 200 i wykrywania powinien wzrosnąć.
Mity o crawl budgecie
- „noindex oszczędza budżet”. Nie: Google pobiera stronę, widzi noindex i dopiero wtedy ją odrzuca. Oszczędza blokada w robots.txt — ale wtedy robot nie zobaczy samego noindex. Różnice opisuje artykuł noindex, nofollow i robots.txt.
- „Crawl-delay w robots.txt spowolni Googlebota”. Google nie obsługuje tej reguły; tempo dostosowuje sam do odpowiedzi serwera.
- „Częstsze skanowanie to wyższe pozycje”. Google pisał, że wzrost częstotliwości skanowania sam w sobie nie prowadzi do lepszych pozycji. Skanowanie to warunek indeksacji, a nie czynnik rankingowy.
- „Mała strona musi optymalizować budżet”. Witryna z kilkuset stronami i tak jest skanowana w całości.
- „Boty AI zużywają budżet Google”. Budżet dotyczy robotów Google. Każdy bot obciąża jednak serwer, a wolny serwer obniża limit dla Googlebota. Jeśli zewnętrzne boty wyraźnie obciążają stronę, steruje się nimi w robots.txt — zob. jak zablokować boty AI.