我试图阻止谷歌,雅虎等人点击我/产品/ ID /购买页面,我不确定如何做到这一点。
我目前阻止他们使用以下内容登录:
User-agent: *
Disallow: /sign_in
我可以执行以下操作吗?
User-agent: *
Disallow: /products/*/purchase
或者它应该是:
User-agent: *
Disallow: /purchase
答案 0 :(得分:2)
我假设您要阻止/products/ID/purchase
,但允许/products/ID
。
您的上一个建议只会阻止以“购买”开头的网页:
User-agent: *
Disallow: /purchase
所以这不是你想要的。
你需要第二个建议:
User-agent: *
Disallow: /products/*/purchase
这会阻止以/products/
开头的所有网址,后跟任何字符,后跟/purchase
。
注意:它使用通配符*
。在原始的robots.txt“规范”中,这不是具有特殊含义的字符。但是,一些搜索引擎扩展了规范并将其用作一种通配符。所以它should work for Google以及可能还有其他一些搜索引擎,但你不能打赌它可以与所有其他爬虫/机器人一起使用。
所以你的robots.txt看起来像是:
User-agent: *
Disallow: /sign_in
Disallow: /products/*/purchase
另请注意,某些搜索引擎(包括Google)可能仍在其搜索结果中列出了一个网址(没有标题/摘要),尽管它在robots.txt中被屏蔽了。当他们在允许抓取的页面上找到指向被阻止页面的链接时,可能就是这种情况。为防止这种情况发生,您必须noindex
该文档。
答案 1 :(得分:0)
According to Google Disallow: /products/*/purchase
应该有效。
但是according to robotstxt.org这不起作用。