做过网站的人都知道,完整的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)阿宁的指导。