2008-09-04 39 views
18

假设我有一个网站http://example.com。我真的想让机器人看到主页,但任何其他页面都需要封锁,因为它对蜘蛛毫无意义。换句话说如何设置一个只允许网站默认页面的robot.txt

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

而且这将是巨大的,如果我可以允许某些查询字符串直通到主页: http://example.com?okparam=true

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

回答

43

因此,一些研究之后,这里是我发现 - 一个解决方案通过各大搜索服务提供商可以接受的:

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

诀窍是使用:googleyahoo & MSN(我可以在这里找到一个校验) $标记URL的结尾。

0

基本的robots.txt:

Disallow: /subdir/ 

我不要以为你可以创建一个表达式,说'除了根之外的一切',你必须填写所有的子目录。

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

0
Disallow: * 
Allow: index.ext 

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

1

Google's Webmaster Tools报告禁止始终优先于允许,所以在robots.txt文件中没有简单的方法。

您可以通过在HTML页面上放置一个noindex,nofollowMETA标签来实现此目的。

0

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

相关问题