【愚公系列】2022年02月 微信小程序-sitemap站内搜索

举报
愚公搬代码 发表于 2022/02/25 10:23:29 2022/02/25
【摘要】 前言 1.sitemap.json介绍开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。 2.小程序爬虫特征当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。爬虫访问小程序内页面时,会携带特定的 user-agent:mpcrawler 及场景...

前言

1.sitemap.json介绍

开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。

2.小程序爬虫特征

当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。爬虫访问小程序内页面时,会携带特定的 user-agent:mpcrawler 及场景值:1129

一、sitemap 配置

小程序根目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象,如果没有 sitemap.json ,则默认为所有页面都允许被索引;sitemap.json 有以下属性:

1.rules配置项

属性 类型 必填 描述
rules Object[] 索引规则列表

1.1 rules

属性 类型 必填 默认值 取值 取值说明
action string “allow” “allow”、“disallow” 命中该规则的页面是否能被索引
page string “*”、页面的路径 * 表示所有页面,不能作为通配符使用
params string[] [] 当 page 字段指定的页面在被本规则匹配时可能使用的页面参数名称的列表(不含参数值)
matching string “inclusive” 参考 matching 取值说明 当 page 字段指定的页面在被本规则匹配时,此参数说明 params 匹配方式
priority Number 优先级,值越大则规则越早被匹配,否则默认从上到下匹配

1.1.1 matching

说明
exact 当小程序页面的参数列表等于 params 时,规则命中
inclusive 当小程序页面的参数列表包含 params 时,规则命中
exclusive 当小程序页面的参数列表与 params 交集为空时,规则命中
partial 当小程序页面的参数列表与 params 交集不为空时,规则命中

二、配置示例

{
  "rules":[{                   #索引规则列表,rules 配置项指定了索引规则,每项规则为一个JSON对象
    "action": "allow",         #是否允许被索引,参数:allow(允许)/disallow(不允许)
    "page": "path/to/page",    #页面路径
    "params": ["a", "b"],      #路径的参数是a,b
    "matching": "exact"        #等于关系,只有是a,b两个参数的时候才允许索引
                               #(a)不可以,(b)不可以,(a,b)可以,(a,b,c)不可以
                               #path/to/page?a=1&b=2 => 优先索引
   							   # path/to/page?a=1 => 不被索引
  }, {
    "action": "disallow",       #不允许被索引
    "page": "path/to/page",     #这个路径的页面不允许被索引
    "priority":"3"              #优先级,数值越大,越优先,否则默认从
  },{
    "action": "allow",         #允许索引
    "page": "path/to/page",    #索引的路径页面
    "params": ["a", "b"],      #索引的路径参数
    "matching": "inclusive"    #包含关系,只要路径参数包含a,b就可以 
                               #(a)不可以,(a,b)可以,(a,b,c)可恶意
  }{
    "action": "allow",
    "page": "path/to/page",
    "params": ["a", "b"],
    "matching": "exclusive"   #交集为空时允许索引
                              #(无参数)可以,(a)不可以,(a,b)不可以,(a,b,c)不可以,(c)可以
  }, {
    "action": "allow",
    "page": "path/to/page",
    "params": ["a", "b"],
    "matching": "partial"    #只要有个参数符合就可以
                             #(a)可以,(b)可以,(a,b,c)可以
  }
  ]
}

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。