网站如何集成百度、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文本字符串格式,bingjson格式。

推送的场景主要集中在新增文章跟更新文章,新增的时候需要拿到文章id,因为我的是提前生成的uuid,所以可以在未插入数据库前就能拿到id,更新的时候就拿返回的id即可。

推送成功后就能看到推送数据啦。

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):