kphp框架企业网站快速收录分享之百度主动推送api程序开发。
标签:哈尔滨建站 主动推送api 企业建站 点击6674次 时间:2015-08-26
最近很多哈尔滨建站的客户向我反馈百度网站收录慢,问我有没有好的方法,于是我想起了百度站长中链接提交的”主动推送“方式,主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录;之前kphp团队给哈尔滨一个企业做网站的时候,客户要求我给他做个百度自动提交方式中的主动推送(实时) 的api,实现了哈尔滨这个企业网站发布文章同时提交百度主动推送,达到快速收录的效果。

最近很多哈尔滨建站的客户向我反馈百度网站收录慢,问我有没有好的方法,于是我想起了百度站长中链接提交的”主动推送“方式,主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录;之前kphp团队给哈尔滨一个企业做网站的时候,客户要求我给他做个百度自动提交方式中的主动推送(实时) 的api,实现了哈尔滨这个企业网站发布文章同时提交百度主动推送,达到快速收录的效果。

今天我就给大家分享一下,做个通用百度主动推送api的小程序,实现客户在网站后台自己提交百度主动推送地址。
第一步先需要注册一个百度站长账号,验证你的站点,最终获取到api开发中重要的token参数:
1.注册百度账号:
注册地址:https://passport.baidu.com/v2/?reg&u=http%3A%2F%2Fzhanzhang.baidu.com%2F&tpl=zhanzhang&regType=1
百度站长地址:http://zhanzhang.baidu.com
2.登陆账号,添加站点 如下图指示:

3.添加网站后点击左侧导航 网站抓取 - 链接提交,获取token值,如下图指示:



第二步开发php推送程序,添加网址提交到百度主动推送接口地址即可完整百度主动推送api的制作。
1.百度主动推送借口需要有两个必选参数即:site和token site是你的站点上面提交的站点,而token是百度根据你站点生成的,也可以更改,但不建议大家去更改,更改后下面的程序设计到token的也需要更改。
2.提交后返回值进行判读,成功与失败返回值不同,这里我们对成功返回进行判读没有返回为失败:
成功返回示例:
{"remain":498,
    "success":2,
    "not_same_site":[],
    "not_valid":[]
}
remain和success是必需项这里必须了解,可以根据他们进行判读操作:
remain当天剩余的可推送url条数,现在百度限制每天只能推送500条。
success是成功推送的条数。
3.kphp开源框架开发代码,有两个文件,一个是提交网址地址页面token_add.php,一个是保存发送百度主动推送页面token_save.php;
token_add.php页面程序如下:
<DIV class=form-div>
<FORM id=form1 name=form1 action="token_save.php" method=post>
<TABLE class=member-table id=general-table cellSpacing=1 cellPadding=3
width="100%" border=0>
  <TBODY>
  <TR>
    <TD class=narrow-label>主动推送地址:</TD>
    <TD><textarea name="url" rows="5" cols="48"></textarea>多个地址用英文","逗号分开</TD></TR>
  <TR>
  <TR>
    <TD></TD>
    <TD><INPUT class=button id=btnsubmit type=submit value=" 提交 " name=btnsubmit></TD></TR></TBODY></TABLE></FORM></DIV>

token_save.php页面程序如下:

require('userdata.php');
if(!empty($_REQUEST["url"]))
{
$url_str   = $_REQUEST["url"];
$url_array = explode(",",$url_str);
$data = new Data();
$token =  $data->sqlRow("select token,site from config where id=1");
$api = "http://data.zz.baidu.com/urls?site={$token["site"]}&token={$token["token"]}";
$ch = curl_init();
$options =  array(
    CURLOPT_URL => $api,
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode("\n", $url_array),
    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result    = curl_exec($ch);
$obj_array =  json_decode($result);
$r_array   = object_array($obj_array);
//echo $result;
if($r_array["success"]>0)
{
echo "<script>alert('你成功提交".$r_array["success"]."条推送地址,今天还可以推送".$r_array["remain"]."条');window.location.replace('token_edit.php');</Script>";
die();
}
else
{
echo "<script>alert('百度主动推送提交失败');history.back();</Script>";
die();
}

}
else
{
echo "<script>alert('百度主动推送地址不能为空');history.back();</Script>";
die();
}

function object_array($obj_array){
  if(is_object($obj_array)){
    $obj_array = (array)$obj_array;
  }
  if(is_array($obj_array)){
    foreach($obj_array as $key=>$value){
      $obj_array[$key] = object_array($value);
    }
  }
  return $obj_array;
}

这个只是简单的一个百度主动推送api小程序,而企业网站客户可以根据自己需要进行结合自己的网址情况进行更改,我知识给你了思路,像我之前给哈尔滨的一个网站客户做的是当他保存文章时候直接触发提交百度主动推送。这样就实现了自动提交的目的,或者是做个时间任务,定期提交。

最新动态

学习指南:

知识总结: