在我的网站上,我有一个购物车页面,即:http://www.example.com/cart
,另一个用于动画片:http://www.example.com/cartoons
。我应该如何在robots.txt文件上书写以仅忽略购物车页面?
购物车页面不接受网址上的结尾斜杠,所以如果我这样做:
Disallow: /cart
,它也会忽略/cartoon
。
我不知道它是否可能,它会被像/cart$
这样的蜘蛛机器人正确解析。我不想强制Allow: /cartoon
因为可能是具有相同前缀的其他页面。
答案 0 :(得分:1)
在original robots.txt
specification中,这是不可能的。它既不支持Allow
,也不支持Disallow
值内具有特殊含义的任何字符。
但是一些消费者支持更多的东西。例如,Google gives a special meaning to the $
sign,它表示URL路径的结尾:
Disallow: /cart$
对于Google,这将阻止/cart
,但不阻止/cartoon
。
不具备此特殊含义的消费者will interpret $
literally,因此他们会屏蔽/cart$
,但不会屏蔽/cart
或/cartoon
。
因此,如果使用此功能,则应在User-agent
中指定机器人。
也许你对抓取很好但只是想阻止索引?在这种情况下,您可以使用meta
- robots
(noindex
值)代替robots.txt
。支持机器人仍会抓取/cart
页面(并关注链接,除非您还使用nofollow
),但他们不会将其编入索引。
<!-- in the <head> of the /cart page -->
<meta name="robots" content="noindex" />
答案 1 :(得分:0)
您可以明确允许和禁止这两个路径。如果长度较长,更具体的路径将采用更高的先例:
disallow: /cart
allow: /cartoon
有关详细信息,请访问:https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt