微信搜一搜

内容接入

内容接入是面向有优质内容的小程序提供一种接入微信搜索的能力。小程序可以通过该功能推送优质内容的页面路径、参数和结构化数据等信息,让微信搜索可以更及时地收录到小程序内容,推送的内容将会被用于微信搜索结果展示。

一、功能介绍

当用户搜索到接入的内容后,点击会跳转到开发者的小程序页面。同时开发者可以针对微信内用户的搜索需求做定向优化,从而带来更多流量的增长。

1. 内容接入目前支持的页面类型有:

1)图文页 :适用于所有内容,尤其是文本类内容。开放接入;

2)问答页 :适用于所有问答类内容,会被当做问答结果召回。开放接入;

3)精选页 :适用于页面有导航的优质内容,该页面如果排序在首位,会富展现。目前处于测试期,限制开放;

2. 页面展现形式如下:

页面类型展示.png

3. 开发者接入流程如下:

  • 开发者需在小程序后台开通“内容接入”功能,并且声明类目信息。具体操作可以参见 【MP后台操作流程】;

  • 开发者需按照要求的内容接入方式推送内容到微信搜索,并且定期更新内容。具体操作可以参见 【内容接入方式】。

二、权限开通流程

内容接入权限需要使用小程序账号登录微信开放平台申请开通。

具体操作流程如下:

1. 开通内容接入功能

使用小程序账号登录微信开放平台,在左侧导航栏点击“微信搜一搜”,点击“内容接入”,进行“开通”。只有认证的小程序账号能够看到内容接入功能。 wxapages.entry.png

2. 声明内容接入的类目

请开发者谨慎选择,选择和自己内容相符的类目。类目信息一旦提交,不支持修改。支持一个月可以提交一次类目声明。 wxapages.category.png

3. 推送测试数据,用于系统调试和数据格式校验,不在搜索结果中展示

  1. 开发者需要根据内容接入方式(参见【内容接入方式】),推送测试数据,同时在内容接入的后台,点击测试数据的“提交审核”按钮; wxapages.submittest.png
  2. 搜一搜会针对推送的测试数据在7天内完成审核,并且给予反馈;
  3. 测试数据审核通过后,开发者可以往正式环境传数据。

4. 推送正式数据,审核通过可能在线上被搜索到

  1. 开发者需要继续推送正式数据,同时在内容接入的后台,点击正式数据的“提交审核”按钮; wxapages.submit.png
  2. 搜一搜会针对推送的正式数据在7天内完成审核,并且给予反馈;
  3. 数据审核通过后,推送的正式数据可能在线上被搜索到。

注意:

  • 内容上线后,需要保持定期更新,否则更新不及时会出现死链情况,影响前端用户体验。最终会影响开发者内容的排序结果。针对非时新性内容,需要保持至少一周一次的推送频率,需要更新新生产的内容同时需要删除已经不存在的内容; 针对时新性内容,根据需要的更新频率更新。

  • 内容更新后,一般会在隔天被同步进入索引。除去内容因为低质问题被过滤掉,内容在24小时内至少可以通过搜索标题出现。针对时新性内容,需要提前声明,有特殊的时新性队列可以实时建立索引,保证推送的内容可以更快被搜索到。

三、内容接入方式

1. 接口调用请求说明

HTTP请求方式:POST

https://api.weixin.qq.com/wxa/search/wxaapi_submitpages?access_token=TOKEN

2. 请求参数说明

  • 请求参数

    参数 类型 说明
    access_token string 小程序access_token。放在URL里。
    pages PageObject数组 请求提交的小程序页面信息数组,一次可提交多个页面的信息。放在POST body里。
  • PageObject结构说明

    参数 类型 说明
    path string 小程序页面路径
    query string 小程序页面请求参数
    data_list PageData数组 小程序页面的数据,一个页面可以同时提交多个结构化信息,用于不同业务

    注意:path+query标识唯一一个页面,微信侧会使用这个信息构造唯一id。

  • PageData结构说明

    参数 类型 说明
    @type string 数据结构类型,用于标识目标业务系统,必填
    其他 目标业务所需的结构化数据
    • @type="wxsearch_cpdata"时,对应的数据将发往搜一搜正式环境,并可能在搜索结果中展示。
    • @type="wxsearch_testcpdata"时,对应的数据将发往搜一搜测试环境,用于系统调试和数据格式校验,不在搜索结果中展示。
    • 发往搜一搜正式/测试环境的数据,所对应的数据结构,详见【搜一搜结构化数据】。

