Robot.txt阻止页面参数大于10的url



我已经检查了类似的问题,但我认为这个具体的案例还没有被问到和回答。

我想阻止所有页面参数大于10的url(我可能会选择一个小于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

如果不列出所有的url(这基本上是不可能的),我怎么能做到这一点呢

请让我在这里再次强调page参数在这里是很重要的。

我可以这样做:

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

正确的方法是什么?

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&
....

您可以这样使用:

 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的页面

你可以在那里阅读谷歌文档

感谢@Bazzilio的努力,但是我们程序员都很懒,尽量避免写代码。我现在能想到的最好的方法是下面的

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

但是没有一种方法可以组合Allow语句吗?

最新更新