加入收藏 | 设为首页 | 我要投稿 | RSS中药方rss
中药方大全小图标
您当前的位置:首页 > 其他 > 网站日记

帝国cms百度主动推送插件支持分页推送

提示: 手机抄药方--选中文字可生成二维码  来源:jiuhecai  作者:jiuhecai

网上早就有很多帝国cms 的百度推送插件,但是不能达到本人的要求,所以2017年高考放假这几天,自己写了一个,用着还不错,分享出来。

【准备】登录百度站长平台,左侧菜单,网页抓取,链接提交,获取准入秘钥。

接口调用地址: http://data.zz.baidu.com/urls?site=www.zhongyf.com&token=f7Kxx***XnbHaikU

参数名称是否必选参数类型说明
sitestring在站长平台验证的站点,比如www.example.com
tokenstring在站长平台申请的推送用的准入密钥
typestring

对提交内容的数据类型说明,

原创数据参数:original, 请提交真实原创内容

【安装步骤】

1.在后台建立一个名称为p2b的扩展变量,选写入缓存。内容为:

$p2b_sets=array(
    'domain'=>'www.zhongyf.com',
    'token'=>'f7Kxx***XnbHaikU',
    'push2baidu'=>1,
    'checkBeforePush'=>1,
    'insert_dolog'=>1,
    'disallow'=>array('/d/','/e/class/','/e/config/','/e/enews/','/e/update','/e/data/')
  );
其中各个参数的含义,下文介绍。

2.修改帝国cms之代码/e/class/userfun.php,添加以下两个函数:

//jiuhecaipush2baidu
function checkBaiduInclude($url){
  $url='http://www.baidu.com/s?wd='.$url; 
 $curl=curl_init(); 
 curl_setopt($curl,CURLOPT_URL,$url); 
 curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); 
 $rs=curl_exec($curl); 
 curl_close($curl); 
 if(strpos($rs,'抱歉,没有找到')  or strpos($rs, '有找到该URL')){ 
 return 0; 
 }else{ 
 return 1;  } 
}
function push2baidu($url){
 global $public_r;
 //$p2b_sets=include('../extend/push2baidu/config.php');
 //$p2b=empty($public_r['add_push2baidu'])?0:1;
    eval($public_r['add_p2b']);
 //$p2b=$p2b || $p2b_sets['push2baidu'];
 if(!$p2b_sets['push2baidu'])return '';
 $url=str_replace(ECMS_PATH,'',$url);
$url=str_replace('../../','',$url);
 foreach($p2b_sets['disallow'] as $disallowpath){
  if(strpos('/'.$url,$disallowpath)===0)return '';
 }
 
 $domain=$p2b_sets['domain']?$p2b_sets['domain']:$_SERVER['HTTP_HOST'];
 $url='http://'.$domain.'/'.$url;
 if($p2b_sets['checkBeforePush']){
  if(checkBaiduInclude($url))return '';
  
 }
 
 $urls[]=$url; 
 $api = 'http://data.zz.baidu.com/urls?site='.$domain.'&token='.$p2b_sets['token'];
 $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);
 $result =json_decode(curl_exec($ch),true);
 
 if($p2b_sets['insert_dolog']){
  if(isset($result['error'])){
   $doing='push2baidu#error#'.$result['message'].'#'.$url;
  }else{
   $doing='push2baidu#success#'.$result['remain'].'#'.$url;
  }
  insert_dolog($doing);
 }
}

 

3.修改 e/class/connect.php中的函数WriteFiletext,在该函数倒数第一行前插入

//jiuhecaipush2baidu
 if(function_exists('push2baidu'))push2baidu($filepath); 

修改后是这样的

//写文件
function WriteFiletext($filepath,$string){
 global $public_r;
 $string=stripSlashes($string);
 $fp=@fopen($filepath,"w");
 @fputs($fp,$string);
 @fclose($fp);
 if(empty($public_r[filechmod]))
 {
  @chmod($filepath,0777);
 }
 
//jiuhecaipush2baidu
 if(function_exists('push2baidu'))push2baidu($filepath); 
}

 

至此,插件安利完成,可以使用了。

【参数设置】

array(
    'domain'=>'www.zhongyf.com', //主机域名,不带http://,结尾不带/,为空则取$_SERVER['HTTP_HOST']
    'token'=>'f7Kxx***XnbHaikU', //百度站长平台分配的密钥
    'push2baidu'=>1, // 默认为1,执行推送;为0关闭本插件
    'checkBeforePush'=>0, // 默认为1,推送前检查是否已经收录,已经收录的话就不推送了
    'insert_dolog'=>1, // 默认为1,推送结果保存到系统日志
    'disallow'=>array(  // 如果文件属于这些目录则不推送
         '/d/','/e/class/','/e/config/','/e/enews/','/e/update','/e/data/'
         )
  );

注意,不要把注释带入缓存变量。

【推送功能】

发布首页
发布一篇文章,自定义内容页,包括分页
发布列表页,自定义列表页,包括各分页
发布信息tags
发布专题
只要你生成文件
就自动提交到百度,不需要手动点击

 帝国cms百度推送

可以在后台- 用户面板 - 管理操作日记 里看到推送记录。推送后,本篇文章马上就收录了。

 

tags: 帝国cms 插件 返回顶部
验证码
  • 评论
0条评论
  • 最新评论
推荐资讯
视频:田纪钧讲关节不痛的秘密、膝关节拉筋法
视频:田纪钧讲关节不
白露到了,你还好吗?
白露到了,你还好吗?
尿疗与断食
尿疗与断食
给风疹反复发作女孩的药方(组图)
给风疹反复发作女孩的
相关文章
栏目更新
栏目热门
  1. 帝国cms7.2后台信息列表页批量添加tags
  2. 帝国cms之批量替换字段值
  3. 帝国cms7.2改用百度编辑器
  4. 如何禁止内容关键字替换ALT和A标签中的关键
  5. 帝国cms百度主动推送插件支持分页推送
  6. 显示二维码
  7. 帝国cms插件大全
  8. 帝国cms获取当前页的地址
  9. 【帝国cms插件】之三级联动+伪静态
  10. 帝国cms之egetzy函数