忽略robot.txt中带有特定参数的网址吗?


Answers:


133

如果您要禁止查询字符串,请使用以下解决方案:

Disallow: /*?*

或者,如果您想更精确地查询字符串:

Disallow: /*?dir=*&order=*&p=*

您还可以将以下网址添加到robots.txt:

Allow: /new-printer$

$将确保只/new-printer将被允许。

更多信息:

http://code.google.com/web/controlcrawlindex/docs/robots_txt.html

http://sanzon.wordpress.com/2008/04/29/advanced-usage-of-robotstxt-w-querystrings/


这将禁止新打印机,我只想打乱querystring部分
Luis Valencia

所以你想允许/new-printer但不允许/new-printers?dir=*&order=*&p=*?吗?
宙斯书

1
这些高级通配符和allow指令是否受到良好支持?
Tony McCreath 2013年

9
根据robotstxt.org/robotstxt.html- “没有“允许”字段”
Jamie Edwards

再以新打印机为例,如果该文件上的参数组合和顺序不同,该怎么办。您可以在单个查询中指定是否在不显式指定的情况下将特定类型的文件添加到特定文件中吗?会...不允许:/ new-printer?*有效吗?
AdamJones 2014年

28

您可以使用以下几行来阻止这些特定的查询字符串参数

Disallow: /*?*dir=
Disallow: /*?*order=
Disallow: /*?*p=

因此,如果任何URL包含dir=order=或查询字符串中的p= 任意位置,它将被阻止。


这是否意味着只要满足上述条件,就不会对整个页面进行爬网。
PPB

1
请注意:这也将阻止它部分匹配表达式参数,这样不仅example.com?p=test而且example.com?top=test
rob006

如果您想忽略这些参数而无论它们在URL中的位置(第一个位置还是下一个位置),都可以尝试: Disallow: /*?dir=* Disallow: /*?order=* Disallow: /*?p=* Disallow: /*&dir=* Disallow: /*&order=* Disallow: /*&p=*
lboix

3

使用Google WebMaster工具注册您的网站。您可以在其中告诉Google如何处理您的参数。

站点配置-> URL参数

您应该让包含这些参数的页面表明应该通过漫游器元标记将它们排除在索引之外。例如


2
尽管最初的问题特别提到了Google,但需要注意的是Google WebMaster Tools仅会阻止Google。在robots.txt文件中添加“禁止”规则也可以解决其他搜索引擎问题。
Matt V.

1
真正。还需要说明的是,robots.txt不会停止Google将页面编入索引,而是停止读取其内容。最好的解决方案是使用页面本身上的robots meta标签。所有系统都支持此功能。
Tony McCreath 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.