微信搜一搜“内容接入”搜索合作介绍

内容来源:微信官方文档

内容接入

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

一、功能介绍

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

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

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

2)问答页 :适用于问答类内容,精准问答内容也是应用该类型,如果排序在首位,会富展现;

3)精选页 :适用于页面有导航的优质内容,该页面如果排序在首位,会富展现。

2. 页面展现形式如下:

页面类型展示.png

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

  • 开发者需在小程序后台开通“内容接入”功能,并且声明类目信息。具体操作可以参见 【二、权限开通流程】;
  • 开发者需按照要求的内容接入方式推送内容到微信搜索,并且定期更新内容。具体操作可以参见 【三、内容接入方式】。

二、权限开通流程

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

具体操作流程如下:

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_tokenstring小程序access_token。放在URL里。pagesPageObject数组请求提交的小程序页面信息数组,一次可提交多个页面的信息。放在POST body里。
  • PageObject结构说明参数类型说明pathstring小程序页面路径querystring小程序页面请求参数data_listPageData数组小程序页面的数据,一个页面可以同时提交多个结构化信息,用于不同业务注意:path+query标识唯一一个页面,微信侧会使用这个信息构造唯一id。
  • PageData结构说明参数类型说明@typestring数据结构类型,用于标识目标业务系统,必填其他目标业务所需的结构化数据
    • @type=”wxsearch_cpdata”时,对应的数据将发往搜一搜正式环境,并可能在搜索结果中展示。
    • @type=”wxsearch_testcpdata”时,对应的数据将发往搜一搜测试环境,用于系统调试和数据格式校验,不在搜索结果中展示。
    • 发往搜一搜正式/测试环境的数据,所对应的数据结构,详见【搜一搜结构化数据】。

3. 返回参数说明

参数类型说明
errcodeint32错误码
errmsgstring错误信息

常见错误码:

errcodeerrmsg说明
40066invalid url小程序url配置了sitemap disallow
40211invalid scope_data数据结构校验失败,附带进一步错误字段,如unexpected instance type: /content_id,表示content_id类型错误。
40212invalid query不合法query
40219pages is emptypages参数为空
45002content size out of limithttp请求包过大,建议拆分或使用压缩
47001data format errorhttp请求包不是合法Json
47004submit pages count more than each quota每次提交的页面数超过1000(备注:每次提交页面数应小于或等于1000)
47006submit pages count reach daily limit, please try tomorrow当天提交页面数达到了配额上限,请明天再试
85091search status was turned off小程序的搜索开关被关闭。请访问设置页面打开开关再重试
85083search status is banned小程序的搜索功能被禁用

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

4. 搜一搜结构化数据

a. 图文页

字段名称数据类型是否必填字段说明及要求
update更新字段uint321-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新
content_id数据方自定义idstring数据方自定义id
page_type页面类型uint32固定填2
category_id内容类目uint32详见【四、附录-内容类目定义】
h5_urlH5链接string如果该页面有对应的H5链接,则填上
title标题string建议长度:20个字符以内
subtitle副标题string数组支持多个副标题
abstract摘要string数组添加摘要有利于召回
refererHTTP Refererstring如果图片有防盗链逻辑,需要设置referer头,用于图片下载
cover_img封面图Object数组用于展示,最多支持3个
– cover_img_url封面图URLstringURL,用于外显
– cover_img_size封面图规格uint32用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见【附录】
mainbody正文string正文,不可带有html标签
author作者Object作者信息,权威作者信息跟更有利于内容被召回
– author_name作者名字string
– author_title作者职务string
– author_portrait作者头像URLstring头像尺寸不低于36px*36px
video视频Object数组
– video_title视频标题string如不填,则视为与页面标题一致
– video_length视频时长uint32单位为秒,优先五分钟内短视频
– video_img视频封面图URLstringURL,用于外显,尺寸不低于686px*288px
time_publish发布时间uint32unix时间戳,单位秒
time_modify更新时间uint32unix时间戳,单位秒
tag关键词列表string数组文章的keyword,支持多个,样例见附录
searchword搜索词列表string数组用于绑定微信官方提供的query
pv页面阅读数uint32近3个月的累计值
like页面点赞数uint32近3个月的累计值
extra_info补充字段Object通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商

b. 问答页