3. 返回参数说明

参数 类型 说明
errcode int32 错误码
errmsg string 错误信息

常见错误码:

errcode errmsg 说明
40211 invalid scope_data 数据结构校验失败,附带进一步错误字段
40212 invalid query 不合法query
40219 pages is empty pages参数为空
47001 data format error http请求包不是合法Json
47004 submit pages count more than each quota 每次提交的页面数超过1000(备注:每次提交页面数应小于或等于1000)
47006 submit pages count reach daily limit, please try tomorrow 当天提交页面数达到了配额上限,请明天再试
85091 search status was turned off 小程序的搜索开关被关闭。请访问设置页面打开开关再重试
85083 search status is banned 小程序的搜索功能被禁用

其他错误码可从全局错误码找到说明。

4. 搜一搜结构化数据

a. 图文页

字段 名称 数据类型 是否必填 字段说明及要求
update 更新字段 uint32 1-新增;3-删除
content_id 数据方自定义id string 数据方自定义id
page_type 页面类型 uint32 固定填2
category_id 内容类目 uint32 详见【内容类目定义】
h5_url H5链接 string 如果该页面有对应的H5链接,则填上
title 标题 string 建议长度:20个字符以内
subtitle 副标题 string数组 支持多个副标题
abstract 摘要 string数组 添加摘要有利于召回
referer HTTP Referer string 如果图片有防盗链逻辑,需要设置referer头,用于图片下载
cover_img 封面图 Object数组 用于展示,最多支持3个
- cover_img_url 封面图URL string URL,用于外显
- cover_img_size 封面图规格 uint32 用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见附录
mainbody 正文 string 正文,不可带有html标签
time_publish 发布时间 uint32 unix时间戳,单位秒
time_modify 更新时间 uint32 unix时间戳,单位秒
tag 关键词列表 string数组 文章的keyword,支持多个,样例见附录
searchword 搜索词列表 string数组 为搜索引擎提供的搜索词,样例见附录
pv 页面阅读数 uint32 近3个月的累计值
like 页面点赞数 uint32 近3个月的累计值
comment 页面评论数 uint32 近3个月的累计值
share 页面分享数 uint32 近3个月的累计值
extra_info 补充字段 Object 通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商

b. 问答页

字段 名称 数据类型 是否必填 字段说明及要求
update 更新字段 uint32 1-新增;3-删除
content_id 数据方自定义id string 数据方自定义id
page_type 页面类型 uint32 固定填4
category_id 内容类目 uint32 详见【内容类目定义】
h5_url H5链接 string 如果该页面有对应的H5链接,则填上
title 标题 string 建议长度:20个字符以内
subtitle 副标题 string数组 支持多个副标题,可以用于放置问题描述
abstract 摘要 string数组 添加摘要有利于召回
referer HTTP Referer string 如果图片有防盗链逻辑,需要设置referer头,用于图片下载
cover_img 封面图 Object数组 用于展示,最多支持3个
- cover_img_url 封面图URL string URL,用于外显
- cover_img_size 封面图规格 uint32 用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见附录
mainbody 正文 Object数组 问题的答案,支持多个。
- answer_content 答案内容 string 不可带有html标签
- answer_timestamp 回答时间 uint32 unx时间戳
- answer_like 答案点赞数 uint32
- answer_dislike 答案踩数 uint32
- answer_comment_cnt 答案评论数 uint32
- answer_ comment 答案评论内容 string数组
time_publish 发布时间 uint32 unix时间戳,单位秒
time_modify 更新时间 uint32 unix时间戳,单位秒
tag 关键词列表 string数组 文章的keyword,支持多个,样例见附录
searchword 搜索词列表 string数组 为搜索引擎提供的搜索词,样例见附录
pv 页面阅读数 uint32 近3个月的累计值
like 页面点赞数 uint32 近3个月的累计值
comment 页面评论数 uint32 近3个月的累计值
share 页面分享数 uint32 近3个月的累计值
related_question 相关问题 string数组 语义不相同,但有关联。如,“番茄炒蛋做法”“肉末茄子做法”
similar_question 相似问题 string数组 语义相同,一个问题的不同表述。如,“番茄炒蛋做法”“番茄炒蛋怎么做”
extra_info 补充字段 Object 通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商

