微信现已开放小程序内搜索,你的小程序页面将可能展示在微信搜索等多个公开场景中。当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。
若小程序中存在不适合展示信息如用户个人信息、商业秘密、成人相关等内容,不想被微信索引到。可以通过以下方式关闭页面收录。
有三种方式可以关掉页面收录
- 1.小程序 sitemap.json 配置
- 2.管理后台 “页面收录设置” 来配置其小程序页面是否允许微信索引
- 3.小程序页面采取设置登录态
小程序 sitemap.json 配置
小程序根目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象,如果没有 sitemap.json ,则默认为所有页面都允许被索引;sitemap.json 有以下属性:
{
"rules": [
{
"action": "allow", // 是否能被索引 allow,disallow 默认allow
"page": "path/to/page", //页面的路径,* 表示所有页面,
"params": ["a", "b"], //被本规则匹配时可能使用的页面参数名称的列表
"matching": "exact" // 页面在被本规则匹配时,此参数说明 params 匹配方式
"priority": number // 非必填,优先级,值越大则规则越早被匹配
}
]
}
//matching 取值说明
exact 当小程序页面的参数列表等于 params 时,规则命中
inclusive 当小程序页面的参数列表包含 params 时,规则命中
exclusive 当小程序页面的参数列表与 params 交集为空时,规则命中
partial 当小程序页面的参数列表与 params 交集不为空时,规则命中
示例1
{
"rules": [
{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "exact"
},
{
"action": "disallow",
"page": "path/to/page"
}
]
}
path/to/page?a=1&b=2 => 优先索引
path/to/page => 不被索引
path/to/page?a=1 => 不被索引
path/to/page?a=1&b=2&c=3 => 不被索引
其他页面都会被索引
示例2
{
"rules": [
{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "inclusive"
},
{
"action": "disallow",
"page": "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 => 不被索引
其他页面都会被索引
示例3
{
"rules": [
{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "exclusive"
},
{
"action": "disallow",
"page": "path/to/page"
}
]
}
path/to/page => 优先索引
path/to/page?c=3 => 优先索引
path/to/page?a=1 => 不被索引
path/to/page?a=1&b=2 => 不被索引
其他页面都会被索引
示例4
{
"rules": [
{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "partial"
},
{
"action": "disallow",
"page": "path/to/page"
}
]
}
path/to/page?a=1 => 优先索引
path/to/page?a=1&b=2 => 优先索引
path/to/page => 不被索引
path/to/page?c=3 => 不被索引
其他页面都会被索引
没有 sitemap.json 则默认所有页面都能被索引
页面收录设置
登录小程序微信公众平台,设置下的页面收录设置
此设置默认开启,除非开发者主动关闭或调整,否则将会持续处于“开启”状态。
小程序页面采取设置登录态
爬虫访问小程序内页面时,会携带特定的 user-agent:mpcrawler
及场景值1129
onLoad(options) {
// 获取场景值
var scence = options.scene
if (scence == 1129) {
wx.redirectTo({
url: '/pages/login/login'
})
}
}