Parsa en user agent-sträng
En user agent-parser läser token i en User-Agent-header och gör om dem till strukturerade fält. Nedan körs tre fasta strängar — en stationär webbläsare, en telefon och en sökmotorcrawler — genom samma parser som det interaktiva verktyget, följt av reglerna den tillämpar.
Genomgånget exempel
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- Webbläsare
- Chrome 120.0.0.0
- Motor
- Blink
- Operativsystem
- Windows 10/11
- Enhetsklass
- Stationär
- Enhet
- Okänd
- CPU-arkitektur
- x64
- Bot / crawler
- Nej
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
- Webbläsare
- Safari 17.0
- Motor
- WebKit
- Operativsystem
- iOS 17.0
- Enhetsklass
- Mobil
- Enhet
- Apple iPhone
- CPU-arkitektur
- Okänd
- Bot / crawler
- Nej
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)
- Webbläsare
- Chrome 120.0.6099.216
- Motor
- Blink
- Operativsystem
- Android 6.0.1
- Enhetsklass
- Bot
- Enhet
- Nexus 5X Build/MMB29P
- CPU-arkitektur
- Okänd
- Bot / crawler
- Googlebot
Chrome på Windows skickar Windows NT 10.0, som Windows 10 och Windows 11 delar, så OS visas som 10/11. På iPhone ger Version/17.0 Safari-versionen och iPhone OS 17_0 iOS-versionen. Googlebot-strängen bäddar in en komplett user agent för Chrome på Android, men crawlersignaturer kontrolleras först, så enhetsklassen blir bot; fälten för webbläsare och OS visar ändå vad crawlern utger sig för att vara.
Viktiga regler
- Crawlersignaturer kontrolleras först: Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot och facebookexternalhit. En träff sätter enhetsklassen till bot även när webbläsartoken finns.
- Webbläsare matchas i en fast ordning — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari och sist Chromium — eftersom de flesta strängar även innehåller andra webbläsares token. Motorn följer webbläsaren: Blink, Gecko eller WebKit.
- Operativsystemet hämtas från plattformsdelen inom parentes: iPhone, iPad, Android, Windows NT, CrOS, Mac OS X eller Linux. Understreck i Apples versionsnummer omvandlas till punkter.
- Enhetsklassen är surfplatta för iPad, en Tablet-token eller Android utan Mobile-token; mobil för iPhone eller Android med en Mobile-token; och stationär för Windows, macOS, Linux och ChromeOS.
- Allt som strängen inte anger förblir okänt (null i JSON-utdata) i stället för att gissas. Tillförlitligheten är hög bara när både en webbläsare och ett operativsystem matchades.
- Vilken klient som helst kan skicka en Googlebot-user agent. För att bekräfta en äkta Google-crawler gör du en omvänd DNS-uppslagning på förfrågans IP, kontrollerar att namnet slutar på googlebot.com eller google.com och bekräftar sedan med en framåtriktad uppslagning.