微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

phpcms添加百度主动推送功能(发布时自动推送URL到百度站长平台)教程

百度最近取消了JS自动推送URL到站长平台的功能用户只能使用主动推送,不过主动推送大多需要手动来实现,或是使用API接口对小白来说不太友好,这里小编整理了关于PHPcms添加百度主动推送功能(发布时自动推送URL到百度站长平台)教程,有需要的朋友可以学习一下!

修改方法如下:

1、找到PHPCMS的libs/functions/global.func.PHP文件添加一个百度推送函数

function push_baidu($bdurls){

$api = 'http://data.zz.baidu.com/urls?site=你的域名&token=自己去百度站长平台获取';

$ch = curl_init();

$options = array(

CURLOPT_URL => $api,

CURLOPT_POST => true,

CURLOPT_RETURNTRANSFER => true,

CURLOPT_POSTFIELDS => implode(n,$bdurls),

CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),

);

curl_setopt_array($ch,$options);

$result = curl_exec($ch);

$result = json_decode($result,1);

return $result;

}

2、然后我们要修改一下PHPcms/model/content_model.class.PHP文件,让我们发布文章时实现主动推送。

找到大约222行

//生成静态

if(!$isimport && $data['status']==99) {

添加

//推送百度平台 S

$bdurls[] = 'http://'.SITE_URL.$urls[1];

$push_result = push_baidu($bdurls);

$msg = '';

if ($push_result['success'] < 1) { $msg = '百度联盟推送链接失败!'; } //推送百度平台

//在添加修改内容处定义了 INDEX_HTML if(defined('INDEX_HTML')) $html->index();

if(defined('RELATION_HTML')) $html->create_relation_html($catid);

}

3、也可以在批量生成静态页的地方调用这个接口,去modules/content/crete_html.PHP文件的batch_show方法里,调用上面定义的方法

foreach($rs as $r) {

if($r['islink']) continue;

$this->db->table_name = $tablename;

$r2 = $this->db->get_one(array('id'=>$r['id']));

if($r2) $r = array_merge($r,$r2);

//判断是否为升级或转换过来的数据

if(!$r['upgrade']) {

$urls = $this->url->show($r['id'],'',$r['catid'],$r['inputtime']);

} else {

$urls[1] = $r['url'];

}

$bdurls[] = $r['url'];

$this->html->show($urls[1],$r,'edit',$r['upgrade']);

}

//推送百度平台

$push_result = push_baidu($bdurls);

$msg = '';

if($push_result['success'] < 1){ $msg = '百度联盟推送链接失败!'; }

最后几行是修改后新加的代码,首先要把更新哪些静态页的url放进数组里,再调用这个方法传参即可。要在其他动作如添加或者编辑文章的时候推送,原理是一样的,找到对应的地方调用推送方法就行了。

以上就是PHPcms添加百度主动推送功能的详细教程了,希望大家能喜欢哦。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