Robots.txt 禁用异常查询参数扫描
Robots.txt disable query parameters scanning with exceptions
我正在实施一些 SEO 更改,包括 robots.txt 更改,我正在解决这个问题。
我需要禁用(或者准确地说不允许)每个包含一些查询 URL 参数的 URL (?xy=...)
所以我添加了这条规则
Disallow: /*?*
不过有个小问题。我需要允许特定子 URL 的特定查询参数。
所以假设我需要允许 /picture?path=XY。这个 应该被允许 但是例如 /picture-other?path=XY not 所以 /picture?other_param=XY(/picture 没问题,但没有 just param named path)
是否可以在 robots.txt 中执行此操作?
编辑:
(可能添加了更明确的说明)
禁用所有 URLS 包含查询参数(如 /x?param=1) 但 允许 [=55= 上的查询参数路径]/图片。
所以只有一个允许 URL 与查询参数将是 /picture?path=XY 没有其他 URLs 包含查询参数将被允许用于 robots
例子
允许
/picture?path=XY
/literally/any/route/without/query/param/you/can/imagine
/home
/
现在允许
/picture?param=1
literally/any/route/with/query/param/you/can/imagine?param=1
/some/other/url?query=5¶m=1
/some/other/route/with/path/param?path=XY
不允许的路径 您提供:
/picture?param=1
literally/any/route/with/query/param/you/can/imagine?param=1
/some/other/url?query=5¶m=1
/some/other/route/with/path/param?path=XY
机器人:
Allow: /*
Disallow: /picture?param=*$
Disallow: *param?*
Disallow: *param=*
大多数(如果不是全部)搜索引擎支持正则表达式:
*
- 通配符
$
- URL 的结尾(字符串)
因此,如果您想禁止所有包含 param
的网址,只需将其包裹 *
。
更新:
Allow: /picture?*
Disallow: *?*=*
Disallow: *?*=*&*=*
Disallow: *?*=*=*
将阻止:
http://my-domain.com/test?xwadwa=1
http://my-domain.com/dwa?query=1
http://my-domain.com/test?dwadwa=1
http://my-domain.com/test?dwadwa=1&zxxxa=1
http://my-domain.com/test/dwa/dwa/dwa/dwa/dwa/dwa?xxxx=1
但会允许:
http://my-domain.com/picture?everything_after_this_point
http://my-domain.com/picture?everything_after_this_point&query=32131
http://my-domain.com/
http://my-domain.com/test/
http://my-domain.com/test/test/
http://my-domain.com/test/test/test/
http://my-domain.com/test/test/test/test
我正在实施一些 SEO 更改,包括 robots.txt 更改,我正在解决这个问题。
我需要禁用(或者准确地说不允许)每个包含一些查询 URL 参数的 URL (?xy=...) 所以我添加了这条规则
Disallow: /*?*
不过有个小问题。我需要允许特定子 URL 的特定查询参数。 所以假设我需要允许 /picture?path=XY。这个 应该被允许 但是例如 /picture-other?path=XY not 所以 /picture?other_param=XY(/picture 没问题,但没有 just param named path)
是否可以在 robots.txt 中执行此操作?
编辑: (可能添加了更明确的说明)
禁用所有 URLS 包含查询参数(如 /x?param=1) 但 允许 [=55= 上的查询参数路径]/图片。 所以只有一个允许 URL 与查询参数将是 /picture?path=XY 没有其他 URLs 包含查询参数将被允许用于 robots
例子
允许
/picture?path=XY
/literally/any/route/without/query/param/you/can/imagine
/home
/
现在允许
/picture?param=1
literally/any/route/with/query/param/you/can/imagine?param=1
/some/other/url?query=5¶m=1
/some/other/route/with/path/param?path=XY
不允许的路径 您提供:
/picture?param=1
literally/any/route/with/query/param/you/can/imagine?param=1
/some/other/url?query=5¶m=1
/some/other/route/with/path/param?path=XY
机器人:
Allow: /*
Disallow: /picture?param=*$
Disallow: *param?*
Disallow: *param=*
大多数(如果不是全部)搜索引擎支持正则表达式:
*
- 通配符
$
- URL 的结尾(字符串)
因此,如果您想禁止所有包含 param
的网址,只需将其包裹 *
。
更新:
Allow: /picture?*
Disallow: *?*=*
Disallow: *?*=*&*=*
Disallow: *?*=*=*
将阻止:
http://my-domain.com/test?xwadwa=1
http://my-domain.com/dwa?query=1
http://my-domain.com/test?dwadwa=1
http://my-domain.com/test?dwadwa=1&zxxxa=1
http://my-domain.com/test/dwa/dwa/dwa/dwa/dwa/dwa?xxxx=1
但会允许:
http://my-domain.com/picture?everything_after_this_point
http://my-domain.com/picture?everything_after_this_point&query=32131
http://my-domain.com/
http://my-domain.com/test/
http://my-domain.com/test/test/
http://my-domain.com/test/test/test/
http://my-domain.com/test/test/test/test