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

 更新时间:2024-11-17

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

  ⑵找到PHPCMS的libs/functions/global.func.php文件中添加一个百度推送函数:

  ⑶function push_baidu($bdurls){

  ⑷$api = '你的域名&token=自己去百度站长平台获取';

  ⑸$ch = curl_init();

  ⑹$options = array(

  ⑺CURLOPT_URL => $api,

  ⑻CURLOPT_POST => true,

  ⑼CURLOPT_RETURNTRANSFER => true,

  ⑽CURLOPT_POSTFIELDS => implode("

  ⑾", $bdurls),

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

  ⒀curl_setopt_array($ch, $options);

  ⒁$result = curl_exec($ch);

  ⒂$result = json_decode($result, );

  ⒃return $result;

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

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

  ⒆//推送百度平台 S

  ⒇$bdurls[] = ''.SITE_URL.$urls[];

  ⒈$push_result = push_baidu($bdurls);

  ⒉$msg = '';

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

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

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

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

  ⒎foreach($rs as $r) {

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

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

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

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

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

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

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

  ⒖} else {

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

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

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

  ⒚//推送百度平台

  ⒛$push_result = push_baidu($bdurls);

  ①$msg = '';

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

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

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

您可能感兴趣的文章:

相关文章