以前的检测百度收录代码测试了一下都不可用,无论哪个页面都检测出来已收录,所以做了点简单的修改,在我博客上测试正常
并且在原有的基础上做了个判断,未被百度收录时主动推送到百度的主动推送上去,module.php代码如下
<?php
//判断内容页是否百度收录
function baidu($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,'为您找到相关结果约0个') === false && strpos($rs,'没有找到') === false && strpos($rs,'没有找到该URL') === false){
return 0;//已收录
}else{
return 1;//未收录
}
}
function checkbaidu($id){
$url=Url::log($id);
if(baidu($url)==1){
echo "百度已收录";
} else {
$urls = array(
$url
);
$api = '自己申请的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 = curl_exec($ch);
echo $result;
if(strpos($result,'success') !== false){
echo '已推送百度';
}else{
echo '请检查是否设置百度ton';
}
}
}
?>
在文章内容模板echo_log.php合适的位置增加<?php echo checkbaidu($logid); ?>
百度token申请地址:https://ziyuan.baidu.com/linksubmit/index