网站如何集成百度、bing搜索引擎推送?
大家好我是图恩,最近给网站添加了百度跟bing两家搜索引擎推送功能,日常工作中大多数情况使用的还是百度,但是也会使用到bing,但是相对来说会少一些。
对于一个网站来说,如何将你发布的文章及时的通知搜索引擎是一个很重要的问题,这将会影响网站的收录量跟访问量,收录的越快,被曝光的几率将会大大增加,从而会带来更好的访问量,如果你能将访问量转化为一部分收益那就是一件最好不过的事情了。
wordpress是个人站长大量使用的一款博客系统,站长在发布文章后可以通过搜索引擎插件进行实时推送,搜索引擎对于wordpress的推送也非常友好,如果推送的内容优质就会很快收录并且给与很好的排名。
对于没有使用wordpress系统的人来说,想要进行推送的话就会比较麻烦一些,你可以进入百度、bing的后台管理系统进行手动提交,如果你的网站内容较多,那么这是一个工作量非常大的事情。
除了手动提交之外他们还提供了api自动提交,方便会开发的站长进行批量提交,只需要按照步骤发送请求并且带上相应的参数即可。
以下为对一篇文章同时进行百度、bing的java版本的api提交代码供参考http请求借助了hutool工具,其中token跟apikey请自行更换,postId为推送的文章id。
public void pushPost(String postId){
// 百度推送
String url = "http://data.zz.baidu.com/urls?site=https://www.dsiab.com&token=xxxx";
String paramMap = "https://www.dsiab.com/post/" + postId;
String baiduPushResult = HttpRequest.post(url)
.header(Header.USER_AGENT, "www.dsiab.com")//头信息,多个头信息多次调用此方法即可
.contentType("text/plain")//表单内容
.body(paramMap)
.timeout(20000)//超时,毫秒
.execute().body();
log.info(baiduPushResult);
// bing 推送
String bingUrl = "https://www.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=xxxx";
Map bingParamMap = new HashMap<>();
bingParamMap.put("siteUrl", "https://www.dsiab.com");
List list = new ArrayList<>();
list.add("https://www.dsiab.com/post/"+postId);
bingParamMap.put("urlList",list);
log.info(bingParamMap.toString());
String bingPushResult = HttpRequest.post(bingUrl)
.header(Header.USER_AGENT, "www.dsiab.com")//头信息,多个头信息多次调用此方法即可
.contentType("application/json")//表单内容
.body(JSONUtil.toJsonStr(bingParamMap))
.timeout(20000)//超时,毫秒
.execute().body();
log.info(bingPushResult);
};
需要注意的是两个推送的参数有些差异,其中一个是contentType,百度的是text/plan文本字符串格式,bing是json格式。
推送的场景主要集中在新增文章跟更新文章,新增的时候需要拿到文章id,因为我的是提前生成的uuid,所以可以在未插入数据库前就能拿到id,更新的时候就拿返回的id即可。
推送成功后就能看到推送数据啦。
发表评论 (审核通过后显示评论):