百度小程序+逐浪CMS API程现完整页面属性案例分享为百度小程序引流助力

返回逐浪CMS技术讨论区
1回复贴,共1页,点击数:854

做过网站的人都知道,完整的TDK页面性性,会对搜索引擎更加和谐。
那TDK是什么?TDK就是title+description+keywords的一个简称。
基本所见正常的网站都有完整的TDK
在这里插入图片描述
也有的网站是经不良建站公司出来的,哪个页都是公司名,这种破网站没有必要拿出来说话。一个连TDK都不给整好的网站,很难相信他别的地方可以整好。
小程序也是一样。今天咱们就主要说一下百度小程序,最近几年百度对百度小程序的索引有所倾向,引流方面做的不错的。
但是我们可以发现有的小程序流量很高,有的就管理员在整天打开,关闭。没有实际访客。
这一般就是百度对小程序的索引有问题。别看你后台1000,2000的小程序索引,但是搜索一下,全是小程序名,这类的东西百度没办法进行有效的推荐访客。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
易筑家,是我自己的一个小程序,原来是为了让网站有LOGO权限而做的,不管里面的别的东西,只要能上线就可以了。
但是过了不久后就发现一个问题,小程序没啥用,仔细一看都是易筑家的名字
虽然有一些是有标题的,但是我感觉那个H5站关联过来的数据。
下面咱们看一下这些纯标题的小程序页面的页面属性
在这里插入图片描述
可以发现网站并没有什么TDK属性。
那百度小程序可不可以有完整的页面属性呢?
可以的
在这里插入图片描述
在这里插入图片描述
那怎么小程序怎么拥有完整的属性呢?
百度官方给了两种方法
代码示例 1:(这个是静态的)

Page({
    onShow() {
        swan.setPageInfo({
            title: '晒元宵节活动红包,爱奇艺60张年卡、600张季卡等你拿!-百度贴吧',
            keywords: '百度,百度贴吧,好运中国年,60,晒元,宵节',
            description: '晒元宵节活动红包,爱..昨天的百度APP元宵节活动中,共发出2亿现金红包、含151万个手气现金大奖和240辆红旗轿车,谁是好运锦鲤,快来分享!马上惊喜升级~摇中红包的锦鲤们即刻晒出红包金额截图,我们将会抽取660位好运锦鲤',
            articleTitle: '晒元宵节活动红包,爱奇艺60张年卡、600张季卡等你拿!',
            releaseDate: '2019-01-02 12:01:30',
            image: [
                'https://c.hiphotos.baidu.com/forum/w%3D480/sign=73c62dda83b1cb133e693d1bed5456da/f33725109313b07e8dee163d02d7912396dd8cfe.jpg',
                'https://hiphotos.baidu.com/fex/%70%69%63/item/43a7d933c895d143e7b745607ef082025baf07ab.jpg'
            ],
            video: [{
                url: 'https://www.baidu.com/mx/v12.mp4',
                duration: '100',
                image: 'https://ms-static.cdn.bcebos.com/miniappdocs/img/image-scaleToFill.png'
            }],
            visit: {
                pv: '1000',
                uv: '100',
                sessionDuration: '130'
            },
            likes: '75',
            comments: '13',
            collects: '23',
            shares: '8',
            followers: '35',
            success: res => {
                console.log('setPageInfo success', res);
            },
            fail: err => {
                console.log('setPageInfo fail', err);
            }
        })
    }
});

代码示例 2:(这是动态的,通过API引用后)

Page({
    onLoad() {
        this.requestTask = new Promise((resolve, reject) => {
            const requestHandler = swan.request({
                url: '开发者服务器地址',
                header: {
                    'content-type': 'application/json'
                },
                method: 'POST',
                dataType: 'json',
                responseType: 'text',
                data: {
                    key: 'value'
                },
                success: res => {
                    this.setData('data', res.data);
                    resolve();
                },
                fail: err => {
                    console.log('错误码:' + err.errCode);
                    console.log('错误信息:' + err.errMsg);
                }
            });
        });
    },
    onShow() {
        this.requestTask.then( requestData => {
            let res = this.getData('data');
            swan.setPageInfo({
                title: res.title,
                keywords: res.keywords,
                description: res.description,
                articleTitle: res.articleTitle,
                releaseDate: res.releaseDate,
                image: res.image,
                video: res.video,
                visit: res.visit,
                likes: '75',
                comments: '13',
                collects: '23',
                shares: '8',
                followers: '35',
                success: res => {
                    console.log('setPageInfo success');
                },
                fail: err => {
                    console.log('setPageInfo fail', err);
                }
            })
        })
    }
});

方法有了,直接上案例
静态页面属性:

