Robots.txt 和元数据标签是否足以阻止搜索引擎索引依赖于 $_GET 变量的动态页面?

Are Robots.txt and metadata tags enough to stop search engines to index dynamic pages that are dependent of $_GET variables?

我创建了一个 php 页面,只能通过通过 $_GET

接收的 token/pass 访问

因此,如果您转到以下 url,您将得到一个通用或空白页面

http://fakepage11.com/secret_page.php

但是,如果您将 link 与令牌一起使用,它会向您显示特殊内容

http://fakepage11.com/secret_page.php?token=344ee833bde0d8fa008de206606769e4

当然这不如登录页面安全,但我唯一关心的是创建一个不可索引且只能通过提供的 link.

访问的动态页面

依赖于 $_GET 变量的动态页面是否被 google 和其他搜索引擎索引?

如果是这样,包括以下是否足以隐藏它?

即使我输入 google:

site:fakepage11.com/

谢谢!

如果您的网页无法被发现,则不会将其编入索引。

通过 "discoverable" 我们的意思是:

  1. 这是一个标准的网页,即索引。*
  2. 它被另一个 link 引用,可能是您的引用,也可能来自其他站点

因此,在您的情况下,通过使用 get 参数进行访问,您获得了 1 但不一定是 2,因为有人可能会引用 link 并因此引用 "hidden" 页面。

您可以使用您提供的 robots.txt,在这种情况下,该页面将不会被尊重该内容的机器人编入索引(并非所有机器人都会这样做)。不索引您的页面当然并不意味着 "hidden" 页面 URL 不会在野外。

此外,另一个问题 - 根据您的要求 - 是您使用未加密的 HTTP,这意味着您的 "hidden" URLs 和页面内容对您的服务器和用户。

除了搜索引擎外,当 URL 交换某些服务时,例如在 Skype 或 Facebook Messenger 中,某些服务会注意 caching/resolving 内容。在这种情况下,他们将访问 URL 并尝试提取元数据并可能缓存它(如果适用)。当然,这种情况不会将您的 URL 暴露给 public,但它会暴露给这些服务的系统以及您拥有的内容 "hidden"。

更新: 另一个需要考虑的问题是通过 linking 将 "hidden" 页面暴露给另一个页面。在这种情况下,在托管 linked URL 的服务器的日志中,您的页面将被视为引荐并因此可见,这也会扩展到 Google 分析等。因此,如果如果您想保持隐身状态,请不要 link 从隐藏页面转到其他页面。

如果搜索引擎机器人以某种方式找到带有令牌的 link,它可能会对其进行抓取和索引。

如果您使用 robots.txt 禁止 抓取 页面,符合要求的搜索引擎机器人将不会抓取该页面,但它们仍可能对其 URL(然后可能会出现在 site: 搜索中)。

如果您使用 meta-robots 禁止 索引 页面,符合要求的搜索引擎机器人将不会索引该页面,但它们仍可能抓取它。

不能两者兼有:如果你禁止抓取,符合规范的机器人永远不会知道你也禁止索引,因为他们不允许访问页面以查看你的meta-robots 元素。

¹ 搜索引擎可以通过无数种方式找到 link。例如,访问该页面的用户可能会使用 a browser toolbar that automatically sends all visited URLs to a search engine.