今天有個主題的用戶發來一段關于判斷網頁是否被搜索引擎收錄的PHP代碼,問是否可以集成到主題中去,集成不集成到主題暫時不說,這篇文章說一說這段代碼的作用。

php判斷網頁是否被搜索引擎收錄

PHP判斷網頁是否被百度收錄

函數代碼:

<?php
function okBaidu($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,'提交網址')){
        echo "已收錄";
    }else{
        echo "未收錄";
    }
}
?>

調用函數:

$url="http://xswdd.cn/post/388.html";
echo okBaidu($url);

代碼實現原理:

判斷網頁是否被百度收錄,只需要在百度搜索引擎中搜索一下網頁的網址即可,如果未被收錄到,就會出現“提交網址”的鏈接。我們可以利用這一點來判斷網頁是否被百度收錄。

国产视频app1、組合百度搜索的網址,

百度搜索的網址,wd的參數可以是搜索的關鍵字

http://www.baidu.com/s?wd=

国产视频app組合要被搜索的網頁地址,如下

http://www.baidu.com/s?wd=http://xswdd.cn/post/388.html

国产视频app2、利用cURL抓取搜索頁面的文檔流

国产视频app3、判斷文檔流中,是否含有“提交網址”的關鍵字,如果有則未被收錄,如果沒有則被收錄

4、關于cURL使用方法,可以百度,也可以搜索本博客的相關文章

PHP判斷網頁是否被搜索引擎收錄

根據以上的代碼,做了一些改動,可以判斷百度,360,搜狗,以及必應是否收錄了要查詢的網址

函數代碼

<?php
function ifurl($s,$url){
    $array = array(
        'Baidu' => array('http://www.baidu.com/s?wd=','提交網址'),
        '360' => array('http://www.so.com/s?q=','提交網址'),
        'Bing' => array('http://cn.bing.com/search?q=',$url),
        'Sogou' => array('http://www.sogou.com/web?query=','點擊此處提交'),
    );
    $urls = $array[$s][0].$url;
    $str = $array[$s][1];
    $curl=curl_init();
    curl_setopt($curl,CURLOPT_URL,$urls);
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
    $rs=curl_exec($curl);
    curl_close($curl);
    if(!strpos($rs,$str)){
        return '已收錄';
    }else{
        return '未收錄';
    }
}
?>

調用代碼:

echo '百度:'.ifurl('Baidu','http://xswdd.cn/post/389.html');
echo '360:'.ifurl('360','http://xswdd.cn/post/389.html');
echo '必應:'.ifurl('Bing','http://xswdd.cn/post/379.html');
echo '搜狗:'.ifurl('Sogou','http://xswdd.cn/post/389.html');

PS:個人不建議在主題模版中添加這種判斷網頁是否被搜索引擎收錄的動態代碼,具體原因我想會PHP的都應該明白。如果非要給主題模版加入判斷網頁是否被搜索引擎收錄功能話,可以使用JS代碼實現,把判斷邏輯放到用戶的瀏覽器中去執行,也可以使用API的形式實現。