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

标签 header meta-tags robot nofollow noindex

我已将以下 header 放入我的虚拟主机配置中:

Header set X-Robots-Tag "noindex, nofollow"

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

<meta name="robots" content="index, follow" />

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

最佳答案

我不确定是否可以对这个问题给出明确的答案,因为该行为可能取决于实现(在机器人方面)。

但是,我认为有合理的证据表明 X-Robots-Tag将优先于 <meta name="robots" ... 。请参阅:

X-Robots-Tag 之间有一个显着差异和 robots元指令是:

  • X-Robots-TagHTTP 协议(protocol) header 的一部分。
  • <meta name="robots" ...HTML 文档 header 的一部分。

因此X-Robots-Tag属于HTTP协议(protocol)层,而<meta name="robots" ...属于HTML协议(protocol)层。

Protocol capture

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

(另外,应该注意的是,并非所有机器人都支持 X-Robots-Tag<meta name="robots" ... 。Google 和 Yahoo/Bing 都支持,但根据 this 有些仅支持 <meta name="robots" ... ,其他则两者都不支持。 )

摘要:

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

关于header - X-Robots-Tag header 与机器人元标记的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17930932/

相关文章:

javascript - Pepper Robot 对话框如何执行 javascript 函数?

c++ - Visual C++ 似乎无法解析链接头文件的路径

java - 如何删除标题 View ?或者修复这个异常: "Cannot add header view to list - setAdapter has already been called"

c++ - 在 visual studio 中构建代码时,我遇到错误,.h 文件丢失

php - 使用 PHP,如何从 HTML 页面解析标题和元标记?

c - AVR 工作室 Nibobee 图书馆

php - 如何通过包含的 php 脚本在导航中获得 CSS 样式?

html - PageSpeed 工具的奇怪修复

javascript - 浏览器未检测到与 x-ua 兼容的元标记,并在使用 javascript 动态更改后设置为新的 IE 浏览器版本

Python:将类成员函数传递给另一个类的回调