禁止Google使用robots.txt将包含“%2C”(逗号)的链接编入索引

时间:2012-09-06 10:27:32

标签: html http web-crawler robots.txt

任何人都可以帮我添加一个disallow规则到我的robots.txt文件中,该规则会停止抓取工具索引包含%2C的任何链接,该链接是逗号(,{)的HTML URL encoding

我认为我正在寻找的是如果在robots.txt文件中存在外卡字符。

到目前为止,我有这个:

Disallow: %2C

但似乎无法看到它正常工作。

有什么建议吗? 干杯

1 个答案:

答案 0 :(得分:3)

针对搜索引擎测试robots.txt时,最好的方法是利用他们为您提供的工具。 Google Webmaster Tools在“运行状况>已阻止的网址”下有一个robots.txt测试工具。如果你使用

User-agent: *
Disallow: *,*

这将阻止对http://example.com/url%2Cpath/的任何请求。我尝试了Disallow: *%2C*,但显然这并不会阻止Googlebot抓取HTML转义路径。我的猜测是Googlebot在排队过程中对其进行编码。

至于bing,他们显然删除了他们的robots.txt验证工具。因此,测试它的唯一可靠方法是在测试站点上部署robots.txt,并使用Bing网站管理员工具获取带有“,”的页面。它会在那时告诉你它是否被robots.txt阻止。

请记住,在使用robots.txt时,这不会阻止搜索引擎在搜索结果中显示网址。它只是阻止他们抓取URL。如果您只是不希望在搜索结果中使用这些类型的网址,但不介意他们抓取网页(意味着您无法使用robots.txt屏蔽这些网址),则可以添加元标记或x-robots http标头中的-tag,其值为NOINDEX,以防止将其添加到搜索结果中。

关于使用“nofollow”标准的其他评论之一。 Nofollow实际上并不阻止搜索引擎抓取这些网址。它被认为是一种拒绝任何认可该目的地链接的方式。 Google和Bing建议使用nofollow来表示赞助商链接或不受信任的UGC链接。