当前位置: 首页 > news >正文

微信小程序SEO指南

这里写自定义目录标题

  • 微信小程序背景介绍
  • 微信小程序SEO
    • 小程序页面收录优化
      • 1. 小程序里跳转的页面 (url) 可被直接打开。
      • 2. 页面跳转优先采用 navigator 组件。
      • 3. 清晰简洁的页面参数。
      • 4. 必要的时候才请求用户进行授权、登录、绑定手机号等。
      • 5. 我们不收录 web-view 中的任何内容。
      • 6. 利用 sitemap 配置引导爬虫抓取,同时屏蔽无搜索价值的路径。
      • 7. 设置一个清晰的标题和页面缩略图。
      • 8. 使用页面路径推送能力
    • 内容接入
      • 1.功能介绍
      • 2.权限开通流程
      • 3.内容接入方式
      • 4.附录

微信小程序背景介绍

随着微信生态日益完善,月活跃用户规模已达10亿量级,承接服务功能的微信小程序与生态链接加深,渗透率稳步在八成以上。
微信APP月活跃用户规模变化趋势

微信小程序承接来自微信生态的流量以及线下流量,助力品牌商完成线上私域流量的建立,实现用户需求沉淀。
微信小程序流量承接及服务能力展示

伴随微信小程序场景覆盖的深入,千万级流量平台不断涌现。
微信小程序数量变化趋势

消费场景碎片化趋势下,小程序成为品牌商数字化建设的重要基础设施,多领域品牌持续开展布局。
品牌微信小程序月活跃用户规模TOP10

微信小程序SEO

庞大的微信生态搜索需求,再加上各大品牌布局刚刚兴起,这样的双重背景下,微信小程序SEO,也即微信小程序搜索优化就显得尤为重要,也尤为迫切。因此,今天就微信小程序的SEO做一个简单的分享。
微信小程序SEO本质上来说会有三个模块的内容,分别是服务直达,内容接入和超级品牌专区。由于服务直达和超级品牌专区有着一定的门槛限制,不是所有企业品牌都适用,因此,本文就内容接入做一个着重阐述。

小程序页面收录优化

1. 小程序里跳转的页面 (url) 可被直接打开。

小程序页面内的跳转 url 是我们爬虫发现页面的重要来源,且搜索引擎召回的结果页面 (url) 是必须能直接打开,不依赖上下文状态的。 特别的:建议页面所需的参数都包含在url

2. 页面跳转优先采用 navigator 组件。

小程序提供了两种页面路由方式:
a. navigator 组件
b. 路由 API,包括 navigateTo / redirectTo / switchTab / navigateBack / reLaunch 建议使用 navigator 组件,若不得不使用API,可在爬虫访问时屏蔽针对点击设置的时间锁或变量锁。

3. 清晰简洁的页面参数。

结构清晰、简洁、参数有含义的 querystring 对抓取以及后续的分析都有很大帮助,但是将 JSON 数据作为参数的方式是比较糟糕的实现。

4. 必要的时候才请求用户进行授权、登录、绑定手机号等。

建议在必须的时候才要求用户授权(比如阅读文章可以匿名,而发表评论需要留名)。

5. 我们不收录 web-view 中的任何内容。

我们暂时做不到这一点,长期来看,我们可能也做不到。

6. 利用 sitemap 配置引导爬虫抓取,同时屏蔽无搜索价值的路径。

7. 设置一个清晰的标题和页面缩略图。

页面标题和缩略图对于我们理解页面和提高曝光转化有重要的作用。 通过 wx.setNavigationBarTitle 或 自定义转发内容 onShareAppMessage 对页面的标题和缩略图设置,另外也为 video、audio 组件补齐 poster / poster-for-crawler 属性。

8. 使用页面路径推送能力

可极大丰富微信可以收录的内容,进而提高小程序内容的曝光机会。

内容接入

1.功能介绍

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

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

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

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

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

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

  1. 页面展现形式如下:
    在这里插入图片描述
  2. 开发者接入流程如下:
    开发者需在小程序后台开通“内容接入”功能,并且声明类目信息。具体操作可以参见 下述2.权限开通流程;

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

2.权限开通流程

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

具体操作流程如下:

  1. 开通内容接入功能

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

  1. 声明内容接入的类目

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

在这里插入图片描述
3. 推送测试数据,用于系统调试和数据格式校验,不在搜索结果中展示

开发者需要根据内容接入方式(参见【2.内容接入方式】),推送测试数据,同时在内容接入的后台,点击测试数据的“提交审核”按钮;
在这里插入图片描述