c. 精选页(限制开放)

字段 名称 数据类型 是否必填 字段说明及要求
update 更新字段 uint32 1-新增;3-删除
content_id 数据方自定义id string 数据方自定义id
page_type 页面类型 uint32 固定填1
category_id 内容类目 uint32 详见【内容类目定义】
h5_url H5链接 string 如果该页面有对应的H5链接,则填上
title 标题 string 建议长度:20个字符以内
subtitle 副标题 string数组 支持多个副标题
abstract 摘要 string数组 添加摘要有利于召回
referer HTTP Referer string 如果图片有防盗链逻辑,需要设置referer头,用于图片下载
cover_img 封面图 Object数组 用于展示,最多支持3个
- cover_img_url 封面图URL string URL,用于外显
- cover_img_size 封面图规格 uint32 用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见附录
section 栏目 Object数组 页面的不同栏目,最多支持6个
- section_name 栏目名称 string 4-12个字符,尽量用中文
- section_url 栏目下级URL string 栏目跳转url(可为页面锚点)若主页面填写了weapp_url,此处URL必须为小程序格式的url,否则填写h5格式的url
mainbody 正文 string 正文,不可带有html标签
time_publish 发布时间 uint32 unix时间戳,单位秒
time_modify 更新时间 uint32 unix时间戳,单位秒
tag 关键词列表 string数组 文章的keyword,支持多个,样例见附录
searchword 搜索词列表 string数组 为搜索引擎提供的搜索词,样例见附录
pv 页面阅读数 uint32 近3个月的累计值
like 页面点赞数 uint32 近3个月的累计值
comment 页面评论数 uint32 近3个月的累计值
share 页面分享数 uint32 近3个月的累计值
extra_info 补充字段 Object 通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商

数据样例

{
 "pages": [
   {
     "path": "packages/pages/webview/test1",
     "query": "articleId=254276079",
     "data_list": [
       {
   	  "@type": "wxsearch_testcpdata"
         "category_id": 7,
         "page_type": 2,
         "h5_url": "",
         "weapp_url": "packages/pages/webview/test1?articleId=254276079",
   	  "others": "其他字段..."
       }
     ]
   },
   {
     "path": "packages/pages/webview/webview",
     "query": "articleId=123&videoId=1005",
     "data_list": [
       {
   	  "@type": "wxsearch_testcpdata"
   	  "category_id": 7,
         "page_type": 2,
         "h5_url": "",
         "weapp_url": "packages/pages/webview/webview?articleId=123&videoId=1005",
   	  "others": "其他字段..."
       }
     ]
   }
 ]
}

四、附录

1. 内容类目定义

类目编号 类目定义
1 综合
2 新闻
3 教育
4 娱乐
5 体育
6 汽车
7 旅游
8 IT科技
9 医疗
10 财经
11 时尚
12 美食
13 法律
14 文化
15 游戏
16 房产
17 母婴
18 商品
19 生活

2. 字段解释

1. cover_img_size规格说明(用于外显展示,需谨慎)

  1. 正方形小图(不低于125px*125px),即填写cover_img_size = 1;
  2. 长方形大图(不低于686px*288px),即填写cover_img_size = 2;
  3. 长方形三图(不低于224px*168px),即填写cover_img_size = 3。 示例如下: coverimgsize.png

2. author_portrait图片规格说明(用于外显展示):不低于36px*36px

3. tag:页面内容的核心关键词,例如: “番茄炒蛋的做法”-> tag=“番茄炒蛋” “微信公众号样式改版” -> tag=“微信公众号”

4. searchword:与页面主题匹配的典型query,例如: “番茄炒蛋的做法”-> searchword =“番茄炒蛋做法”“如何做番茄炒蛋” “粉饼和散粉的区别” -> searchword =“粉饼和散粉区别”