Detect robots in koa
Note: This post is over 11 years old. The information may be outdated.
Koa detect robots. Fast Middleware detect bot crawler for Koa.
Note (2025): This guide covers the
koa-isbotmiddleware for Koa v1 and v2. The plugin approach is still valid for Koa applications. For modern alternatives, consider checking the User-Agent header directly using libraries likeua-parser-jsor checking if newer bot detection packages are actively maintained.
Installation
npm install koa-isbot --save
Usage
const Koa = require('koa');
const isBot = require('koa-isbot');
const app = new Koa();
app.use(isBot());
app.use(function* (next) {
console.log('isBot? ', this.state.isBot);
// null or 'googlebot', 'bingbot', ...
});
app.listen(3000);
Update for Koa2
const Koa = require('koa');
const isBot = require('koa-isbot');
const app = new Koa();
app.use(isBot());
app.use(async (ctx, next) => {
console.log('isBot? ', ctx.isBot);
// null or 'googlebot', 'bingbot', ...
});
app.listen(3000);
Support list
- Google bot - googlebot
- Baidu - baiduspider
- Guruji - gurujibot
- Yandex - yandexbot
- Slurp- slurp
- MSN - msnbot
- Bing - bingbot
- Facebook - facebookexternalhit
- Linkedin - linkedinbot
- Twitter - twitterbot
- Slack - slackbot
- Telegram - telegrambot
- Apple - applebot
- Pingdom - pingdom
- tumblr - tumblr
Source code
How to contribute
- Fork the project on Github (https://github.com/duyet/koa-isbot/fork)
- Create a topic branch for your changes
- Ensure that you provide documentation and test coverage for your changes (patches won’t be accepted without)
- Create a pull request on Github (these are also a great place to start a conversation around a patch as early as possible)
Related Posts
JavaPoly.js: chạy Java ngay trên trình duyệt Web
Polyfills native, hỗ trợ JVM, bạn có thể import file Jar, biên dịch và chạy trực tiếp mã Java ngay trên trình duyệt Web với JavaPoly, thư viện được viết bằng Javascript.
MEAN.js Fullstack
MEANJs là một web application framework cho NodeJS, nó là 1 stack kết hợp nhiều công nghệ, giúp bạn dễ dàng nhanh chóng và dễ dàng phát triển 1 ứng dụng Web SPA (Single Page Application). Cùng tìm hiểu nhé.
Resting và Spreading JavaScript Objects
Resting và spreading càng ngày được ưa chuộng vì sự tiện lợi của nó, sau đây là 7 tricks với JavaScript objects.
Javascript Weekly #10
Javascript Weekly #10 gửi đến cộng đồng một số tin tức JS mới: top frameworks 2017, Angular Next 4.0, Voca xử lý string cực kỳ mạnh, Hyper 1.0 - terminal on top JS, Vuetify, ...