onShow() {
        swan.setPageInfo({
            title: '上格筑家,助您放心安家',
            keywords: '威海房产,威海房地产,威海房产交易',
            description: '威海上格筑家网是信得过的威海房产网络楼盘团购平台,可以提供房价查询、二手房在售房源查询、房产交易技巧、免费享受新楼盘优惠折扣、免费带看等服务!',
            articleTitle: '上格筑家,助您放心安家',
            image:'https://www.3j99.cn/Template/zjweihai/style/Images/no_face.jpg',
            likes: '75',
            comments: '13',
            collects: '23',
            shares: '8',
            followers: '35',
            success: res => {
                console.log('setPageInfo success', res);
            },
            fail: err => {
                console.log('setPageInfo fail', err);
            }
        })
    }

静态页面属性:这里要说明一下,我这里是基于API的,API引用过来后,再再调用页面属性:
首先app.js引用逐浪API

/**
 * @file app.js
 * @author swan
 */

/* globals swan */

App({
  globalData:{
        userInfo:null,
        imgUrl: 'https://www.3j99.cn/uploadFiles/',
        url:'',
        urlapi:'https://www.3j99.cn/API/BDAPP?apiId=XXXXXXX&apiKey=XXXXXXXXXXXXXXX&action=',//XXXXX替换为你的APIID和KEY
        urllogin:''
    },
    onLaunch(options) {
        // do something when launch
    },
    onShow(options) {
        // do something when show
    },
    onHide() {
        // do something when hide
    }
});
const app = getApp();
Page({

    // 页面的初始数据
    data: {
        title: '',
        createTime: '',
        content: '',
        keywords:'',
        synopsis:'',
        image:''
    },

    // 页面的生命周期函数 – 监听页面加载
    onLoad(res) {
        console.log(res)
        const that = this;
        this.requestTask = new Promise((resolve, reject) => {
            const requestHandler = swan.request({
                url: app.globalData.urlapi + 'content_get',
                header: {
                    'content-type': 'application/x-www-form-urlencoded'
                },
                method: 'POST',
                dataType: 'json',
                responseType: 'text',
                data: {
                    id: res.id
                },
                success: res => {
                    var result = JSON.parse(res.data.result);
                    // console.log(result)
                    const detail = result[0].content.replace(/<section/g,'<div')
                                                    .replace(/\/section>/g,'\div>')
                    console.log(result)
                    that.setData({
                        title: result[0].title,
                        createTime: result[0].createTime,
                        content: detail,
                        keywords:result[0].tagKey,//没有
                        description:result[0].synopsis,
                        synopsis:result[0].synopsis,
                        keytitle: result[0].title + '-上格筑家',
                        image:result[0].topImg
                    })
                    resolve();
                },
                fail: err => {
                    console.log('错误码:' + err.errCode);
                    console.log('错误信息:' + err.errMsg);
                }
            });
        });
    },

    // 页面的生命周期函数 – 监听页面初次渲染完成
    onReady(res) {

    },

    // 页面的生命周期函数 – 监听页面显示
    onShow() {
        // console.log(this.getData())
        this.requestTask.then( requestData => {
            let res = this.getData();
            swan.setPageInfo({
                title: res.title,
                keywords: res.keywords,
                description: res.description,
                articleTitle: res.keytitle,
                releaseDate: res.createTime,
                image: res.image,
                video: res.video,
                visit: res.visit,
                likes: '75',
                comments: '13',
                collects: '23',
                shares: '8',
                followers: '35',
                success: res => {
                    console.log('setPageInfo success');
                },
                fail: err => {
                    console.log('setPageInfo fail', err);
                }
            })
        })

    },

    // 页面的生命周期函数 – 监听页面隐藏
    onHide(res) {

    },

    // 页面的生命周期函数 – 监听页面卸载
    onUnload(res) {

    },

    // 页面的生命周期函数 – 监听页面重启,单击重启按钮时触发
    onForceReLaunch(res) {

    },

    // 页面的事件处理函数 – 监听用户下拉动作
    onPullDownRefresh(res) {

    },

    // 页面的事件处理函数 – 上拉触底事件的处理函数
    onReachBottom(res) {

    },

    // 页面的事件处理函数 – 用户点击右上角转发
    onShareAppMessage(res) {

    },

    // 页面的事件处理函数 – 页面滚动触发事件的处理函数
    onPageScroll(res) {

    },

    // 页面的事件处理函数 – 当前是 tab 页时,点击 tab 时触发
    onTabItemTap(res) {

    }
});

好了,这样方法就实现了。。就可以发现有完整的页面属性一了,做好之后就可以坐等百度收录啦。
以前连title都可以直接改变,现在百度小程序改版了,title不给改变了。下面的og:title变了就说明成功了

<meta property="og:title" content="威海明德苑商务综合楼-威海明德苑商务综合楼楼盘优惠政策-上格筑家">

在这里插入图片描述

了解我的人都知道我JS不行,本文JS要感谢逐浪CMS全栈高端VIP技术群(117942452)阿宁的指导。

1楼 2020/11/25 10:54

楼主技术太高了
要是md语法写得更好,就更爽了
总之很优秀
向楼主学习!

2楼 2020/11/25 11:13 收起回复
您未登录,没有发贴权限[点此登录]