Artykuł pomocniczy · pojęcie · Pojęcia · Techniczne
Identyfikacja crawlerów w logach serwera
także: bot detection · search engine crawler identification · spider identification · Crawler Identification from Server Logs · rozpoznawanie robotów
Metody odróżniania botów wyszukiwarek od ruchu użytkowników na podstawie logów HTTP i wzorców ruchu — podstawa audytu crawl budget i diagnostyki indeksacji.
Po co to robić
Bez rozdzielenia bot/human trudno ocenić realny crawl, błędy 4xx/5xx widziane przez Googlebota oraz skuteczność zmian technicznych. Weryfikacja UA + reverse DNS zmniejsza ryzyko fałszywych botów.
Rozszerzona definicja
Identyfikacja crawlerów w logach serwera polega na odróżnianiu żądań HTTP generowanych przez boty wyszukiwarek od ruchu rzeczywistych użytkowników — Google dokumentuje, że weryfikacja jest możliwa dla crawlerów takich jak Googlebot oraz innych żądań1. W pracach badawczych stosowano w tym celu heurystyki oparte m.in. na analizie pola user-agent (obecność słów: robot, bot, crawler, spider), dostępie do pliku robots.txt, pustym polu referrer oraz liczbie lub odsetku żądań z kodami błędów2. Search Console nie udostępnia historii crawlu filtrowanej po URL lub ścieżce, dlatego do sprawdzenia, czy konkretne adresy były odwiedzane przez Googlebota, konieczne jest sięgnięcie po logi serwera3.
Jak to działa
Podstawowy mechanizm weryfikacji tożsamości Googlebota opisany przez Google obejmuje cztery kroki: wykonanie reverse DNS dla adresu IP z logów, sprawdzenie, czy uzyskana domena kończy się na googlebot.com, google.com lub googleusercontent.com, następnie wykonanie forward DNS dla tej domeny i potwierdzenie, że zwrócony adres IP jest tożsamy z wyjściowym adresem z logów4. Analogiczna procedura dotyczy Bingbota — Microsoft wskazuje, że jeśli w logach widoczny jest ruch z ciągiem user-agent wskazującym na Bingbota i zachodzi potrzeba potwierdzenia, że pochodzi on rzeczywiście z serwera Bing, należy wykonać wskazane kroki weryfikacji5.
W podejściu badawczym autorzy zaproponowali użycie modeli łańcuchów Markowa do uczenia profili prawdziwych i fałszywych Googlebotów na podstawie sekwencji dostępu do zasobów WWW, co wykracza poza proste dopasowanie pola user-agent6.
Dlaczego to ważne
Raport Crawl Stats w Search Console pokazuje co prawda statystyki historii crawlu Google — liczbę żądań, czas ich wykonania, odpowiedź serwera oraz napotkane problemy z dostępnością — jednak nie zastępuje analizy surowych logów w zakresie identyfikacji poszczególnych żądań7.
Przykłady
- Weryfikacja tożsamości Googlebota: reverse DNS adresu IP z logów musi zwrócić domenę kończącą się na googlebot.com, google.com lub googleusercontent.com, a następnie forward DNS tej domeny musi potwierdzić ten sam adres IP4.
- Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)), Microsoft zaleca wykonanie kroków weryfikacji w celu potwierdzenia, że ruch pochodzi rzeczywiście z serwera Bing5.
- Heurystyki stosowane w pracach badawczych obejmowały m.in. dostęp do robots.txt, analizę pola user-agent pod kątem słów robot, bot, crawler, spider, pusty referrer oraz odsetek żądań z kodami błędów — metody te były identyfikowane w ośmiu pracach z lat 2013–20172.
- Raport Crawl Stats w Search Console pokazuje statystyki historii crawlu Google, w tym liczbę żądań, odpowiedź serwera i problemy z dostępnością, lecz nie pozwala filtrować danych po konkretnym URL73.
Częste błędy i mity
- Ograniczenie: Search Console nie dostarcza historii crawlu filtrowanej po URL lub ścieżce, co oznacza, że raport Crawl Stats nie zastępuje analizy surowych logów serwera przy diagnostyce konkretnych adresów3.
Powiązane hasła
Źródła i odwołania
-
Verify Requests from Google Crawlers and Fetchers
You can verify if a request to your server really is from Google. Verification is possible for crawlers such as Googlebot, as well as other requests.
-
(PDF) Identification and characterization of crawlers through analysis of web logs
We found 8 works between 2013 and 2017 that used heuristics based, for example, on the access to robots.txt file, useragent field analysis (presence of words: robot, bot, crawler, spider...), referrer field blank (or with "-"), and the number (or percentage) of requests with error codes to identify sessions of robots.
-
Troubleshoot Google Search Crawling Errors
Search Console doesn't provide a crawl history for your site that can be filtered by URL or path, but you can inspect your site logs to see whether specific URLs have been crawled by Googlebot.
-
Verify Requests from Google Crawlers and Fetchers
Run a reverse DNS lookup on the accessing IP address from your logs, using the host command. 2. Verify that the domain name is either googlebot.com, google.com, or googleusercontent.com. 3. Run a forward DNS lookup on the domain name retrieved in step 1 using the host command on the retrieved domain name. 4. Verify that it's the same as the original accessing IP address from your logs.
-
How to Verify Bingbot - Bing Webmaster Tools
If you see what appears to be Bingbot traffic in your server logs based on a user agent string, for example Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm), and you want to know if this traffic really is originating from a Bing server, you can take the following steps:
-
(PDF) Identification and characterization of crawlers through analysis of web logs
We propose using Markov chain models to learn profiles of real and fake Googlebots based on their patterns of web resource access sequences.
-
Crawl Stats report - Search Console Help
The Crawl Stats report shows you statistics about Google's crawling history on your website. For instance, how many requests were made and when, what your server response was, and any availability issues encountered.
Każde zdanie powyżej odsyła do dosłownego cytatu ze źródła. Daty to daty publikacji lub pobrania źródła.
Źródła faktów
- SEO/research/technical-seo/EVIDENCE-TS-R8-Log-Analysis-SEO-Signals.md