Skip to content

Conversation

@luciomartinez
Copy link
Contributor

Hey,

I thought it might be helpful to have a few more popular bots besides Google bot (already registered as a platform).

This list is not extensive, yet it includes the most popular ones worldwide, including the main Russian and Chinese search engines.

One of the down sides of having this list is its maintenance, so feel free to skip it from merging if you deem it so.

Thanks,
Lucio.

@lancedikson
Copy link
Collaborator

Hi @luciomartinez! Sorry it took a while to get back to your PR. If you still available, can you please also add tests for these platforms so that we have examples in the tests?


/* Baidu */
{
test: [/baiduspider/i],
Copy link
Contributor Author

@luciomartinez luciomartinez Aug 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/* Bingbot */
{
test: [/bingbot/i],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/* DuckDuckBot */
{
test: [/duckduckbot/i],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/* AmazonBot */
{
test: [/Amazonbot/i],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/* Internet Archive Crawler */
{
test: [/ia_archiver/i],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/* Meta Web Crawler */
{
test: [/facebookexternalhit/i, /facebookcatalog/i],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/* Yahoo! Slurp */
{
test: [/yahoo/i],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/* Yandex */
{
test: [/yandexbot/i, /yandexmobilebot/i],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/* Pingdom */
{
test: [/pingdom/i],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Best guest I suppose 🙂

@luciomartinez
Copy link
Contributor Author

luciomartinez commented Aug 21, 2024

CI logs don't show exactly which test is failing.

Trying to build it locally, I get this error:

$ npm run build

> [email protected] build
> webpack --config webpack.config.js

node:internal/crypto/hash:79
  this[kHandle] = new _Hash(algorithm, xofLen, algorithmId, getHashCache());
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (/workspaces/bowser/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/workspaces/bowser/node_modules/webpack/lib/NormalModule.js:417:16)
    at /workspaces/bowser/node_modules/webpack/lib/NormalModule.js:452:10
    at /workspaces/bowser/node_modules/webpack/lib/NormalModule.js:323:13
    at /workspaces/bowser/node_modules/loader-runner/lib/LoaderRunner.js:367:11
    at /workspaces/bowser/node_modules/loader-runner/lib/LoaderRunner.js:233:18
    at context.callback (/workspaces/bowser/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /workspaces/bowser/node_modules/babel-loader/lib/index.js:55:103 {
  opensslErrorStack: [
    'error:03000086:digital envelope routines::initialization error',
    'error:0308010C:digital envelope routines::unsupported'
  ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v20.16.0

I'm not sure what I'm doing wrong here 😕

@laurens94
Copy link

I believe that error occurs because of version mismatch with nodejs and some dependencies: https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported

@naorpeled naorpeled requested a review from Copilot November 22, 2025 12:28
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds platform detection support for 9 popular bot crawlers (AmazonBot, BingCrawler, BaiduSpider, DuckDuckBot, InternetArchiveCrawler, MetaWebCrawler, YahooSlurp, YandexBot, and PingdomBot) to complement the existing Googlebot support. The implementation follows the existing pattern by adding platform parsers and corresponding test cases.

Key changes:

  • Adds 9 new bot platform detectors to parser-platforms.js with regex patterns for identification
  • Adds 163 lines of test cases to useragentstrings.yml covering various User-Agent strings for each bot
  • Includes support for major search engines (Bing, Baidu, Yandex, Yahoo) and monitoring/archiving services

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
src/parser-platforms.js Adds 9 new bot platform descriptors with regex patterns and vendor identification
test/acceptance/useragentstrings.yml Adds comprehensive test cases for all new bots with expected browser names, versions, and platform metadata

@naorpeled
Copy link
Collaborator

naorpeled commented Nov 22, 2025

Hey @luciomartinez,
first of all thank you for this great contribution.

I hope it's okay with you that I'll address Copilot's comments and then merge this PR 🙏

@luciomartinez
Copy link
Contributor Author

luciomartinez commented Nov 22, 2025 via email

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 9 comments.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

@naorpeled naorpeled requested a review from Copilot November 22, 2025 14:41
@naorpeled naorpeled merged commit 771dfb2 into bowser-js:master Nov 22, 2025
6 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

@luciomartinez luciomartinez deleted the add-bot-platforms branch December 8, 2025 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants