1
0
mirror of https://github.com/lancedikson/bowser synced 2026-09-24 21:14:32 +00:00

feat: add recognition for Google and Bing search bot user agents

Add support for detecting additional Google and Bing crawlers that were
not previously recognized by bowser:

Google bots:
- AdsBot-Google (including AdsBot-Google-Mobile)
- Mediapartners-Google (Google AdSense crawler)
- APIs-Google
- FeedFetcher-Google
- Google-InspectionTool
- GoogleOther

Bing bots:
- BingPreview
- AdIdxBot (adidxbot)

Each new bot is added to parser-browsers.js, parser-platforms.js,
constants.js (BROWSER_ALIASES_MAP and BROWSER_MAP), and acceptance
test fixtures in useragentstrings.yml.

Co-authored-by: naorpeled <6171622+naorpeled@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-14 14:28:00 +00:00
parent e2f834bb98
commit 4bd1024901
4 changed files with 387 additions and 0 deletions

View File

@@ -1,12 +1,16 @@
// NOTE: this list must be up-to-date with browsers listed in
// test/acceptance/useragentstrings.yml
export const BROWSER_ALIASES_MAP = {
AdIdxBot: 'adidxbot',
AmazonBot: 'amazonbot',
'Amazon Silk': 'amazon_silk',
'Android Browser': 'android',
'AdsBot-Google': 'adsbot_google',
'APIs-Google': 'apis_google',
BaiduSpider: 'baiduspider',
Bada: 'bada',
BingCrawler: 'bingcrawler',
BingPreview: 'bingpreview',
Brave: 'brave',
BlackBerry: 'blackberry',
'ChatGPT-User': 'chatgpt_user',
@@ -19,10 +23,13 @@ export const BROWSER_ALIASES_MAP = {
Electron: 'electron',
Epiphany: 'epiphany',
FacebookExternalHit: 'facebookexternalhit',
'FeedFetcher-Google': 'feedfetcher_google',
Firefox: 'firefox',
Focus: 'focus',
Generic: 'generic',
'Google-InspectionTool': 'google_inspection_tool',
'Google Search': 'google_search',
GoogleOther: 'google_other',
Googlebot: 'googlebot',
GPTBot: 'gptbot',
'Internet Explorer': 'ie',
@@ -31,6 +38,7 @@ export const BROWSER_ALIASES_MAP = {
LibreWolf: 'librewolf',
Linespider: 'linespider',
Maxthon: 'maxthon',
'Mediapartners-Google': 'mediapartners_google',
'Meta-ExternalAds': 'meta_externalads',
'Meta-ExternalAgent': 'meta_externalagent',
'Meta-ExternalFetcher': 'meta_externalfetcher',
@@ -72,12 +80,16 @@ export const BROWSER_ALIASES_MAP = {
};
export const BROWSER_MAP = {
adidxbot: 'AdIdxBot',
adsbot_google: 'AdsBot-Google',
amazonbot: 'AmazonBot',
amazon_silk: 'Amazon Silk',
android: 'Android Browser',
apis_google: 'APIs-Google',
baiduspider: 'BaiduSpider',
bada: 'Bada',
bingcrawler: 'BingCrawler',
bingpreview: 'BingPreview',
blackberry: 'BlackBerry',
brave: 'Brave',
chatgpt_user: 'ChatGPT-User',
@@ -91,9 +103,12 @@ export const BROWSER_MAP = {
electron: 'Electron',
epiphany: 'Epiphany',
facebookexternalhit: 'FacebookExternalHit',
feedfetcher_google: 'FeedFetcher-Google',
firefox: 'Firefox',
focus: 'Focus',
generic: 'Generic',
google_inspection_tool: 'Google-InspectionTool',
google_other: 'GoogleOther',
google_search: 'Google Search',
googlebot: 'Googlebot',
gptbot: 'GPTBot',
@@ -103,6 +118,7 @@ export const BROWSER_MAP = {
librewolf: 'LibreWolf',
linespider: 'Linespider',
maxthon: 'Maxthon',
mediapartners_google: 'Mediapartners-Google',
meta_externalads: 'Meta-ExternalAds',
meta_externalagent: 'Meta-ExternalAgent',
meta_externalfetcher: 'Meta-ExternalFetcher',