擅长做SEO优化的站长都知道,百度站长工具有一个主动实时推送的功能,但是如果一个一个网址去推送效果不仅差,而且工作量大,完全达不到实时的效果,因此很多人就在研究如何在网站后台增加实时推送的功能,也就是说如何做到后台文章刚发布出去就自动推送给百度收录,这样效果好速度快,能大大的提供百度实时推送的效率,本站经过仔细研究开发出一套流程方法,请参考以下方法即可解决百度主动实时推送的问题。
1 打开系统基本设置-》核心设置 开启支持多站点功能,就是开启绝对路径
2 在百度站长平台提交网站并验证
网页抓取-》链接提交-》自动提交-》主动推送(实时) 获取接口调用地址
例如:<http://data.zz.baidu.com/urls?site=www.wxqj.net&token=ZOYC3sdNtaGqgVMDtssdfdh>
3 网站后台添加新变量
系统基本设置-》添加新变量-》
按以上图片填写三个选项
变量名称:cfg_bdapi (必填,且名称不可更改)
变量名称:百度推送接口 (必填,名称可随意)
变量值:这个就是上面站长工具里获取到的调用接口,确认接口里的域名和当前网站域名保持一致,否则提交会出错
4 修改后台发稿文件代码,增加百度主动推送接口代码
打开后台文件:article_add.php
直接找到288行,或者搜索代码:ClearMyAddon($arcID, $title); 在下面加上代码
/*----百度站长工具连接主动推送代码 2016-10-15-----*/
$urls = array($artUrl);
$api = $cfg_bdapi;
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$reback = json_decode(curl_exec($ch),true);
$success=$reback['success'];
$error=$reback['error'];
$message=$reback['message'];
if($success>=1){
$baidu='<span style="color:green">百度推送成功</span>';
$dsql->ExecuteNoneQuery("UPDATE `dede_archives` SET goodpost=1 WHERE id='$arcID'");
}else{
echo $error;
echo $message;
$dsql->ExecuteNoneQuery("UPDATE `dede_archives` SET goodpost=2 WHERE id='$arcID'");
$baidu='<span style="color:red">百度推送失败</span>';
}
/*----百度站长工具连接主动推送代码 2016-10-15-----*/
以上代码就是在发稿结束后,系统获取到文章的地址,然后同步推送给百度
1 推送成功会生成一个变量提醒百度推送成功,并且更改goodpost字段值为1
2 推送失败会生成一个变量提醒百度推送失败,并且更改goodpost字段值为2
5 如果要在发稿结束后,直接能看到推送结果,修改提示代码:
修改前: $msg =" 请选择你的后续操作:
修改后: $msg =" $baidu 请选择你的后续操作:
上一篇:分析Web App、Hybrid App与Native App的设计差异
下一篇:没有了