搜一搜会针对推送的测试数据在7天内完成审核,并且给予反馈;
测试数据审核通过后,开发者可以往正式环境传数据。
4. 推送正式数据,审核通过可能在线上被搜索到
开发者需要继续推送正式数据,同时在内容接入的后台,点击正式数据的“提交审核”按钮;
在这里插入图片描述
搜一搜会针对推送的正式数据在7天内完成审核,并且给予反馈;
数据审核通过后,推送的正式数据可能在线上被搜索到。

注意:

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

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

3.内容接入方式

1.接口调用请求说明
HTTP请求方式:POST
https://api.weixin.qq.com/wxa/search/wxaapi_submitpages?access_token=TOKEN
2.请求参数说明

  • 请求参数在这里插入图片描述

  • PageObject结构说明在这里插入图片描述

  • PageData结构说明在这里插入图片描述

  • @type="wxsearch_cpdata"时,对应的数据将发往搜一搜正式环境,并可能在搜索结果中展示。

  • @type="wxsearch_testcpdata"时,对应的数据将发往搜一搜测试环境,用于系统调试和数据格式校验,不在搜索结果中展示。

  • 发往搜一搜正式/测试环境的数据,所对应的数据结构,详见【搜一搜结构化数据】。

3.返回参数说明

在这里插入图片描述
常见错误码:
在这里插入图片描述
其他错误码可从全局错误码 找到说明。

  1. 搜一搜结构化数据
    a. 图文页
    在这里插入图片描述
    在这里插入图片描述
    b. 问答页
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    -自定义答案样式,diy_answer字段包含
    在这里插入图片描述
    -跳转信息,jumpinfo字段包含
    在这里插入图片描述
    -跳转锚点,jump_anchor字段包含
    在这里插入图片描述
    -补充字段(菜谱数据专用),extr_info字段包含
    在这里插入图片描述
    -补充字段(菜谱数据专用),extr_info.nutrial字段包含
    在这里插入图片描述
    c. 问答页(限教育 - 知识点子类目)
    在这里插入图片描述
    在这里插入图片描述
    注意:

针对英语语法类或者数学公式类知识点内容,structure_answer字段包含
在这里插入图片描述
d. 问答页(限医疗类目)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
e. 精选页(限制开放)
在这里插入图片描述
在这里插入图片描述
f. 问答页(限生活 - 流行语子类目)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
f. 问答页(限教育 - 问候语)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据样例

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

4.附录

  • 内容类目定义
    在这里插入图片描述

  • 字段解释

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

正方形小图(不低于125px125px),即填写cover_img_size = 1;
长方形大图(不低于686px
288px),即填写cover_img_size = 2;
长方形三图(不低于224px*168px),即填写cover_img_size = 3。 示例如下:
在这里插入图片描述

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

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

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

图文样式,answer_style = 0
短答案样式,answer_style = 1
长答案样式,answer_style = 2
步骤答案样式,answer_style = 3
知识点答案样式,answer_style = 4
自定义答案样式,answer_style = 5
在这里插入图片描述

相关文章:

  • steam搬砖项目一直很稳定,部分反馈
  • Python调试指南
  • ICE常见编译和运行(异常)错误
  • 【职场成长】一篇文章,讲清复盘!
  • java面向对象解释
  • 基于SpringBoot+Vue的公益互助系统的设计与实现
  • 不怕问题多,就怕不复盘,超详细复盘步骤呈上,建议收藏
  • 神经网络模式识别方法,神经网络模式识别代码
  • DOM--事件响应链(冒泡目标捕获)
  • 测试人生 | 做了低薪运营6年,妹纸靠什么转行拿下 20W 年薪?
  • 获取Optimism 代币OP的五种方式
  • bugku misc disordered_zip
  • JVM面试常考的4个问题详解
  • 画画用电容笔还是触控笔?电容笔10大品牌排行榜
  • 企业选择快鲸开源scrm系统的7大理由
  • 深入了解以太坊
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • C学习-枚举(九)
  • github指令
  • JAVA SE 6 GC调优笔记
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • mac修复ab及siege安装
  • MySQL用户中的%到底包不包括localhost?
  • RxJS: 简单入门
  • Sass 快速入门教程
  • spring boot下thymeleaf全局静态变量配置
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue 个人积累(使用工具,组件)
  • 爱情 北京女病人
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 代理模式
  • 对超线程几个不同角度的解释
  • 汉诺塔算法
  • 如何合理的规划jvm性能调优
  • 如何实现 font-size 的响应式
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 使用权重正则化较少模型过拟合
  • 微信小程序--------语音识别(前端自己也能玩)
  • 线上 python http server profile 实践
  • 想写好前端,先练好内功
  • 进程与线程(三)——进程/线程间通信
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #控制台大学课堂点名问题_课堂随机点名
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (java)关于Thread的挂起和恢复
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (待修改)PyG安装步骤
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (四)JPA - JQPL 实现增删改查
  • (转载)Linux网络编程入门
  • ./configure,make,make install的作用
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?