4

如何告诉爬虫/机器人不要索引任何具有 /node/ 模式的 URL?以下是从第一天开始,但我注意到 Google 仍然索引了很多包含 /node/ 的 URL,例如 www.mywebsite.com/node/123/32

禁止:/node/

是否有任何声明不索引任何具有 /node/ 的 URL 我应该写如下内容: Disallow: /node/*

更新:真正的问题是:Disallow: /node/ in robots.txt,谷歌已在此 URL 下索引页面,例如 www.mywebsite.com/node/123/32

/node/ 不是物理目录,这就是 drupal 6 显示它的内容的方式,我想这是我的问题,节点不是目录,只是 drupal 为内容生成的部分 URL,我该如何处理?这行得通吗?

禁止:/*节点

谢谢

4

3 回答 3

7

Disallow: /node//node/将禁止任何以(在主机之后)开头的网址。星号不是必需的。

所以它会阻止 www.mysite.com/node/bar.html,但不会阻止 www.mysite.com/foo/node/bar.html。

如果你想阻止任何包含 的东西/node/,你必须写Disallow: */node/

另请注意,Googlebot 最多可以将 robots.txt 缓存 7 天。因此,如果您今天对 robots.txt 进行更改,Googlebot 可能需要一周时间才能更新您的 robots.txt 副本。在此期间,它将使用其缓存副本。

于 2012-04-13T15:48:27.827 回答
0

你原来的 Disallow 很好。Jim Mischel 的评论似乎恰到好处,这让我想知道 Googlebot 是否需要时间来获取更新的 robots.txt,然后取消对相关页面的索引。

一些额外的想法:

即使您已将其包含在 robots.txt 中,您的网页网址也可能会出现在 Google 搜索结果中。请参阅: http: //support.google.com/webmasters/bin/answer.py ?hl=en&answer=156449 (“...虽然 Google 不会抓取或索引被 robots.txt 阻止的网页的内容,但我们可能会如果我们在网络上的其他页面上找到这些 URL,仍然会将它们编入索引。”)。对许多人来说,这是违反直觉的。

其次,我强烈建议您在 Google 网站管理员工具 ( https://www.google.com/webmasters/tools/home?hl=en ) 中验证您网站的所有权,然后使用 Health->“Fetch as Google”等工具" 查看与检索您的页面相关的实时诊断信息。(该结果是否表明 robots.txt 阻止了抓取?)

我没用过,但 Bing 有一个类似的工具: http: //www.bing.com/webmaster/help/fetch-as-bingbot-fe18fa0d。使用 Google、Bing 等提供的诊断工具对站点进行实时诊断似乎很值得。

这个问题有点老了,所以我希望你已经解决了原来的问题。

于 2013-02-01T21:15:50.823 回答
0

Disallow: /node/*正是您想要做的。搜索引擎在 robots.txt 表示法中支持通配符,* 字符表示“任何字符”。有关更多信息,请参阅Google 关于 robots.txt 的说明

更新

确保搜索引擎远离目录及其下方所有目录的另一种方法是使用 robots HTTP 标头阻止它们。这可以通过将以下内容放在node目录中的 htaccess 文件中来完成:

Header set x-robots-tag: noindex
于 2012-04-13T11:44:40.737 回答