我希望我的登台网站不会被搜索引擎(谷歌作为第一个)编入索引。
我听说Wordpress擅长这样做,但我希望与技术无关。
robots.txt足够了吗?我们希望匿名访问,让客户无需登录即可查看其网站。
我是否必须在每个页面添加nofollow?
答案 0 :(得分:27)
我通常反对将登台服务器暴露给公共网络,但如果这是您工作流程的最佳解决方案,那么您可以考虑以下几点:
最小方法
Disallow: /
最小的方法是确保你不会在任何地方都有重复内容的情况下自己摔倒的基础知识。通过注册一个单独的域,它是一个干净的划分给用户的阶段和什么不是。当您需要移动环境时,它也会更清洁,但这更具操作性。 CNAME也可以使用,但请记住使用Google和Bing网站管理员工具注册每个CNAME。这样,您可以根据需要使用域名删除工具。
建议方法
通过添加robots.txt,可以防止搜索引擎访问内容并将其编入索引。但是,这并不意味着他们不会索引URL。如果搜索引擎知道给定的URL,则可以将其添加到搜索结果索引中。您有时会在搜索结果中看到这些内容。标题往往是没有描述的URL。为了防止这种情况发生,需要告知搜索引擎不要显示内容或URL。通过添加身份验证infront并且不响应200 OK状态代码,它是引擎的强烈信号,不会将这些URL添加到其索引中。根据我的经验,我从未见过搜索引擎索引中列出的401响应代码页。
首选方法
将暂存网站放在IP过滤器后面可确保只有您的客户端才能访问该网站。如果他们想要从其他计算机访问它,这可能是一个问题,有时候是一个维护问题,但如果你不想让你的登台环境编入索引,这是最好的方法。需要注意的是,您需要确保所有其他请求(例如搜索引擎和非客户端)不会提供任何服务。他们应该收到超时响应,从不提供200 OK。通过提供其他信息,可能会误认为你不想要的伪装。
另外为了更加安全,我还会向每个页面添加一个元机器人或x-robots-header命令到NOINDEX,NOFOLLOW以防万一IP表因错误配置而失败或者身份验证失败...这很少见,但是当有人因其他原因触摸配置时会发生这种情况。就像robots.txt文件一样,如果它们被推向生产阶段,你可以用这些页面级别的机器人命令实际拍摄自己。因此,只需确保您的开发/暂存环境处于完全分离的配置中。否则,推出NOINDEX,NOFOLLOW或Disallow: /
对您的生产站点来说将是灾难性的。
答案 1 :(得分:1)
您可以通过在apache conf中全局添加以下设置来禁用此服务器范围,或者可以在vhost中使用相同的参数来仅为特定的vhost禁用它。
标题设置X-Robots-Tag“noindex,nofollow”
完成此操作后,您可以通过验证返回的apache标头来测试它。
curl -I staging.mywebsite.com HTTP/1.1 302 Found Date: Sat, 26 Nov 2016 22:36:33 GMT Server: Apache/2.4.18 (Ubuntu) Location: /pages/ X-Robots-Tag: noindex, nofollow Content-Type: text/html; charset=UTF-8
答案 2 :(得分:0)
我将此代码添加到我的网站(用php编码):
if( $_SERVER['HTTP_HOST'] == 'test.ate.io' ) {
header("X-Robots-Tag: noindex, nofollow", true);
}
这样,即使我的临时配置文件被意外地推送到我的生产服务器,也不会有任何问题。
答案 3 :(得分:0)
TLDR;在根网站目录中创建robots.txt
文件。该文件应包含一行:
Disallow: /
这足以阻止Google和Bing机器人为您的网站编制索引并显示在搜索结果中。
答案 4 :(得分:0)
将以下元标记添加到页面的部分:
<meta name="robots" content="noindex">
要仅阻止Google将网页编入索引,请执行以下操作:
<meta name="googlebot" content="noindex">