logo头像

博学广问,自律静思

PHP实现判断文章是否被百度收录

一般判断一个页面是否被百度收录都采用“site+网址”搜索命令进行检查,在这里向大家分享一下用php自动判断文章是否被百度收录的方法,并在页面没有被百度的情况下一键点击直接提交网址给百度。 将下面的代码加进主题模板文件functions.php里,然后在输出是否收录的结果信息处加入“”即可;

PHP实现判断文章是否被百度收录

function baidu_check($url){
    global $wpdb;
    $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
    $baidu_record  = get_post_meta($post_id,’baidu_record’,true);
    if( $baidu_record != 1){
        $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,’没有找到’)){
            if( $baidu_record == 0){
                update_post_meta($post_id, ‘baidu_record’, 1);
            } else {
                add_post_meta($post_id, ‘baidu_record’, 1, true);
            }
                return 1;
        } else {
            if( $baidu_record == false){
                add_post_meta($post_id, ‘baidu_record’, 0, true);
            }
            return 0;
        }
    } else {
       return 1;
    }
}
function baidu_record() {
    if(baidu_check(get_permalink()) == 1) {
        echo ‘ 已被百度收录‘;
   } else {
        echo ‘未收录,点击提交‘;
   }
}

@极客人
极客人 commented at 2015-08-22

仅供参考就好,安心写好文章吧

@月儿的博客
月儿的博客 commented at 2015-08-22

这个方法真可能有点问题,博主你的一篇文章http://baiyuan.wang/initiative-to-push-plug-in-baidu-free-link-submit-real-time.html已经被收录,但是显示未被收录。而且我发现一个现象,网上已经存在的比较多的内容容易误判为已收录。

@极客人
极客人 commented at 2015-08-22

不知道咋回事呢,这个代码的原理是把模拟人去用百度搜索网址,有搜索结果表示收录。但你这篇文章收录情况的确是有问题

@月儿的博客
月儿的博客 commented at 2015-08-22

http://blog.liren100.cn/889.html 博主你看,我这篇是没有被收录的,却显示已收录。博主能看出什么问题吗

@极客人
极客人 commented at 2015-08-22

一般没有问题的啊

@月儿的博客
月儿的博客 commented at 2015-08-22

博主,我发现这种方法得到的结果不准确呢。有些文章没有被收录页会被认为是已经收录了。