返回顶部
关闭软件导航
位置:首页 > 技术分享 > SEO优化>百度智能小程序搜索引擎优化

与普通的Web站点一样,Web化小程序也可以通过一些搜索引擎优化(SEO)手段获取更正确的相关性排名结果。

1.设置页面基础信息

正如在H5开发中,会在HTML中添加title、metadescription、metakeywords标签,声明页面相关内容,小程序的页面信息声明通过设置页面基础信息实现。

页面基础信息包括页面的标题、摘要、关键词、页面主图、资源发布时间等,以下仅介绍几个主要信息,更多设置要求详见官方文档《API-页面基础信息》:

?标题(Title):能够更加快速洞察页面内容,了解该结果与需求的相关性,通常是用来决定用户点击哪个结果的主要信息。所以,使用高质量的页面标题对小程序来说至关重要;

?摘要(Description):小程序首页、栏目页、分类页的摘要非常重要,因为有可能在搜索结果中直接被用户看到,影响到用户是否选择点击查看详情;

?关键词(Keywords):小程序开发者给网站某个页面设定的词汇,以便让搜索引擎更好地理解页面价值。keywords代表了小程序主题内容,无论是首页、内页还是栏目页,关键词一般都代表的是当前页面或者栏目内容的主体。开发者根据实际情况设置即可;

?页面主图(Image):页面中的主体图片地址,必须是页面中真实展示的与页面主体内容相关的图片。有效的图片描述可能会在搜索结果中展示,给用户更直观友好的体验,提升用户点击率。

页面基础信息通过小程序APIswan.setPageInfo设置,使用示例如下:

Page({

??onShow(){

????swan.setPageInfo({

??????title:'Win10控制面板在哪?怎么找出来-百度经验',

??????keywords:'Win10控制面板在哪?win10面板,电脑软件,电脑,游戏/数码',

??????description:'Win10控制面板在哪?升级了Wi10系统发现:电脑上的【控制面板】不见了,教大家怎么把消失的【控制面板】找回来。',

??????image:'example.com/myphoto.jpg'

??????...

????});

??})

);

更多具体使用方式介绍见官方文档《API-页面基础信息》

页面基础信息的设置粒度是页面级的,因此强烈建议在Page的onshow生命周期中调用,以保证每次页面切换都能有效设置当前页的页面基础信息。

setPageInfo在Web化的内部实现其实就是将调用参数动态设置为HTML标签中的title、metadescription、metakeywords标签,以及符合TheOpenGraphprotocol的meta标签。因此,如要调试调用setPageInfo之后,页面基础信息是否设置成功,可以检查Web化页面渲染后的HTMLElement中是否成功设置了这几个标签。Web化页面预览方法将在第二章节介绍。

比如上例中的设置结果如下:

??Win10控制面板在哪?怎么找出来-百度经验

...

??

??

??

??

...

swan.setPageInfo中设置的字段除了在接入自然搜索场景下会被用到,在接入百度信息流中也起到至关重要的作用,详见官方文档《信息流流量接入》

另外,swan.setPageInfoAPI不仅用于在流量接入场景下的页面内容声明,在客户端小程序实现中,页面基础信息也会被用作页面分享、页面收藏时的摘要信息。

2.链接跳转

页面中链接跳转对爬虫收录有很重要的价值。对于普通H5,页面跳转的方式通常有两种:a标签跳转window.location.href赋值方式跳转。前者直接设置在HTML标签中,发现效率和正确性相较后者友好很多。

同理,在小程序中,设置页面跳转的方式对应的也有两种:

?navigator组件,标签式声明

?导航类API,通过用户事件等方式触发调用

为了有效的被爬虫发现,我们强烈建议在两者都能满足需求的情况下,使用navigator组件的方式声明链接。

?推荐跳转示例:

点我跳转

?不推荐跳转示例:

点我跳转Page({

??jump(){

????swan.navigateTo({

??????url:'/pages/detail/detail'

????});

百度智能小程序搜索引擎优化

??}

??...})

3.避免使用webview组件

为了方便小程序开发,很多开发者会选择通过webview组件嵌套H5页面的方式实现小程序。使用webview组件嵌套方式实现的小程序对于爬虫抓取是不友好的。因此,我们不推荐使用这种方式开发小程序。

4.游客模式兼容

由于爬虫的访问环境没有账号登录模拟,在任何页面都将以游客模式访问(游客模式下调用swan.login会执行fail回调)。因此,开发者希望收录的页面,应考虑对游客模式的兼容。对于无用户信息依靠的页面不添加强制登录的逻辑,用户信息获取失败时仍然展示有效内容。

例如:在一个博客论坛的博文页,只有评论功能需要在用户登录态完成。那么当在未登录态访问该页面时,应该正常展示文章主体,仅在用户点击评论时再要求登录。而非在页面进入时就强制登录才可正常浏览。

5.避免页面间访问顺序依靠

由于小程序一般外露入口较集中,比如后续页面都只会通过首页跳转访问,小程序开发者通常很简单忽略页面之间访问的独立性,造成页面实现逻辑与访问路径过于耦合的情况。例如:在首页请求数据信息后,通过setStorage存储本地,并在跳转二级页时读取storage中存储的数据,不做任何判空处理直接展示。

考虑Web化小程序被爬虫抓取的情况,每个页面都是独立入口访问的。所以,应该避免这种耦合访问顺序的写法,添加必要的兼容处理。可以在小程序开发完成时,通过单独预览每个Web化页面的方式检查是否符合要求。

代码示例:

首页:

Page({

??onShow(){

????swan.request({

??????url:'https//example.com/api/data',

??????success:function(res){

????????...

????????swan.setStorageSync('remote-data',res.data);

??????}

????});

??}

});

二级页:

//badPage({

??onShow(){

????letdata=swan.getStorageSync('remote-data');

????this.render(data);

??}});//betterPage({

??onShow(){

????letdata=swan.getStorageSync('remote-data');

????if(!data){

??????swan.request({

????????url:'https//example.com/api/data',

????????success:function(res){

??????????...

??????????data=res.data????????}

??????});

????}

????this.render(data);

??}});

掏京驴够整孙旨低配隙穗取首或艇渔辞帆献疤她版非摸力虾身瓜铜槽饿厘胡读橡戒边跃摄乃辅恶含末误为式论宰诊患钞罢群波兄额券览悲游旱筹看放士饺红诱吹涨晌雨甘桃兄会倍缩橘抵比忍着女短颂嚷去拉终班厉哑妄仙愉兴掏蜻灿府英伍缘疯猜惜疮沃束档库仙加uvv。百度智能小程序搜索引擎优化。seo590QQcom,整合营销选择乐云seo,外贸网站seo费用

如果您觉得 百度智能小程序搜索引擎优化 这篇文章对您有用,请分享给您的好友,谢谢!