利用php代码给网站添加“百度是否收录”判断

效果:

请输入图片描述

以typecho博客为列:

  • 文件路径:网站根目录/usr/themes/模板名/function.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; 
   } 
}
  • 文件路径:网站根目录/usr/themes/模板名/post.php,同样建议修改前先做个备份。
    可以在页面标题下方(如本站)或者你要展示的位置添加以下代码:
<span class="baidu-record">百度收录:<?php echo baidu_record() ?>
</span>

可以根据需要自己调整下样式。 保存后或者上传后,清理浏览器缓存,即可看到效果。

原理:

Typecho检测文章是否被百度收录,直接点的说,这个功能是从Wordpress魔改的,一开始用的是每个文章都直接检测一次,那么代码就很简单了,直接拿着URL去百度搜索里面找,根据结果,找到里面是否存在“没有找到”等字眼,若存在说明未收录,反之则收录了。

最后修改:2019 年 08 月 31 日 03 : 46 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论