如何设置一个只允许站点默认页面的robot.txt

时间:2008-09-04 09:51:51

标签: web-crawler bots robots.txt googlebot slurp

说我在http://example.com上有一个网站。我真的很想让机器人看到主页,但是任何其他页面都需要被阻止,因为它对蜘蛛来说毫无意义。换句话说

http://example.com&应该允许http://example.com/,但是 应该阻止http://example.com/anythinghttp://example.com/someendpoint.aspx

此外,如果我可以允许某些查询字符串直接进入主页,那将是很棒的: http://example.com?okparam=true

但不是 http://example.com?anythingbutokparam=true

5 个答案:

答案 0 :(得分:49)

经过一些研究后,我发现了这一点 - 主要搜索服务提供商可以接受的解决方案:googleyahoo& msn(我可以在这里找到验证器):

User-Agent: *
Disallow: /*
Allow: /?okparam=
Allow: /$

诀窍是使用$来标记URL的结尾。

答案 1 :(得分:1)

Google's Webmaster Tools报告disallow总是优先于allow,所以在robots.txt文件中没有简单的方法。

您可以通过在每个页面的HTML中添加noindex,nofollow META标记来完成此操作。

答案 2 :(得分:0)

基本robots.txt:

Disallow: /subdir/

我认为你不能创建一个表达'除了根之外的所有东西'的表达式,你必须填写所有子目录。

robots.txt也无法使用查询字符串限制。您必须在后台代码(处理部分)中执行此操作,或者使用服务器重写规则。

答案 3 :(得分:0)

Disallow: *
Allow: index.ext

如果我没记错的话,第二个句子应该覆盖第一个。

答案 4 :(得分:0)

据我所知,并非所有抓取工具都支持Allow标记。一种可能的解决方案可能是将除主页之外的所有内容放入另一个文件夹并禁止该文件夹。