17

我希望我的登台网站不会被搜索引擎索引(首先是谷歌)。

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

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

我必须在每个页面上添加 nofollow 吗?

4

5 回答 5

28

我通常反对将登台服务器暴露给公共网络,但如果这是您工作流程的最佳解决方案,您可以考虑以下几点:

最小方法

  • 为登台服务器创建新域(例如 example-stage.com)
  • 添加 robots.txt =>Disallow: /
  • 在 Google 和 Bing 网站管理员工具中验证域

最小的方法是确保您不会因为到处都有重复的内容而自取其辱。通过注册一个单独的域,用户可以清楚地区分什么是阶段,什么不是。当您需要移动环境时,它也会更干净一些,但这更具操作性。CNAME 也可以使用,但请记住使用 Google 和 Bing 网站管理员工具注册每个 CNAME。这样,您可以在需要时使用域删除工具。

建议的方法

  • 在请求前添加身份验证(HTTP 或其他)
  • 如果不允许,则使用适当的响应代码进行响应(例如 401 Unauthorized)
  • 上述基本方法中的所有其他内容

通过添加 robots.txt,它可以防止搜索引擎访问和索引内容。但是,这并不意味着他们不会将 URL 编入索引。如果搜索引擎知道给定的 URL,它可能会将其添加到搜索结果索引中。您有时会在搜索结果中看到这些。标题往往是没有描述的 URL。为了防止这种情况发生,需要告知搜索引擎不要显示内容或 URL。通过在前面添加 Authentication 并且不响应 200 OK 状态代码,这是向引擎发出的强烈信号,不要将这些 URL 添加到其索引中。根据我的经验,我从未在搜索引擎索引中看到过 401 响应代码页。

首选方法

  • 将临时站点放在 IP 表后面(例如,只能从给定的 IP 范围访问)
  • 将 meta 或 x-robots 命令添加到值为 NOINDEX、NOFOLLOW 的每个页面
  • 建议方法中的所有其他内容

通过将临时站点放在 IP 过滤器后面,确保只有您的客户能够访问该站点。如果他们想从其他计算机访问它,这可能是一个问题,有时还会导致维护问题,但如果您不想让暂存环境建立索引,这是最好的方法。请注意,您需要确保所有其他请求(例如搜索引擎和非客户端)不会返回任何内容。他们应该收到一个超时响应,并且永远不会提供 200 OK。通过提供其他信息,它可能会被误认为是您不想要的伪装。

此外,为了更加安全,我还会在 NOINDEX、NOFOLLOW 的每个页面中添加一个 meta robots 或 x-robots-header 命令,以防万一 IP 表因错误配置或身份验证失败......这很少见,但它确实发生了当有人出于其他原因触摸配置时。就像 robots.txt 文件一样,如果这些页面级机器人命令被投入生产,你真的可以用这些页面级机器人命令来打自己的脚。因此,只需确保您的开发/登台环境处于完全分离的配置中。否则推出 NOINDEX、NOFOLLOW 或 aDisallow: /将对您的生产站点造成灾难性的影响。

于 2012-08-31T17:27:36.233 回答
2

您可以通过在 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
于 2016-11-26T22:49:24.627 回答
0

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

if( $_SERVER['HTTP_HOST'] == 'test.ate.io' ) {
    header("X-Robots-Tag: noindex, nofollow", true);    
}

这样,即使我的 staging 配置文件意外地被推送到我的生产服务器,也不会有任何问题。

于 2013-08-03T18:29:41.660 回答
0

TLDR;在您的 Web 根目录中创建一个robots.txt文件。该文件应包含一行:

Disallow: /

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

于 2015-10-27T03:51:53.023 回答
0

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

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

要阻止仅 Google 将页面编入索引:

<meta name="googlebot" content="noindex">
于 2020-10-13T08:35:26.037 回答