Robot.txt阻止页面参数高于10的网址

时间:2015-09-09 19:23:38

标签: robots.txt

我已经检查了类似的问题,但我不认为这个具体的案例已被提出并已经回答。

我想阻止页面参数高于10的所有网址(我可能选择的值低于10)。

Disallow: /events/world-wide/all-event-types/all?page=11
Allow : /events/world-wide/all-event-types/all?page=3

我有很多类似的URL,其他"参数"可以改变一些近150页的列表。

Disallow: /events/germany/triathlon/all?page=13
Allow : /events/germany/triathlon/all?page=4

如何在不列出所有网址的情况下完成此操作(这基本上是不可能的)

请让我再次强调一下,页面参数在这里很重要。

我可能会做这样的事情:

Disallow: *?page=
Allow: *?page=(1-10)

这里有什么正确的方法?

2 个答案:

答案 0 :(得分:2)

robots.txt" regEx"语法相当有限,所以不幸的是它会导致不必要的大型robots.txt文件。虽然其他答案解决了主要用例,但您可能还需要考虑添加一些变体来解决其他参数的混乱问题。

Disallow: *?page=
Disallow: *&page=
Allow: *?page=1$
Allow: *?page=2$
Allow: *?page=3$
...
Allow: *?page=1&
Allow: *?page=2&
Allow: *?page=3&
...
Allow: *&page=1&
Allow: *&page=2&
Allow: *&page=3&
....

答案 1 :(得分:0)

您可以这样使用:

 Allow: /*?page=1
 Allow: /*?page=2
 Allow: /*?page=3
 Allow: /*?page=4
 Allow: /*?page=5
 Allow: /*?page=6
 Allow: /*?page=7
 Allow: /*?page=8
 Allow: /*?page=9
 Allow: /*?page=10
 Disallow: /*?page=1*
 Disallow: /*?page=2*
 Disallow: /*?page=3*
 Disallow: /*?page=4*
 Disallow: /*?page=5*
 Disallow: /*?page=6*
 Disallow: /*?page=7*
 Disallow: /*?page=8*
 Disallow: /*?page=9*

所以我们允许1到10页 不允许页面高于10。

您可以阅读google docs there