Ros*_*oss 5 robots.txt search-engine
我想阻止来自 yandex.ru 搜索机器人的所有请求。它的流量非常大(2GB/天)。我首先阻止了一个 C 类 IP 范围,但这个机器人似乎来自不同的 IP 范围。
例如:
Spider31.yandex.ru -> 77.88.26.27 spider79.yandex.ru -> 95.108.155.251 等等。
我可以在 robots.txt 中加入一些拒绝,但不确定它是否尊重这一点。我正在考虑阻止 IP 范围列表。
有人可以建议一些通用的解决方案。
小智 6
不要相信你在论坛上读到的关于这个的内容!相信你的服务器日志告诉你什么。如果 Yandex 遵守 robots.txt,您将在日志中看到证据。我亲眼看到 Yandex 机器人甚至不读取 robots.txt 文件!
不再浪费时间使用长 IP 列表,这些列表只会大大降低您的网站速度。
在 .htaccess 中输入以下几行(在每个站点的根文件夹中):
SetEnvIfNoCase User-Agent "^Yandex*" bad_bot
Order Deny,Allow
Deny from env=bad_bot
Run Code Online (Sandbox Code Playgroud)
我做了,现在所有 Yandex 得到的是 403 Access denied 错误。
再见 Yandex!
我当前的解决方案是这样的(对于 NGINX Web 服务器):
if ($http_user_agent ~* (Yandex) ) {
return 444;
}
Run Code Online (Sandbox Code Playgroud)
这是不区分大小写的。它返回响应 444。
该指令查看用户代理字符串,如果检测到“Yandex”,则关闭连接而不发送任何标头。444 是 Nginx 守护进程可以理解的自定义错误代码
归档时间: |
|
查看次数: |
11493 次 |
最近记录: |