Closed. This question is off-topic。它当前不接受答案。












想改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic

已关闭8年。



Improve this question




我有一个提供动态内容的页面
/for-sale

该页面应始终至少包含一个参数
/for-sale?id=1

我想禁止
/for-sale

但允许
/for-sale?id=*

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

这可能吗?

最佳答案

您想要的东西无法使用robots.txt起作用:

  • 尽管M. Koster编写的RFC提出了建议,但机器人排除标准中没有Allow:这样的东西(有些爬虫似乎支持它)。
  • 不支持查询字符串或通配符,因此禁用“裸”版本将禁用所有内容。当然不是您想要的。
  • robots.txt中的任何内容都是完全可选的,仅是提示。不需要任何机器人来完全请求该文件或尊重您所说的任何内容。
  • 您几乎可以肯定会找到一个或多个以上所有或全部错误的Web爬网程序,并且您无法知道。

  • 要解决实际问题,可以将重写规则放入Apache配置文件中。有现成的代码可用于将带有查询字符串的URL转换为普通URL(快速Web搜索中的example)。

    (或者,您可以只保留id查询字符串。一个占您流量85%的搜索引擎就可以正常饮食,而另外两个占Google流量的90%也可以。
    因此,您的担心实际上只是关于没人使用的搜索引擎以及垃圾邮件收集器。)

    关于linux - robots.txt-不允许没有查询字符串的页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13568970/

    10-13 03:39