《CMS系統(tǒng):phpcms v9添加百度自動(dòng)推送JS代碼并解決重復(fù)推送問(wèn)題》要點(diǎn):
本文介紹了CMS系統(tǒng):phpcms v9添加百度自動(dòng)推送JS代碼并解決重復(fù)推送問(wèn)題,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
相關(guān)主題:PHPCMS教程
- function?baidu_check_record($url){???????
- ?????????if(strpos($url,'.html')){?
- ??????????$baidu_cache?=?getcache('baidurecord','baidu');?
- ??????????$baidu_cache=unserialize($baidu_cache);?
- ??????????$pathurl=str_replace(APP_PATH,'',$url);?
- ??????????$array=explode('-',$pathurl);?
- ???????????if($array[1]?&&?$array[2]?&&?$baidu_cache[$array[1].'-'.$array[2]]?==?1){?
- ???????????????return?1;?
- ???????????}else{?
- ?????????????????$url='http://www.baidu.com/s?wd='.$url;?
- ????????????????$curl=curl_init();?
- ????????????????curl_setopt($curl,CURLOPT_URL,$url);?
- ????????????????curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);?
- ????????????????curl_setopt($curl,?CURLOPT_ENCODING,?'gzip');?
- ????????????????$rsurl=curl_exec($curl);?
- ????????????????curl_close($curl);?
- ????????????????//如果抓取到的百度結(jié)果中不存在【提交網(wǎng)址】這個(gè)關(guān)鍵詞,則認(rèn)為該頁(yè)面已被百度收錄?
- ????????????????if(!preg_match_all('/提交網(wǎng)址/i',$rsurl,$match1)?&&?preg_match_all('/百度為您找到相關(guān)結(jié)果/i',$rsurl,$match2)){?
- ???????????????????$baidu_cache[$array[1].'-'.$array[2]]=1;?
- ???????????????????$baidu_cache=serialize($baidu_cache);?
- ????????????????????setcache('baidurecord',$baidu_cache,'baidu');?
- ????????????????????return?1;?
- ????????????????}?else?{?
- ????????????????????return?0;?
- ????????????????}?
- ??????????????????
- ???????????}?
- ????????????
- ??????????
- ?????????}?
- ???????
- }?
- ?
- function?bdPushData($catid,$id)?{?
- ????if?($_SERVER['HTTPS']?!=?"on")?{?
- ????????$currentUrl?=?'http://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];?
- ????}?else?{?
- ????????$currentUrl?=?'https://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];?
- ????}?
- ????if(!$catid?||?!$id)?return;?
- ????$get_url=go($catid,$id);?
- ????//判斷是否是未收錄頁(yè)面,并且當(dāng)前頁(yè)面是否等于正規(guī)url地址(get_premalink)?
- ????if(baidu_check_record($get_url)?==?0?&&?$currentUrl?==?$get_url)?{?
- ????????echo?"<script>(function(){?
- ????????????var?bp?=?document.createElement('script');?
- ????????????var?curProtocol?=?window.location.protocol.split(':')[0];?
- ????????????if?(curProtocol?===?'https')?{?
- ????????????????bp.src?=?'https://zz.bdstatic.com/linksubmit/push.js';?????????
- ????????????}?else?{?
- ????????????????bp.src?=?'http://push.zhanzhang.baidu.com/push.js';?
- ????????????}?
- ????????????var?s?=?document.getElementsByTagName('script')[0];?
- ????????????s.parentNode.insertBefore(bp,?s);?
- ????????????})();</script>";?
- ??????}?
- ???}?
在頁(yè)面底部加上如下代碼:
?CMS技巧
工作原理是文章加載時(shí),會(huì)再百度搜索當(dāng)前文章的url地址,如果百度未收錄,查詢結(jié)果中會(huì)匹配到“沒(méi)有找到該URl.您可以直接訪問(wèn)”或"很抱歉,沒(méi)有找到與"文字內(nèi)容.當(dāng)代碼確認(rèn)頁(yè)面已經(jīng)收錄時(shí),將會(huì)把文章的欄目catid和文章id保存成數(shù)組,存儲(chǔ)到緩存,方便下次直接獲取來(lái)判斷是否已經(jīng)推送過(guò)了.
百度自動(dòng)推送服務(wù)對(duì)象及原理
JS鏈接推送代碼以網(wǎng)頁(yè)為最小對(duì)象,服務(wù)于全平臺(tái)多終端,PC站和移動(dòng)站均可使用.
安裝代碼的頁(yè)面在任意平臺(tái)(瀏覽器、微信、微博)被加載時(shí),頁(yè)面鏈接會(huì)被第一時(shí)間推送給百度,從而提高站點(diǎn)新內(nèi)容的發(fā)現(xiàn)速度.CMS技巧
CMS技巧
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/5761.html