字段名称数据类型是否必填字段说明及要求
update更新字段uint321-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新
content_id数据方自定义idstring数据方自定义id
page_type页面类型uint32固定填4
page_attribute页面属性uint320-普通问答;1-精准问答;默认填0
category_id内容类目uint32详见【四、附录-内容类目定义】
h5_urlH5链接string如果该页面有对应的H5链接,则填上
title标题string建议长度:20个字符以内
subtitle副标题string数组支持多个副标题,可以用于放置问题描述
abstract摘要string数组添加摘要有利于召回
refererHTTP Refererstring如果图片有防盗链逻辑,需要设置referer头,用于图片下载
cover_img封面图Object数组用于展示,最多支持3个
– cover_img_url封面图URLstringURL,用于外显
– cover_img_size封面图规格uint32用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见附录
mainbody正文Object数组问题的答案,支持多个。
– answer_content答案内容string不可带有html标签
– answer_timestamp回答时间uint32unix时间戳
– author_name作者名字string
– author_title作者职务string
– author_portrait作者头像URLstring头像尺寸不低于36px*36px
answer答案摘要Object控制外显答案摘要的样式和内容
– answer_style答案摘要的展示样式uint320-图文样式;1-短答案;2-长答案;3-步骤答案;默认填0
– short_answer短答案摘要string如果answer_style为1,则必填
– long_answer长答案摘要string如果answer_style为2,则必填
– intro_answer导语摘要string如果answer_style为3,填写后会展示
– step_answer步骤摘要string数组如果answer_style为3,则必填
video视频Object数组控制外显的视频信息
– video_title视频标题string如不填,则视为与页面标题一致
– video_length视频时长uint32单位为秒,优先五分钟内短视频
– video_img视频封面图URLstringURL,用于外显,尺寸不低于686px*288px
service服务Object控制外显的服务信息
– service_title服务标题string建议6个字以内,最多不超过8个字
– service_weapp_id服务跳转小程序appidstring如果填写小程序url,则必填
– service_weapp_url服务跳转小程序URLstring小程序url或者H5的url必填一个
– service_h5_url服务跳转H5_URLstring
time_publish发布时间uint32unix时间戳,单位秒
time_modify更新时间uint32unix时间戳,单位秒
tag关键词列表string数组文章的keyword,支持多个,样例见附录
searchword搜索词列表string数组用于绑定微信官方提供的query
similar_question相似问题string数组语义相同,一个问题的不同表述。如,“番茄炒蛋做法”“番茄炒蛋怎么做”
pv页面阅读数uint32近3个月的累计值
like页面点赞数uint32近3个月的累计值
extra_info补充字段Object通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商

c. 精选页(限制开放)

字段名称数据类型是否必填字段说明及要求
update更新字段uint321-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新
content_id数据方自定义idstring数据方自定义id
page_type页面类型uint32固定填1
category_id内容类目uint32详见【四、附录-内容类目定义】
h5_urlH5链接string如果该页面有对应的H5链接,则填上
title标题string建议长度:20个字符以内
subtitle副标题string数组支持多个副标题
abstract摘要string数组添加摘要有利于召回
refererHTTP Refererstring如果图片有防盗链逻辑,需要设置referer头,用于图片下载
cover_img封面图Object数组用于展示,最多支持3个
– cover_img_url封面图URLstringURL,用于外显
– cover_img_size封面图规格uint32用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见附录
section栏目Object数组页面的不同栏目,最多支持4个
– section_name栏目名称string4-12个字符,尽量用中文
– section_url栏目下级URLstring为小程序格式的URL
mainbody正文string正文,不可带有html标签
time_publish发布时间uint32unix时间戳,单位秒
time_modify更新时间uint32unix时间戳,单位秒
tag关键词列表string数组文章的keyword,支持多个,样例见附录
searchword搜索词列表string数组
pv页面阅读数uint32近3个月的累计值
like页面点赞数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旅游
8IT科技
9医疗
10财经
11时尚
12美食
13法律
14文化
15游戏
16房产
17母婴
18商品
19生活
20政务

2. 字段解释

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

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

2. tag:页面内容的标签,是用于搜索引擎可以个更好地理解和召回内容。例如:

针对于美食类目,建议可以同时打上菜名、食材、工艺、菜式、调料等标签。比如: 《水煮肉片的做法》建议 tag=[“水煮肉片”,“煮”,“猪肉”,“川菜”,“四川”], 《煎牛排》建议 tag=[“牛排”,“煎”,“西式菜”]。 这样微信不仅会根据标题做语义相关性的召回,还会通过判断标签与用户搜索词相关性做文章的召回。比如用户搜索“川菜”,也会召回《水煮肉片的做法》这篇文章。

3. 通过answer_style控制问答页展示的样式

  • 图文样式,answer_style = 0
  • 短答案样式,answer_style = 1
  • 长答案样式,answer_style = 2
  • 步骤答案样式,answer_style = 3 wxapages.category.png

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注