微信现已开放小程序内搜索,开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。
当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。
sitemap 配置
小程序根目录下的 sitemap.json 文件用来配置小程序及其页面是否允许被微信索引。
//1.所有页面都会被微信索引(默认情况)
{
"rules":[{
"action": "allow",
"page": "*"
}]
}
//2.配置 path/to/page 页面不被索引,其余页面允许被索引
{
"rules":[{
"action": "disallow",
"page": "path/to/page"
}]
}
//3.配置 path/to/page 页面被索引,其余页面不被索引
{
"rules":[{
"action": "allow",
"page": "path/to/page"
}, {
"action": "disallow",
"page": "*"
}]
}
//4.包含 a 和 b 参数的 path/to/page 页面会被微信优先索引,其他页面都会被索引,例如:
//path/to/page?a=1&b=2 => 优先被索引
//path/to/page?a=1&b=2&c=3 => 优先被索引
//path/to/page => 被索引
//path/to/page?a=1 => 被索引
//其他页面都会被索引
{
"rules":[{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "inclusive"
}, {
"action": "allow",
"page": "*"
}]
}
//5.
//path/to/page?a=1&b=2 => 优先被索引
//path/to/page?a=1&b=2&c=3 => 优先被索引
//path/to/page => 不被索引
//path/to/page?a=1 => 不被索引
//其他页面由于命中第二条规则,所以不会被索引
//由于优先级的问题,第三条规则是没有意义的
{
"rules":[{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "inclusive"
}, {
"action": "disallow",
"page": "*"
}, {
"action": "allow",
"page": "*"
}]
}
注意
1.没有 sitemap.json 则默认所有页面都能被索引
2.{“action”: “allow”, “page”: “*”} 是优先级最低的默认规则,未显式指明 “disallow” 的都默认被索引
3.sitemap 的索引提示是默认开启的,如需要关闭 sitemap 的索引提示,可在小程序项目配置文件 project.config.json 的 setting 中配置字段 checkSiteMap 为 false
4.sitemap 文件内容最大为 5120 个 UTF8 字符