Web 如何防止登台在搜索引擎中被索引

Web 如何防止登台在搜索引擎中被索引,web,search-engine,robots.txt,nofollow,Web,Search Engine,Robots.txt,Nofollow,我希望我的登台网站不会被搜索引擎索引(谷歌是第一个) 我听说Wordpress很擅长这样做,但我想成为一个技术不可知论者 robots.txt是否足够?我们希望保持匿名访问,让客户无需登录即可查看其网站 我是否必须在每个页面中添加nofollow?我通常反对将临时服务器公开给公共web,但如果这是您的工作流的最佳解决方案,您可以考虑以下几点: 最小方法 为临时服务器创建新域(例如,example stage.com) Add robots.txt=>不允许:/ 在Google和Bing网站管理

我希望我的登台网站不会被搜索引擎索引(谷歌是第一个)

我听说Wordpress很擅长这样做,但我想成为一个技术不可知论者

robots.txt是否足够?我们希望保持匿名访问,让客户无需登录即可查看其网站


我是否必须在每个页面中添加nofollow?

我通常反对将临时服务器公开给公共web,但如果这是您的工作流的最佳解决方案,您可以考虑以下几点:

最小方法

  • 为临时服务器创建新域(例如,example stage.com)
  • Add robots.txt=>
    不允许:/
  • 在Google和Bing网站管理员工具中验证域
最基本的方法是确保你不会因为到处都有重复的内容而伤到自己的脚。通过注册一个单独的域,用户可以清楚地区分什么是阶段,什么不是阶段。当您需要移动环境时,它也会更干净一些,但这更便于操作。CNAMEs也可以使用,但请记住使用Google和Bing网站管理员工具注册每个CNAME。这样,如果需要,您可以使用域删除工具

建议的方法

  • 在请求之前添加身份验证(HTTP或其他)
  • 如果不允许,则使用适当的响应代码进行响应(例如401未经授权)
  • 以上基本方法中的所有其他内容
通过添加robots.txt,它可以防止搜索引擎访问和索引内容。然而,这并不意味着他们不会索引URL。如果搜索引擎知道给定的URL,它可能会将其添加到搜索结果索引中。您有时会在搜索结果中看到这些。标题往往是没有描述的URL。为了防止这种情况发生,需要告诉搜索引擎不要显示内容或URL。通过在前端添加身份验证,并且不使用200 OK状态码进行响应,这对引擎来说是一个强烈的信号,即不要将这些URL添加到它们的索引中。根据我的经验,我从未见过401响应代码页列在搜索引擎索引中

首选方法

  • 将临时站点放在IP表后面(例如,只能从给定IP范围访问)

  • 向每个页面添加meta或x-robots命令,值为NOINDEX,NOFOLLOW
  • 建议方法中的所有其他内容
通过将暂存站点置于IP筛选器之后,可以确保只有您的客户端才能访问该站点。如果他们想从其他计算机上访问它,这可能是一个问题,有时是维护方面的难题,但如果您不想为登台环境编制索引,这是最好的方法。需要注意的是,您需要确保所有其他请求(例如搜索引擎和非客户端)都不会返回任何内容。他们应该收到一个超时响应,决不提供200 OK。通过提供其他信息,它可能被误认为是你不想要的伪装


此外,为了更加安全,我还将在NOINDEX、NOFOLLOW的每个页面中添加meta-robots或x-robots-header命令,以防IP表因错误配置而失败或身份验证失败。。。这很少见,但当有人出于其他原因触摸配置时,就会发生这种情况。像robots.txt文件一样,如果这些页面级的robots命令被推到生产环境中,你真的可以用它们来攻击自己。因此,只需确保您的开发/登台环境处于完全分离的配置中。否则,推出NOINDEX、NOFOLLOW或
不允许://
将给您的生产站点带来灾难。

我将此代码添加到我的站点(用php编码):


这样,即使我的staging配置文件意外地被推送到我的生产服务器上,也不会有任何问题;在根web目录中创建一个
robots.txt
文件。此文件应包含一行:

Disallow: /

这足以防止Google和Bing机器人为您的网站编制索引并出现在搜索结果中。

您可以通过在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

将以下元标记添加到页面的部分:

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

要防止仅Google索引页面,请执行以下操作:

<meta name="googlebot" content="noindex">


“将meta或x-robots命令添加到每个页面,值为NOINDEX,NOFOLLOW”似乎是“Add robots.txt=>Disallow:/”的好方法。你剩下的回答对我来说是一个太多的限制:“我们想保持匿名访问”。我会试着看看会发生什么。谢谢你的回答。如果都是相同的代码库,修改robots.txt文件不会导致忽略任何服务器,而不仅仅是登台吗?@AndrewMortimer。。。假设您有一些配置文件,这些文件为开发、登台和生产定义了不同的设置/robots.txt文件。因此,服务器/环境将读取配置文件。。。如果环境是登台环境,它将使用登台配置。
<meta name="googlebot" content="noindex">