帝国模板之家为广大用户提供专业、一站式建站服务。

帝国cms教程

帝国cms教程栏目,提供精品建站,仿站,二次开发,安装,标签使用等图文教程,帮助建设和管理好你的帝国cms站点。

当前位置:首页 > 教程 > 帝国cms教程 > 正文

帝国CMS内容模板中判断文章是否被百度收录的方法

帝国模板之家 2020-11-06 帝国cms教程 评论

现在有这么一个需求,需要在帝国cms模板中判断发布的文章是否被百度收录。今天帝国模板之家小编教大家如何实现这个功能。

1.在/e/class/userfun.php 中添加如下代码:

/*
Plugin Name:百度收录判断
Version:1.0
Description:判断网址是否被百度收录
*/
function BD_curl($url, $post=0, $referer=0, $cookie=0, $header=0, $ua=0, $nobaody=0){
    $ch = curl_init();
    $ip = rand(0,255).'.'.rand(0,255).'.'.rand(0,255).'.'.rand(0,255) ;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

    $httpheader[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
    $httpheader[] = "Accept-Encoding: gzip, deflate, sdch, br";
    $httpheader[] = "Accept-Language: zh-CN,zh;q=0.8";
    $httpheader[] = 'X-FORWARDED-FOR:'.$ip;
    $httpheader[] = 'CLIENT-IP:'.$ip;
    curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
    if ($post) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
    if ($header) {
        curl_setopt($ch, CURLOPT_HEADER, true);
    }
    if ($cookie) {
        curl_setopt($ch, CURLOPT_COOKIE, $cookie);
    }
    if($referer){
        if($referer==1){
            curl_setopt($ch, CURLOPT_REFERER, 'https://www.baidu.com');
        }else{
            curl_setopt($ch, CURLOPT_REFERER, $referer);
        }
    }
    if ($ua) {
        curl_setopt($ch, CURLOPT_USERAGENT, $ua);
    }
    else {
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1");
    }
    if ($nobaody) {
        curl_setopt($ch, CURLOPT_NOBODY, 1);
    }
    curl_setopt($ch, CURLOPT_TIMEOUT, 3);
    curl_setopt($ch, CURLOPT_ENCODING, "gzip");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $ret = curl_exec($ch);
    //$Headers = curl_getinfo($ch);
    curl_close($ch);
    return $ret;
}
function showjson($arr){
header("Content-Type: application/json; charset=utf-8");
exit(json_encode($arr,320));
}

2.在帝国cms模板中(我们以内容模板为例),添加如下代码:

<?php
$sl_url=sys_ReturnBqTitleLink($navinfor);//获取titleurl
$data = BD_curl('https://www.baidu.com/s?wd='.urlencode($sl_url));
if(!isset($data))
{
  showjson(array('code'=>202702,'msg'=>'查询失败,请重试!'));
}
if(strpos($data,'提交网址')){
   showjson(array('code'=>202703,'url'=>$sl_url,'msg'=>'该网址未被收录!'));
}else{
   showjson(array('code'=>1,'url'=>$sl_url,'msg'=>'该网址已被收录!'));
}
?>

说明:模板在生成时才回去判断,如果需要动态判断是否被百度收录,可以使用ajax方式或者用js调用。

以上就是帝国CMS内容模板中判断文章是否被百度收录的方法,大家赶紧测试一下吧,更多相关内容请关注帝国模板之家其他文章。

这世上无忧无虑的人,反而相对寿命会长点。

已有 位小伙伴发表了看法

欢迎 发表评论

  • 匿名发表

关于

帝国cms模板

网页插件

帝国模板之家 | www.moyouyouw.cn

本站所有模板/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系站长删除,谢谢! 寻找帝国cms模板首选帝国模板之家,用心做站,上线至今广受好评,值得信赖!

  • 交流群1:帝国cms交流群1
  • 交流群2:帝国cms交流群2
在线QQ 给我留言