Typecho添加“百度是否收录”判断的方法

也不知道是改版引起的,还是百度算法调整,最近网站收录速度和收录成功率一直下降,以前基本都是秒收,现在一周也很难收录,虽然加了百度自动收录代码,加了网站地图,加了熊掌号内容同步,但是效果还是没有提升,就准备在页面加上一个百度是否收录的判断,发现哪个没有收录,就手动提交下。

在主题的functions.php文件里添加以下函数:

//判断内容页是否百度收录function baidu_record() {$url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if(checkBaidu($url)==1){echo "百度已收录";}else{echo "<a style=\"color:red;\" rel=\"external nofollow\" title=\"点击提交收录!\" target=\"_blank\" href=\"http://zhanzhang.baidu.com/sitesubmit/index?sitename=$url\">百度未收录</a>";}}
   function checkBaidu($url) { 
    $url = 'http://www.baidu.com/s?wd=' . urlencode($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, '没有找到')) { //没有找到说明已被百度收录 
        return 1; 
    } else { 
        return -1; 
    } }

文章或页面页面中使用以下的代码进行调用:

<span class="baidu-record"><?php echo baidu_record() ?></span>

如果是https网站

默认效果很差,自己加CSS美化效果,赶快去测试一下试试吧!

此办法已经失效,目前的最新办法「UA模拟很强:2020年文章是否被百度收录检测代码(附API)