我能使用robots.txt文件来阻止特定的URL参数吗?

6
在你告诉我“你都尝试过什么”和“请自己测试”的之前,我想指出来的是,对于搜索引擎上的任何网站而言,robots.txt更新得非常慢,所以如果您可以提供理论经验,那将不胜感激。
例如,是否可能允许以下内容:
http://www.example.com

并且区块:

http://www.example.com/?foo=foo

我不是很确定。 需要帮忙吗?

1
你可以尝试使用机器人模拟器,但在 robots.txt 中使用 deny 并不意味着所有机器人都会遵循它! - CSᵠ
1个回答

7
根据维基百科的说法,“robots.txt模式是通过简单的子字符串比较进行匹配”的,由于GET字符串是一个URL,因此您应该只需添加:
Disallow: /?foo=foo

或者更加花哨的东西,比如
Disallow: /*?* 

禁用所有的GET字符串。星号是通配符,因此可以匹配任何一个或多个字符。

带有动态URL的robots.txt示例。


只是想知道,是否有可能阻止所有带有?foo=foo的URL,而不仅仅是基本目录? - Lucas
如果您删除正斜杠,它将在URL的任何位置匹配字符串。 - Sean Dawson
1
请注意,* 通配符不是原始 robots.txt 规范的一部分。 - unor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接