我们在2009年就说过,现在还会再说一遍:仍然有人使用robots.txt文件来防止谷歌或Bing索引他们的网站,这让我们很吃惊。因此,他们的网站还是会出现在搜索引擎中。你知道为什么它总是让我们惊讶吗?因为robots.txt实际上不会做后者,即使它会阻止对你的站点进行索引。让我在这篇文章中解释一下它是如何工作的。
了解更多关于机器人的信息。txt,请读机器人。txt:终极指南。
在谷歌中被索引和被列出是有区别的
在我们进一步解释之前,我们需要先回顾一下这里的一些术语:
索引/索引
将一个网站或页面的内容下载到搜索引擎的服务器上,从而将其添加到“索引”中的过程。
排名/上市/显示
在搜索结果页面(又名SERPs)中显示一个站点。
因此,虽然最常见的过程是从索引到列表,但站点不一定要被索引才能被列出。如果一个链接指向一个页面、域或其他地方,谷歌将跟随该链接。如果该域名上的robots.txt阻止搜索引擎对该页面进行索引,它仍然会在结果中显示URL,如果它能从其他可能值得查看的变量中收集到URL的话。在过去,可能是DMOZ或雅虎目录,但我可以想象谷歌使用,例如,这些天,你我的业务细节,或来自这些项目的旧数据。有更多的网站总结了你的网站。
现在,如果上面的解释不合理,看看2009年马特·卡茨的视频解释:
如果你有理由阻止索引你的网站,添加请求到你想阻止的特定页面,就像马特所说的,仍然是正确的做法。但是你需要通知谷歌关于meta robots标签。因此,如果您想要有效地隐藏页面而不被搜索引擎发现,您需要它们对这些页面进行索引。尽管这看起来有点矛盾。有两种方法。
通过添加meta robots标签防止页面列表
防止页面列表的第一个选项是使用robots元标记。我们有一个机器人元标签的最终指南,这是更广泛的,但它基本上归结为添加这个标签到你的页面:
< meta name = “机器人”内容= ” noindex, nofollow”>
如果你使用Yoast SEO,这是超级容易!不需要自己添加代码。学习如何添加一个noindex标签Yoast SEO这里。
但这样的标签的问题是,您必须将其添加到每个页面。
或者添加一个X-Robots-Tag HTTP头
为了使在站点的每一个页面上添加meta robots标签的过程更容易一些,搜索引擎提出了X-Robots-Tag HTTP头。这允许您指定一个名为X-Robots-Tag的HTTP报头,并像设置meta robots标签值一样设置值。很酷的一点是,你可以为整个网站做这件事。如果你的网站运行在Apache上,mod_headers是启用的(它通常是),你可以添加以下单行到你的。htaccess文件:
标题设置x – robots -标签“noindex, nofollow”
这样整个网站就可以被索引了。但永远不会出现在搜索结果中。