应用程序识别Bots的最佳方式(Googelbot / Yahoo Slurp)

时间:2011-12-17 19:31:23

标签: post cookies get googlebot

我有一个(Rails)网站,我希望搜索引擎抓取并编制索引。但是,我还有一些我想要记录的操作 - 这些操作可以由登录用户以及未登录的用户触发。现在,确保未登录即非匿名用户的计数不包括机器人流量我正在考虑一些选项,我正在寻找指导方向:

  1. 为所有用户设置一个cookie,如果这个cookie没有回来,因为Bots通常不接受或发回cookie,我可以将机器人与匿名人区分开来。

  2. 检查标题并查看代理是否为机器人(某些白名单):How to recognize bots with php?

  3. 将该操作设置为POST而不是GET。机器人发出GET,这样他们就不会被计算在内。

  4. 还有其他方法吗?

  5. 我相信人们之前必须这样做,那么解决这个问题的“规范”方法是什么?

2 个答案:

答案 0 :(得分:1)

如果您不希望蜘蛛跟踪链接,那么您可以对它们使用rel="nofollow"。但是,由于可能有其他链接指向页面,您可能还需要查看User-Agent标头。根据我的经验,最常见的User-Agent标头是:

  • Google:Googlebot/2.1 ( http://www.googlebot.com/bot.html)
  • Google Image:Googlebot-Image/1.0 ( http://www.googlebot.com/bot.html)
  • MSN直播:msnbot-Products/1.0 (+http://search.msn.com/msnbot.htm)
  • 雅虎:Mozilla/5.0 (compatible; Yahoo! Slurp;)

答案 1 :(得分:0)

只需check the User-Agent header,这可能足以满足您的目的。请注意a user agent can just pose as Google bot。因此,如果您想确保需要更多检查。但我认为你不需要再费心了。