Analiza ciągu user agent
Parser user agent odczytuje tokeny z nagłówka User-Agent i zamienia je na ustrukturyzowane pola. Poniżej trzy stałe ciągi — przeglądarka desktopowa, telefon i crawler wyszukiwarki — przechodzą przez ten sam parser co interaktywne narzędzie, a po nich opisano reguły, które stosuje.
Przykład krok po kroku
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- Przeglądarka
- Chrome 120.0.0.0
- Silnik
- Blink
- System operacyjny
- Windows 10/11
- Klasa urządzenia
- Komputer
- Urządzenie
- Nieznane
- Architektura CPU
- x64
- Bot / crawler
- Nie
Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1
- Przeglądarka
- Safari 17.0
- Silnik
- WebKit
- System operacyjny
- iOS 17.0
- Klasa urządzenia
- Mobilne
- Urządzenie
- Apple iPhone
- Architektura CPU
- Nieznane
- Bot / crawler
- Nie
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.216 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
- Przeglądarka
- Chrome 120.0.6099.216
- Silnik
- Blink
- System operacyjny
- Android 6.0.1
- Klasa urządzenia
- Bot
- Urządzenie
- Nexus 5X Build/MMB29P
- Architektura CPU
- Nieznane
- Bot / crawler
- Googlebot
Chrome na Windows wysyła Windows NT 10.0, wspólne dla Windows 10 i Windows 11, więc system jest pokazywany jako 10/11. Na iPhonie Version/17.0 podaje wersję Safari, a iPhone OS 17_0 — wersję iOS. Ciąg Googlebota zawiera pełny user agent Chrome w systemie Android, ale sygnatury crawlerów są sprawdzane najpierw, więc klasa urządzenia to bot; pola przeglądarki i systemu nadal pokazują, za co crawler się podaje.
Najważniejsze zasady
- Sygnatury crawlerów są sprawdzane najpierw: Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot i facebookexternalhit. Dopasowanie ustawia klasę urządzenia na bot, nawet jeśli w ciągu są tokeny przeglądarki.
- Przeglądarki są dopasowywane w stałej kolejności — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari, a na końcu Chromium — ponieważ większość ciągów zawiera też tokeny innych przeglądarek. Silnik wynika z przeglądarki: Blink, Gecko lub WebKit.
- System operacyjny pochodzi z sekcji platformy w nawiasach: iPhone, iPad, Android, Windows NT, CrOS, Mac OS X lub Linux. Podkreślenia w numerach wersji Apple są zamieniane na kropki.
- Klasa urządzenia to tablet dla iPada, tokenu Tablet lub Androida bez tokenu Mobile; mobilne dla iPhone'a lub Androida z tokenem Mobile; oraz komputer dla Windows, macOS, Linux i ChromeOS.
- Wszystko, czego ciąg nie podaje, pozostaje nieznane (null w wyjściu JSON), zamiast być zgadywane. Pewność jest wysoka tylko wtedy, gdy dopasowano zarówno przeglądarkę, jak i system operacyjny.
- Każdy klient może wysłać user agent Googlebota. Aby potwierdzić prawdziwego crawlera Google, wykonaj odwrotne zapytanie DNS dla adresu IP żądania, sprawdź, czy nazwa kończy się na googlebot.com lub google.com, a potem potwierdź wynik zwykłym (forward) zapytaniem DNS.