robots.txt - 禁止不使用查询字符串的页面

时间:2012-11-26 16:28:13

标签: linux seo lamp redhat robots.txt

我有一个提供动态内容的页面

/for-sale

页面应始终至少有一个参数

/for-sale?id=1

我想禁止

/for-sale 

但允许

/for-sale?id=* 

不影响机器人抓取网站的能力或对SERP产生负面影响的可能性。

这可能吗?

2 个答案:

答案 0 :(得分:3)

使用robots.txt

,您想要的功能无效
  1. 机器人排除标准中没有Allow:这样的东西,尽管M. Koster编写的RFC建议如此(某些爬虫似乎支持它)。
  2. 不支持查询字符串或通配符,因此不允许“裸”版本将禁止所有内容。肯定不是你想要的。
  3. robots.txt中的任何内容都是完全可选的,只是一个提示。根本不需要机器人来请求该文件或尊重您所说的任何内容。
  4. 您几乎肯定会找到一个或多个网络抓取工具,上面的任何一个或全部都是错误的,您无从知晓。
  5. 要解决实际问题,您可以将重写规则放入Apache配置文件中。有一个随时可用的代码可用于将带有查询字符串的URL转换为普通URL(example来自快速网络搜索)。

    (或者,您可以保留id查询字符串。构成85%流量的One Search Engine可以很好地使用它们,其他两个占据90%的流量不是谷歌也这样做 因此,您的恐惧实际上只涉及无人使用的搜索引擎,以及垃圾邮件收集者。)

答案 1 :(得分:0)

我认为这应该有用

Disallow: /for-sale    
Allow: /for-sale?id=*&*
Allow: /for-sale?id=*