2010-09-20 45 views
1

我使用wordpress的自定义永久链接,我想禁止我的帖子,但离开我的类别页访问蜘蛛。以下是该网址是什么样子的一些例子:正则表达式for robots.txt - 不允许在目录内的东西,但不允许目录本身

分类页: somesite点com/2010 /分类名/

帖子: somesite点com/2010 /分类名/产品 - 名称/

所以,我很好奇,如果有某种类型的正则表达式的解决方案在/分类名/同时禁止任何更深一层允许离开页面(第二个例子)。

任何想法?谢谢! :)

回答

0

有些信息可能有帮助。

robots.txt协议没有官方标准组织或RFC。它是1994年6月由机器人邮件列表成员([email protected])以协商一致方式创建的。指定不应被访问的部分的信息在网站的顶级目录中的名为robots.txt的文件中指定。 robots.txt模式通过简单的子字符串比较进行匹配,因此应该注意确保匹配目录的模式具有最后的'/'字符,否则所有名称以该子字符串开头的文件将匹配,而不仅仅是那些目录。

没有100%确定的方式排除您的网页被发现,除了不发布它们当然。

请参见: http://www.robotstxt.org/robotstxt.html

没有在共识允许。再加上Regex选项也不在共识中。

从机器人共识:

这是目前有点尴尬,因为没有“允许”字段。最简单的办法就是把被禁止到一个单独的目录下的所有文件,说“东西”,并留下了一个文件,在这个目录之上的水位:

User-agent: * 
Disallow: /~joe/stuff/ 

或者你可以明确地禁止所有禁止的网页:

User-agent: * 
Disallow: /~joe/junk.html 
Disallow: /~joe/foo.html 
Disallow: /~joe/bar.html 

一个可能的解决方案

使用的.htaccess设置从一个特定的文件夹禁止搜索机器人,同时阻止坏的机器人。

参见:http://www.askapache.com/htaccess/setenvif.html

0

下面是否会有诀窍?

User-agent: * 
Disallow: /2010/category-name/*/ 

您可能需要明确允许/2010/category-name在特定的文件夹:

User-agent: * 
Disallow: /2010/category-name/ 
Allow: /2010/category-name/product-name-1/ 
Allow: /2010/category-name/product-name-2/ 

但根据this articleAllow场不在标准范围内,所以有些爬虫可能不支持它。

编辑: 我刚刚发现在每个页面内使用另一个资源。 This page解释说得好:

的基本思路是,如果包括 类似这样的标记:

<META NAME="ROBOTS" CONTENT="NOINDEX"> 
HTML文档中

,该文件 不会被索引。

如果你这样做:

<META NAME="ROBOTS" CONTENT="NOFOLLOW"> 

该文件中的链接不会被 机器人解析。

+0

这就是我有点疑惑...将*需要在接下来的目录一步东西,不符合目录本身(/分类名被允许/在该例子吗? )对不起,我完全陌生! – Jeff 2010-09-20 01:13:43

+0

请参阅关于使用''的修订答案。 – 2010-09-20 01:25:53

+0

我在想第一个解决方案可能会起作用,因为我不需要允许给定目录中的任何东西,我只是想确保目录本身是可达的(它应该是,对吧?如果我是正确的,只有在类别名称之后有实际的东西时,/ * /才会匹配?)机器人元标记唯一的问题是我有几千个帖子,部署将是一个真正的项目。 – Jeff 2010-09-20 01:50:45