X-Robots-Tag标头与机器人元标记的优先级

Jar*_*ier 11 header robot nofollow noindex meta-tags

Header在vhost配置中放置了以下内容:

Header set X-Robots-Tag "noindex, nofollow"
Run Code Online (Sandbox Code Playgroud)

这里的目标是禁止搜索引擎索引我的测试环境.该网站是Wordpress,并安装了一个插件来管理每页元机器人设置.例如:

<meta name="robots" content="index, follow" />
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,哪个指令优先于另一个指令,因为两个指令都设置在每个页面上?

d-s*_*yer 15

我不确定是否可以给出一个明确的答案,因为行为可能依赖于实现(在机器人方面).

但是,我认为有合理的证据X-Robots-Tag可以优先考虑<meta name="robots" ....见:

X-Robots-Tagrobotsmeta指令之间的一个显着区别是:

  • X-Robots-TagHTTP协议头的一部分.
  • <meta name="robots" ...HTML文档标题的一部分.

因此X-Robots-Tag属于HTTP协议层,同时<meta name="robots" ...属于HTML协议层.

协议捕获

由于它们属于不同的协议层,因此(机器人)客户端获取页面不会同时解析它们:首先解析HTTP层,然后再解析HTML.

(此外,应该注意的是,X-Robots-Tag<meta name="robots" ...没有被所有的机器人suppported.谷歌和雅虎/冰suppport两个,但根据这个只有一些支持<meta name="robots" ...,其他人既不支持.)

摘要:

  • 如果机器人支持,X-Robots-Tag将首先处理; 限制(noindex,nofollow)适用(并被<meta name="robots" ...忽略).
  • 否则,<meta name="robots" ...指令适用.