首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Yandex防止高带宽使用

从Yandex防止高带宽使用
EN

Webmasters Stack Exchange用户
提问于 2012-07-27 20:19:36
回答 1查看 2.7K关注 0票数 3

虽然我在我的robots.txt文件中放了一行Yandex,但有时Yandex对我的网站进行了积极的索引。因此,我硬编码了一个部件并检查了用户代理,如果用户代理是这样的,则提供缓存的文件:"Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"

但是,当我查看statcounter日志时,我最近看到其他与Yandex相关的机器人经常爬我的站点。它们类似于跟随者。我从我的cPanel日志中获取了这个信息:

代码语言:javascript
复制
Beeline (128.69.243.12)
Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)
Referer: http://yandex.ru/yandsearch?text=example.com&lr=213

Beeline (89.178.108.247)
Referer: http://yandex.ru/yandsearch?text=example.com&lr=213
Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2)

我如何阻止或服务缓存的页面这些机器人?

当我检查$_SERVER['HTTP_USER_AGENT']时,我无法在referrer中看到"yandex.ru“。推荐人是空的。是否有可能在cPanel日志中找到引用者,但不能从HTTP_USER_AGENT获取??

我也不想禁止IP,因为与这个问题相关的IP太多了,而且它们会周期性地改变。那我怎么才能找到这个机器人?

有人有类似的问题吗?谢谢

EN

回答 1

Webmasters Stack Exchange用户

发布于 2012-07-28 00:40:30

使用robots.txt爬行延迟,如http://help.yandex.com/search/?id=1112639中所述

示例:

代码语言:javascript
复制
User-agent: Yandex
Crawl-delay: 2 # specifies a 2 second timeout

在你开始禁止这个机器人之前,你应该先确认你的日志实际上是yandex,而不是那些欺骗用户代理看上去像Yandex的人。竞争对手使用的一种战术,用来压制你进入阻塞或延迟机器人,这样他们就可以把你排挤出来。执行DNS查找:http://help.yandex.com/search/?id=1112029

您可以通过多种方式向依赖于用户代理的缓存副本提供服务。如果您使用apache,您可以使用mod_rewrite规则来完成它。如果您使用PHP,您可以通过嗅探$_SERVER‘HTTP_用户_探员’变量甚至使用函数获取_browser()来实现它。如何构建缓存也是多种多样的,可以以101种方式完成。老实说,为了获得最好的性能,您应该始终使用缓存。

票数 2
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/32734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档