防止机器人索引受限访问子域

Posted

技术标签:

【中文标题】防止机器人索引受限访问子域【英文标题】:Prevent robots from indexing a restricted access sub domain 【发布时间】:2016-04-25 04:52:15 【问题描述】:

我有一个子域设置,我为除一个 IP 之外的所有 IP 返回 403。 我还想避免网站被搜索引擎索引,这就是为什么我在子域的根目录中添加了 robots.txt。

但是,由于我对该子域的每个请求都返回 403,因此爬虫在请求 robots.txt 文件时也会收到 403。

根据google,如果 robots.txt 返回 403,它仍然会尝试爬取网站。

这有什么问题吗?渴望听到你的想法。

【问题讨论】:

【参考方案1】:

使用 robots.txt,您可以禁止抓取,而不是索引

您可以禁止使用 html meta-robots 或相应的 HTTP 标头 X-Robots-Tag 进行索引(但不能抓取)。

所以你有三个选择:

/robots.txt 列入白名单,以便它以 200 回答。 符合要求的机器人不会抓取您主机上的任何内容(robots.txt 除外),但如果以某种方式找到它们,它们可能会将 URL 编入索引 (例如,如果从其他网站链接)。

User-agent: *
Disallow: /

meta-robots 元素添加到每个页面。符合要求的机器人可能会抓取,但不会编制索引。但这仅适用于 HTML 文档。

<meta name="robots" content="noindex" />

为每个文档发送一个X-Robots-Tag 标头。符合要求的机器人可能会抓取,但不会编制索引。

X-Robots-Tag: noindex

(为每个请求发送 403 本身可能是一个强烈的信号,表明没有什么有趣的东西可看;但是如何制作它当然取决于机器人。)

【讨论】:

太棒了 - 谢谢! (感谢有点晚,但迟到总比没有好!)

以上是关于防止机器人索引受限访问子域的主要内容,如果未能解决你的问题,请参考以下文章

apache 虚拟主机子域只能由 localhost 访问

如何防止搜索机器人每次调用 API

网络受限下,使用Nexus要解决的两个问题

如何在开发机器上测试子域? abc.localhost

从同一主机上的子域访问时未找到 WCF 错误

将 $.getJSON() 与同一子域上的机器一起使用?