我一直在注意到我的跟踪器机器人正在访问我的网站ALOT。我应该更改或编辑我的robots.txt还是改变一些东西?不确定这是好的,因为它们是索引还是什么?
答案 0 :(得分:4)
我应该更改或编辑我的robots.txt还是更改某些内容?
取决于机器人。一些机器人将尽职尽责地忽略robots.txt。 我们在18个月前使用Google AD机器人遇到了类似问题,因为我们的客户正在购买Soooo许多广告。 Google AD机器人(如文档所述)会忽略通配符(*)排除,但会听取显式忽略。
请记住,尊重robots.txt的机器人不会抓取您的网站。如果您希望它们可以访问您的数据以进行索引,那么这是不可取的。
更好的解决方案是为机器人节流或提供静态内容。
不确定这是否合适,因为它们是索引还是什么?
他们可能是索引/抓取/窃取。真的都一样。我认为你想要的是根据UserAgents来限制他们的http请求处理。如何执行此操作取决于您的Web服务器和应用程序容器。
正如其他答案中所建议的那样,如果机器人是恶意的,那么你需要找到UserAgent模式并发送403 forbiddens。或者,如果恶意机器人动态更改用户代理字符串,则还有两个选项:
答案 1 :(得分:4)
我真的不认为改变robots.txt会有所帮助,因为只有好机器人才能遵守它。所有其他人都会忽略它并随意解析您的内容。我个人使用http://www.codeplex.com/urlrewriter通过响应禁止的消息来摆脱不受欢迎的机器人。如果找到它们。
答案 2 :(得分:3)
垃圾邮件机器人不关心robots.txt。您可以使用mod_security(这本身就是一个非常酷的Apache插件)来阻止它们。或者你可以忽略它们。
答案 3 :(得分:2)
你可能不得不使用.htaccess来拒绝一些机器人来解决你的日志问题。 见这里:http://spamhuntress.com/2006/02/13/another-hungry-java-bot/
我有很多Java机器人抓取我的网站,添加
SetEnvIfNoCase User-Agent ^ Java / 1。 javabot = YES
SetEnvIfNoCase User-Agent ^ Java1。 javabot = YES
拒绝来自env = javabot
让他们停下来。现在他们只得到403一次,就是这样:))
答案 4 :(得分:2)
我曾经为一位客户工作过,他们有一些“价格比较”机器人一直在打网站。问题是我们的后端资源稀缺,每笔交易都要花钱。
在试图对抗其中一些已经有一段时间后,但机器人只是不断改变其可识别的特征。我们最终采取了以下策略:
对于服务器上的每个会话,我们确定用户是否在任何点上点击太快。在给定次数的重复之后,我们将“isRobot”标志设置为true,并通过添加睡眠来简化该会话内的响应速度。我们没有以任何方式告诉用户,因为在那种情况下他只是开始一个新的会话。