我的页面 /admin/login.asp 怎么可能在 Google 中通过查询“inurl:admin/login.asp”找到,而没有通过“site:www.domain.xx”查询?
我的 robots.txt 中有这行代码:
User-agent: *
Disallow: /admin/
这在页面的 HTML 代码中:
<meta name="robots" content="noindex, nofollow" />
有任何想法吗?
我的页面 /admin/login.asp 怎么可能在 Google 中通过查询“inurl:admin/login.asp”找到,而没有通过“site:www.domain.xx”查询?
我的 robots.txt 中有这行代码:
User-agent: *
Disallow: /admin/
这在页面的 HTML 代码中:
<meta name="robots" content="noindex, nofollow" />
有任何想法吗?
您可以在Google 网站管理员上查看robots.txt 是否被 Google 正确解释。您还可以请求从那里的索引中删除 URL。
当您在 Google 搜索结果页面 (SERP) 中找到该 URL 时,它的标题是否与您的标签中找到的相同?它也有描述/片段吗?
我认为正在发生的事情是 Google 从您网站上的链接中知道该 URL,因此它会尝试对其进行抓取和索引。但是,由于它被 robots.txt 阻止,因此不允许抓取该页面,因此它无法看到您登录页面上的 noindex 元标记。
由于它不知道它不应该将该页面编入索引,因此 Google 会将 URL 添加到它的索引中。然而,像这样的页面往往在 SERP 中只有标题和 URL,而且它们几乎总是没有描述/片段。有时 SERP 中的标题看起来像是他们已经抓取了页面,但他们实际上正在尝试根据指向它的链接的锚文本生成标题。
使页面不显示在 SERP 中的可靠方法是删除Disallow: /admin/
命令,并允许 Googlebot 抓取页面并查看 noindex、nofollow 元标记。
noindex 命令将从 SERP 中删除该页面,nofollow 将帮助通知 Googlebot 不要优先考虑它在您的登录页面上找到的链接(这将有助于保持您的抓取效率,但不能保证 Google 不会抓取它在页面上找到的链接)。