收藏
评论

小程序搜索优化指南(SEO)官方

2019年上半年微信发布了基于小程序页面的搜索,为了让我们更好地发现及理解小程序的页面,结合过去一段时间来我们遇到的各种情况,我们强烈建议各位开发者花一些宝贵的时间认真阅读本文:)


爬虫访问小程序内页面时,会携带特定的 user-agent "mpcrawler" 及场景值:1129


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 配置引导爬虫抓取,同时屏蔽无搜索价值的路径。

https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html


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

页面标题和缩略图对于我们理解页面和提高曝光转化有重要的作用。

通过wx.setNavigationBarTitle或 自定义转发内容onShareAppMessage对页面的标题和缩略图设置,另外也为 video、audio 组件补齐 poster /poster-for-crawler属性。


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

可极大丰富微信可以收录的内容,进而提高小程序内容的曝光机会。请参考: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/search/search.submitPages.html


104452浏览
最后一次编辑于  2020-01-14
知识库内容非实时更新,可能已过期、失效或不适用于当前情形,请谨慎参考
收藏
反馈

29 个评论

  • 宣华 
    宣华 
    2020-01-03

    支持,建议给开发工具添加一个爬虫测试功能,一键测试自己的小程序被爬虫的情况。

    2020-01-03
    赞同 39
    回复
  • [奸笑]潘健辉
    [奸笑]潘健辉
    2020-01-03

    网页爬虫是由于早期 js 没有太丰富的功能所以蜘蛛爬虫会从<a>去抓取,想问下为什么小程序一开始就提供两种方式跳转,而现在却优先采用组件

    2020-01-03
    赞同 5
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-01-03

    学习+1

    2020-01-03
    赞同 3
    回复 2
    • momo
      momo
      2020-01-06
      请问一下:第二点最后一句里面的时间锁与变量锁是啥意思。
      2020-01-06
      2
      回复
    • 牛
      2020-01-07回复momo
      应该是指你跳转逻辑中限制的除颤参数
      2020-01-07
      1
      回复
  • 陈文杰
    陈文杰
    2020-01-08

    第八点这个链接是不是有问题

    2020-01-08
    赞同 2
    回复 2
  • momo
    momo
    2020-01-06

    请问一下:第二点最后一句里面的时间锁与变量锁是啥意思。

    2020-01-06
    赞同 2
    回复 7
    • 燚
      2020-01-06
      小程序中,如果使用的是普通view组件+bindtap的方式来触发页面的跳转,常见的问题是快速点击同一个元素多次时,有可能会产生多次跳转,打开多个相同的页面,一般开发者会使用锁来保护回调只执行一次。常见的有时间锁(类似节流函数)和变量锁(挂在页面生命周期上),如果有使用相关手段来保护,可以通过爬虫场景值来识别并屏蔽掉
      2020-01-06
      5
      回复
    • momo
      momo
      2020-01-06回复
      懂了,感谢
      2020-01-06
      回复
    • Julytian
      Julytian
      2020-01-10回复
      第7点的wx.setNavigationBarTitle设置页面标题,在自定义导航栏里面设置会有效果么
      2020-01-10
      1
      回复
    • 燚
      2020-01-13
      如果设置了自定义导航栏,可以通过分享参数指定页面标题
      2020-01-13
      回复
    • 辞欲巧
      辞欲巧
      2020-01-20
      我们正在优化抓取的策略,后续会覆盖更多的小程序页面。同时也可以采用主动推送的方式将优质的内容给到我们。https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/search/search.submitPages.html
      2020-01-20
      回复
    查看更多(2)
  • 痛快科技
    痛快科技
    2020-01-04

    找了很久的搜索优化建议

    2020-01-04
    赞同 2
    回复
  • 老年人要多运动
    老年人要多运动
    2020-01-03

    将json数据作为参数的方式是对爬虫不友好的设计

    这是啥意思?给你用就完了,还要理解?怎么理解?那不得uri加序列化吗?

    那不然要啥样的?

    2020-01-03
    赞同 2
    回复 6
    • 老年人要多运动
      老年人要多运动
      2020-01-04
      蓝廋
      2020-01-04
      回复
    • 老年人要多运动
      老年人要多运动
      2020-01-04回复老年人要多运动
      香菇
      2020-01-04
      回复
    • 2020-01-05
      json是小程序一个核心,论地位比爬虫高。
      所以不是"json对爬虫不友好“,是”爬虫对json不友好“
      2020-01-05
      1
      回复
    • 辞欲巧
      辞欲巧
      2020-01-06
      这里是建议不要将json作为url的参数,过于冗长
      2020-01-06
      回复
    • 老年人要多运动
      老年人要多运动
      2020-01-07回复辞欲巧
      想要不依赖上下文,那不长不行啊
      2020-01-07
      回复
    查看更多(1)
  • 柯宇
    柯宇
    2020-01-03

    支持+1~

    2020-01-03
    赞同 2
    回复
  • 阿白
    阿白
    2020-03-23

    写的很好,欢迎大家找一下组织,交流下微信SEO相关经验。复制打开此链接=> http://suo.im/4MdF9w



    2020-03-23
    赞同 1
    回复 1
  • 行者 凡所有相 皆是虚妄
    行者 凡所有相 皆是虚妄
    2020-01-12

    原来你躲在这里!

    已经将全文拷贝收藏了。

    2020-01-12
    赞同 1
    回复

正在加载...

登录 后发表内容