亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

關于php 優化頁面輸出,兼容搜索引擎機器人訪問的實例的講解

2020-03-22 18:35:43
字體:
來源:轉載
供稿:網友
使用php輸出頁面,如果頁面的內容很多,用戶需要等待頁面所有內容加載后才可以看到頁面內容,用戶體驗不好。

1.頁面輸出優化方法

我們可以把頁面內容分成幾塊,異步并發請求加載,當任何一塊內容加載成功后即時顯示,而不需要等待其他分塊的內容加載。
這樣只要有任何一塊內容加載成功,用戶都可以馬上看到,提升用戶體驗。

因此頁面中只需要保留js內容,使用ajax請求api加載內容顯示。

 !-- 分塊1 -- p id= result1 /p script type= text/javascript $(function() { $.get( api.php?id=1 , {}, function(ret) { $( #result1 ).html(ret[ html ]); }, json }); /script !-- 分塊2 -- p id= result2 /p script type= text/javascript $(function() { $.get( api.php?id=2 , {}, function(ret) { $( #result2 ).html(ret[ html ]); }, json }); /script !-- 分塊3 -- p id= result3 /p script type= text/javascript $(function() { $.get( api.php?id=3 , {}, function(ret) { $( #result3 ).html(ret[ html ]); }, json }); /script ...

這里寫圖片描述

異步并發加載內容,可以大大加快頁面輸出速度。

2.頁面輸出兼容搜索引擎

如果使用異步并發加載方式輸出頁面,對于搜索引擎不友好,搜索引擎會采集不到內容,因為內容都是使用ajax加載。

因此我們需要判斷如果是搜索引擎機器人訪問時,則直接輸出頁面內容,而不使用異步并發輸出頁面。

判斷是否搜索引擎機器人訪問方法

 ?php// 判斷是否搜索引擎機器人訪問function isRobot() {  $agent= strtolower(isset($_SERVER[ HTTP_USER_AGENT ])? $_SERVER[ HTTP_USER_AGENT ] :  if(!empty($agent)){  $spiderSite= array(  TencentTraveler ,  Baiduspider+ ,  BaiduGame ,  Googlebot ,  msnbot ,  Sosospider+ ,  Sogou web spider ,  ia_archiver ,  Yahoo! Slurp ,  YoudaoBot ,  Yahoo Slurp ,  MSNBot ,  Java (Often spam bot) ,  BaiDuSpider ,  Voila ,  Yandex bot ,  BSpider ,  twiceler ,  Sogou Spider ,  Speedy Spider ,  Google AdSense ,  Heritrix ,  Python-urllib ,  Alexa (IA Archiver) ,  Ask ,  Exabot ,  Custo ,  OutfoxBot/YodaoBot ,  yacy ,  SurveyBot ,  legs ,  lwp-trivial ,  Nutch ,  StackRambler ,  The web archive (IA Archiver) ,  Perl tool ,  MJ12bot ,  Netcraft ,  MSIECrawler ,  WGet tools ,  larbin ,  Fish search ,  foreach($spiderSite as $val){  $str = strtolower($val);  if(strpos($agent, $str) !== false){  return true;  } return false; ? 


3.完整代碼及測試

index.php 用于被訪問

 ?phprequire server.php // 獲取內容$data1 = getData(1);$data2 = getData(2);$data3 = getData(3);// 調用模版include dirname(__FILE__). /template.php ? 

template.php 頁面模版內容

 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd html  head  meta http-equiv= content-type content= text/html;charset=utf-8  script src= jquery-1.11.0.min.js /script  title 內容模版 /title  /head  body  ?php echo $data1; ?  ?php echo $data2; ?  ?php echo $data3; ?  /body /html 

server.php 獲取內容主要方法

 ?php//獲取數據,正常情況應該讀取db,演示只用數組代替function getData($id){ // 數據 $data = array( 1 = 很久很久以前,在某個地方,有個很可愛的女孩。不幸的是,她父母雙亡,而且家徒四壁,屋里除了一張可供歇息的床以外,就別無長物了。除此之外,她全身上下只剩下身上所穿的衣裳,還有一片好心人施舍給她有面包而已。這個小姑娘,是個心地善良、信心堅定的好女孩。不論境遇有多么凄慘不幸,她仍然深信,慈愛的上帝會默默地庇護著她。 , 2 = 有一天,她只身上原野上去玩。她走著走著,忽然遇到一個衣衫襤褸的男子。他向女孩哀求道:“求求你!施舍一點東西給我這個可伶人吧!我實在是餓得快要受不了了啊!”聽到這話,女孩便把自己僅有的那片面包拿出來,說道:“這是上帝的恩 典喔!”說完后, 女孩就繼續上路了。走了一會兒,路旁突然出現了一個啼泣不已的男孩?!傍Q——我的頭好冷呀!就快凍僵了……你能不能施舍一點可以讓我擋風的東西啊!”女孩便把自己頭上那頂帽子脫了下來, 為男孩戴上。走了不久,她又碰到一個小孩。那孩子沒有穿棉背心,冷得直打哆嗦。于是,好心的女孩便把自己的背心送給那個小孩。她繼續往前走,突然又遇見另一個小孩。她再次答應對方的乞求,把上衣施舍給他。女孩再往前走,走進森林里。林深日盡,四周一下子變暗了起來。這時,又出現一個可憐的小男孩, 央求女孩把內衣脫給她。這個時候,虔誠又善良的女孩想:“現在天色已經暗下來了,任誰也看不清楚我的模樣,就算脫掉內衣,應該無所謂吧!”因此,女孩脫下了內衣,送給乞討的女孩。 , 3 = 這個時候的女孩,真的是渾身赤裸、再無他物了。忽然間,天上閃爍的星星紛紛墜落,落在女孩的面前。天啊!它們都化成了閃亮耀眼的金幣——貨真價實的金幣!而原先一絲不掛的孩,不知什么時候,竟裹上了一套細致、上等的亞麻衫!于是,這個好心的女孩,把金幣撿回家,從此過著富足、快樂的生活。  ); $ret = // 判斷是否搜索引擎機器人 $is_robot = isRobot(); // 搜索引擎機器人訪問 if($is_robot || defined( FORCE_SYNC_RESPONSE ) FORCE_SYNC_RESPONSE==true){ $ret .= p .$data[$id]. /p .PHP_EOL; // 普通用戶訪問,異步請求 }else{ $ret = p id= result .$id. /p  script type= text/javascript  $(function() { $.get( api.php?id= .$id. , {}, function(ret) { $( #result .$id. ).html(ret[ html ]); }, json  /script .PHP_EOL.PHP_EOL; } return $ret;}// 判斷是否搜索引擎機器人訪問function isRobot() {  $agent= strtolower(isset($_SERVER[ HTTP_USER_AGENT ])? $_SERVER[ HTTP_USER_AGENT ] :  if(!empty($agent)){  $spiderSite= array(  TencentTraveler ,  Baiduspider+ ,  BaiduGame ,  Googlebot ,  msnbot ,  Sosospider+ ,  Sogou web spider ,  ia_archiver ,  Yahoo! Slurp ,  YoudaoBot ,  Yahoo Slurp ,  MSNBot ,  Java (Often spam bot) ,  BaiDuSpider ,  Voila ,  Yandex bot ,  BSpider ,  twiceler ,  Sogou Spider ,  Speedy Spider ,  Google AdSense ,  Heritrix ,  Python-urllib ,  Alexa (IA Archiver) ,  Ask ,  Exabot ,  Custo ,  OutfoxBot/YodaoBot ,  yacy ,  SurveyBot ,  legs ,  lwp-trivial ,  Nutch ,  StackRambler ,  The web archive (IA Archiver) ,  Perl tool ,  MJ12bot ,  Netcraft ,  MSIECrawler ,  WGet tools ,  larbin ,  Fish search ,  foreach($spiderSite as $val){  $str = strtolower($val);  if(strpos($agent, $str) !== false){  return true;  } return false; ? 

api.php 異步請求使用的api接口

 ?phpdefine( FORCE_SYNC_RESPONSE , true); // 強制同步輸出require server.php // 獲取分塊內容$id = isset($_GET[ id ])? $_GET[ id ] : 1;$data = getData($id);// 輸出header( content-type:application/json;charset=utf8 $ret = json_encode( array( html = $data);echo $ret;? 


測試正常用戶訪問
 ?php$url = http://localhost/index.php // 訪問index.php$header = array();$data = doCurl($url, array(), $header);echo meta http-equiv= content-type content= text/html;charset=utf-8 echo xmp echo $data;echo /xmp /** * curl請求 * @param String $url 請求地址 * @param Array $data 請求參數 * @param Array $header 請求header * @param Int $timeout 超時時間 * @return String */function doCurl($url, $data=array(), $header=array(), $timeout=30){  $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); $response = curl_exec($ch);  if($error=curl_error($ch)){  die($error); curl_close($ch);  return $response;? 

輸出頁面內容

 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd html  head  meta http-equiv= content-type content= text/html;charset=utf-8  script src= jquery-1.11.0.min.js /script  title 內容模版 /title  /head  body  p id= result1 /p  script type= text/javascript  $(function() { $.get( api.php?id=1 , {}, function(ret) { $( #result1 ).html(ret[ html ]); }, json  }); /script  p id= result2 /p  script type= text/javascript  $(function() { $.get( api.php?id=2 , {}, function(ret) { $( #result2 ).html(ret[ html ]); }, json  }); /script  p id= result3 /p  script type= text/javascript  $(function() { $.get( api.php?id=3 , {}, function(ret) { $( #result3 ).html(ret[ html ]); }, json  }); /script  /body /html 

使用了異步并發加載,提高頁面輸出速度。

測試搜索引擎機器人訪問
 ?php$url = http://localhost/index.php // 訪問index.php$header = array( user-agent: Googlebot // 加入搜索引擎關鍵字);$data = doCurl($url, array(), $header);echo meta http-equiv= content-type content= text/html;charset=utf-8 echo xmp echo $data;echo /xmp /** * curl請求 * @param String $url 請求地址 * @param Array $data 請求參數 * @param Array $header 請求header * @param Int $timeout 超時時間 * @return String */function doCurl($url, $data=array(), $header=array(), $timeout=30){  $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); $response = curl_exec($ch);  if($error=curl_error($ch)){  die($error); curl_close($ch);  return $response;? 

輸出頁面內容

 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd html  head  meta http-equiv= content-type content= text/html;charset=utf-8  script src= jquery-1.11.0.min.js /script  title 內容模版 /title  /head  body  p 很久很久以前,在某個地方,有個很可愛的女孩。不幸的是,她父母雙亡,而且家徒四壁,屋里除了一張可供歇息的床以外,就別無長物了。除此之外,她全身上下只剩下身上所穿的衣裳,還有一片好心人施舍給她有面包而已。這個小姑娘,是個心地善良、信心堅定的好女孩。不論境遇有多么凄慘不幸,她仍然深信,慈愛的上帝會默默地庇護著她。 /p  p 有一天,她只身上原野上去玩。她走著走著,忽然遇到一個衣衫襤褸的男子。他向女孩哀求道:“求求你!施舍一點東西給我這個可伶人吧!我實在是餓得快要受不了了啊!”聽到這話,女孩便把自己僅有的那片面包拿出來,說道:“這是上帝的恩 典喔!”說完后, 女孩就繼續上路了。走了一會兒,路旁突然出現了一個啼泣不已的男孩。“鳴——我的頭好冷呀!就快凍僵了……你能不能施舍一點可以讓我擋風的東西??!”女孩便把自己頭上那頂帽子脫了下來, 為男孩戴上。走了不久,她又碰到一個小孩。那孩子沒有穿棉背心,冷得直打哆嗦。于是,好心的女孩便把自己的背心送給那個小孩。她繼續往前走,突然又遇見另一個小孩。她再次答應對方的乞求,把上衣施舍給他。女孩再往前走,走進森林里。林深日盡,四周一下子變暗了起來。這時,又出現一個可憐的小男孩, 央求女孩把內衣脫給她。這個時候,虔誠又善良的女孩想:“現在天色已經暗下來了,任誰也看不清楚我的模樣,就算脫掉內衣,應該無所謂吧!”因此,女孩脫下了內衣,送給乞討的女孩。 /p  p 這個時候的女孩,真的是渾身赤裸、再無他物了。忽然間,天上閃爍的星星紛紛墜落,落在女孩的面前。天啊!它們都化成了閃亮耀眼的金幣——貨真價實的金幣!而原先一絲不掛的孩,不知什么時候,竟裹上了一套細致、上等的亞麻衫!于是,這個好心的女孩,把金幣撿回家,從此過著富足、快樂的生活。 /p  /body /html 

頁面內容直接輸出,對搜索引擎友好。
本文講解了兼容搜索引擎機器人訪問的實例,更多相關內容請關注php 。

相關推薦:

通過php 調用ffmpeg來獲取視頻信息

通過mysql 判斷點是否在指定多邊形區域內

通過php 中的imagemagick來實現老照片效果

以上就是關于php 優化頁面輸出,兼容搜索引擎機器人訪問的實例的講解的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产美女被下药99| 91视频国产一区| 成人网在线免费观看| 久久久久亚洲精品成人网小说| 欧美二区乱c黑人| 亚洲bt欧美bt日本bt| 最新国产精品拍自在线播放| 精品国产一区二区三区在线观看| www亚洲欧美| 亚洲精品日韩丝袜精品| 欧美限制级电影在线观看| 尤物精品国产第一福利三区| 久久久国产精品x99av| 精品国内亚洲在观看18黄| 色偷偷偷亚洲综合网另类| 亚洲美女av网站| 韩国精品美女www爽爽爽视频| 97精品久久久中文字幕免费| 91精品国产91久久| 亚洲欧美中文日韩在线v日本| 亚洲精品免费在线视频| 亚洲成人教育av| 日韩在线免费av| 韩国19禁主播vip福利视频| 亚洲视频在线免费看| 久久久久国产精品免费| 久久精品国产91精品亚洲| 欧美日韩免费在线| 亚洲成人免费网站| 午夜免费日韩视频| 成人女保姆的销魂服务| 国产精品国产三级国产专播精品人| 国产性猛交xxxx免费看久久| 精品久久中文字幕久久av| 国产精品99久久久久久久久| 欧美日韩成人黄色| 精品av在线播放| 国产免费观看久久黄| 91精品视频大全| 懂色aⅴ精品一区二区三区蜜月| 在线观看成人黄色| 青青在线视频一区二区三区| 亚洲一区二区自拍| 精品视频一区在线视频| 国产主播在线一区| 国产精品美女免费| 亚洲人成电影网站色xx| 精品国产一区二区三区久久狼黑人| 国产久一一精品| 81精品国产乱码久久久久久| 亚洲精品欧美极品| 久久香蕉国产线看观看网| 国产精品专区第二| 欧美成人精品一区| 日韩av网站在线| 欧美激情中文网| 国产亚洲视频中文字幕视频| 欧美中文字幕视频| 国产精品羞羞答答| 欧美性xxxxxxx| 91视频国产一区| 在线播放国产精品| 欧美日韩国产在线看| 成人日韩av在线| 国产精品久久久亚洲| 国产成人中文字幕| 91精品国产自产在线老师啪| 中文字幕久久精品| 亚洲www视频| 91久久久国产精品| 综合激情国产一区| 国产精品丝袜久久久久久高清| 久久久久久国产精品三级玉女聊斋| 精品久久久久久中文字幕| 日本一区二区三区四区视频| 成人午夜激情免费视频| 国产欧美日韩精品在线观看| 性色av一区二区三区免费| 亚洲xxxxx性| 精品久久久久久国产| 中文字幕久热精品视频在线| 精品自拍视频在线观看| 97av在线视频免费播放| 国产精品6699| 69国产精品成人在线播放| 日韩av在线免费观看一区| 这里只有精品在线观看| 中文字幕日韩欧美在线| 亚洲国产精品va在线看黑人动漫| 亚洲专区中文字幕| 国产久一一精品| 国产狼人综合免费视频| 成人精品久久av网站| 欧美精品videos| 92福利视频午夜1000合集在线观看| 欧美日本啪啪无遮挡网站| 日韩中文字在线| 国内精品久久久久影院 日本资源| 国产精品嫩草影院久久久| 日韩av网址在线观看| 国产综合视频在线观看| 国产精品自拍小视频| 国产精品久久久久久婷婷天堂| 最近2019年好看中文字幕视频| 亚洲国产精品高清久久久| 亚洲午夜未满十八勿入免费观看全集| 亚洲欧美国产高清va在线播| 国产精品美女久久久久久免费| 亚洲国产精品va在线| 成人免费午夜电影| 亚洲香蕉成人av网站在线观看| 疯狂欧美牲乱大交777| 国产精品第3页| 国产噜噜噜噜噜久久久久久久久| 国产一区二区动漫| 亚洲欧美激情一区| 久久久久国色av免费观看性色| 日韩免费视频在线观看| 欧美风情在线观看| 狠狠做深爱婷婷久久综合一区| 亚洲一区二区中文| 久久亚洲精品国产亚洲老地址| 中文国产成人精品久久一| 日韩av在线免费观看| 国产一区二区三区久久精品| 精品久久久久久中文字幕| www.日韩欧美| 国产午夜精品麻豆| 亚洲丝袜av一区| 中文字幕综合一区| 亚洲欧美日韩高清| 国产精品你懂得| 国产一区二区三区丝袜| 97超级碰碰人国产在线观看| 91av在线免费观看| 久久久av亚洲男天堂| 久久久久久亚洲精品不卡| 欧美区在线播放| 欧美肥老太性生活视频| 日韩有码视频在线| 国产精品一区二区女厕厕| 国产99久久精品一区二区永久免费| 日韩av成人在线| 欧美日本高清视频| 久久久久久久电影一区| 亚洲一二三在线| 日韩在线免费高清视频| 亚洲精品中文字幕av| 国产91九色视频| 亚洲欧美日韩在线高清直播| 欧美理论片在线观看| 亚洲天堂免费在线| 国产自产女人91一区在线观看| 亚洲人免费视频| 8x海外华人永久免费日韩内陆视频| 精品久久久久久亚洲国产300| 国产v综合ⅴ日韩v欧美大片| 日韩极品精品视频免费观看| 亚洲精品资源美女情侣酒店| 亚洲精品一区中文字幕乱码| 精品久久中文字幕| 日韩精品中文字幕视频在线| 国产亚洲aⅴaaaaaa毛片| 97在线免费观看|