php 向訪客和爬蟲顯示不同的內(nèi)容
更新時(shí)間:2009年11月09日 18:59:56 作者:
為了提高網(wǎng)頁(yè)的用戶體驗(yàn), 我們經(jīng)常會(huì)做一些對(duì)搜索引擎不太友好的事情, 但某些情況下這并不是無(wú)法挽回的, 可以通過(guò)向自然人和搜索引擎機(jī)器人顯示不同的內(nèi)容來(lái)提供好的用戶體驗(yàn)和 SEO.
聽(tīng)說(shuō)本方法會(huì)觸犯搜索引擎的一些操作原則, 有可能被被各搜索引擎處罰, 甚至刪除網(wǎng)站. 所以我剛剛已經(jīng)撤下這樣的處理, 直到確定其不屬于作弊. 有魄力的朋友可以繼續(xù)使用, 但后果自負(fù).
本博客的首頁(yè)和存檔頁(yè)面以列表的形式顯示文章, 在訪客點(diǎn)擊展開(kāi)文章時(shí)才加載文章的內(nèi)容. 因?yàn)槲恼碌膬?nèi)容部分包含了大量的文字和圖片, 需要大量的加載時(shí)間和流量. 盡快地向訪客展示網(wǎng)頁(yè)可以挽留大量的來(lái)訪者. 而對(duì)于手機(jī)用戶來(lái)說(shuō), 加載時(shí)間和流量則更為重要.
一般來(lái)說(shuō), 網(wǎng)站的首頁(yè)是搜索引擎訪問(wèn)最多的頁(yè)面, 應(yīng)該盡可能的向它們展示有意義的內(nèi)容, 但是要以列表的形式顯示文章的話, 訪客和搜索引擎只能獲取到文章標(biāo)題信息. 文章內(nèi)容或者摘要 (尤其是文章的第一句) 對(duì)于 SEO 來(lái)說(shuō)是極其重要的, 所以我們要設(shè)法向爬蟲發(fā)送這些內(nèi)容.
好, 我們可以通過(guò) User Agent 來(lái)判斷訪問(wèn)者是否為爬蟲, 如果是, 則以一般形式顯示文章, 否則以列表形式顯示文章列表. 可以用以下的 PHP 方法判斷是否為爬蟲:
function is_crawler() {
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
$spiders = array(
‘Googlebot', // Google 爬蟲
‘Baiduspider', // 百度爬蟲
‘Yahoo! Slurp', // 雅虎爬蟲
‘YodaoBot', // 有道爬蟲
‘msnbot' // Bing爬蟲
// 更多爬蟲關(guān)鍵字
);
foreach ($spiders as $spider) {
$spider = strtolower($spider);
if (strpos($userAgent, $spider) !== false) {
return true;
}
}
return false;
}
這是我使用的方法, 各爬蟲以訪問(wèn)評(píng)論由高到低進(jìn)行排序. 然后通過(guò)下面的的方法向爬蟲和自然人顯示不同的內(nèi)容
本博客的首頁(yè)和存檔頁(yè)面以列表的形式顯示文章, 在訪客點(diǎn)擊展開(kāi)文章時(shí)才加載文章的內(nèi)容. 因?yàn)槲恼碌膬?nèi)容部分包含了大量的文字和圖片, 需要大量的加載時(shí)間和流量. 盡快地向訪客展示網(wǎng)頁(yè)可以挽留大量的來(lái)訪者. 而對(duì)于手機(jī)用戶來(lái)說(shuō), 加載時(shí)間和流量則更為重要.
一般來(lái)說(shuō), 網(wǎng)站的首頁(yè)是搜索引擎訪問(wèn)最多的頁(yè)面, 應(yīng)該盡可能的向它們展示有意義的內(nèi)容, 但是要以列表的形式顯示文章的話, 訪客和搜索引擎只能獲取到文章標(biāo)題信息. 文章內(nèi)容或者摘要 (尤其是文章的第一句) 對(duì)于 SEO 來(lái)說(shuō)是極其重要的, 所以我們要設(shè)法向爬蟲發(fā)送這些內(nèi)容.
好, 我們可以通過(guò) User Agent 來(lái)判斷訪問(wèn)者是否為爬蟲, 如果是, 則以一般形式顯示文章, 否則以列表形式顯示文章列表. 可以用以下的 PHP 方法判斷是否為爬蟲:
復(fù)制代碼 代碼如下:
function is_crawler() {
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
$spiders = array(
‘Googlebot', // Google 爬蟲
‘Baiduspider', // 百度爬蟲
‘Yahoo! Slurp', // 雅虎爬蟲
‘YodaoBot', // 有道爬蟲
‘msnbot' // Bing爬蟲
// 更多爬蟲關(guān)鍵字
);
foreach ($spiders as $spider) {
$spider = strtolower($spider);
if (strpos($userAgent, $spider) !== false) {
return true;
}
}
return false;
}
這是我使用的方法, 各爬蟲以訪問(wèn)評(píng)論由高到低進(jìn)行排序. 然后通過(guò)下面的的方法向爬蟲和自然人顯示不同的內(nèi)容
您可能感興趣的文章:
- PHPCrawl爬蟲庫(kù)實(shí)現(xiàn)抓取酷狗歌單的方法示例
- php與python實(shí)現(xiàn)的線程池多線程爬蟲功能示例
- 利用php抓取蜘蛛爬蟲痕跡的示例代碼
- PHP+HTML+JavaScript+Css實(shí)現(xiàn)簡(jiǎn)單爬蟲開(kāi)發(fā)
- php實(shí)現(xiàn)簡(jiǎn)單爬蟲的開(kāi)發(fā)
- PHP代碼實(shí)現(xiàn)爬蟲記錄——超管用
- PHP實(shí)現(xiàn)簡(jiǎn)單爬蟲的方法
- 一個(gè)PHP實(shí)現(xiàn)的輕量級(jí)簡(jiǎn)單爬蟲
- php IIS日志分析搜索引擎爬蟲記錄程序
- PHP一個(gè)簡(jiǎn)單的無(wú)需刷新爬蟲
相關(guān)文章
PHP簡(jiǎn)單實(shí)現(xiàn)上一頁(yè)下一頁(yè)功能示例
這篇文章主要介紹了PHP簡(jiǎn)單實(shí)現(xiàn)上一頁(yè)下一頁(yè)功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了php實(shí)現(xiàn)上一頁(yè)下一頁(yè)功能的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-09-09phpMyAdmin鏈接MySql錯(cuò)誤 個(gè)人解決方案
phpMyAdmin 試圖連接到 MySQL 服務(wù)器,但服務(wù)器拒絕連接。您應(yīng)該檢查 config.inc.php 中的主機(jī)、用戶名和密碼,并且確定這些信息與 MySQL 服務(wù)器的管理員所給出的信息一致。2009-12-12php程序內(nèi)部post數(shù)據(jù)的方法
這篇文章主要介紹了php程序內(nèi)部post數(shù)據(jù)的方法,涉及curl的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03php中session_unset與session_destroy的區(qū)別分析
關(guān)于session_unset()和session_destroy()的函數(shù)使用進(jìn)行介紹。學(xué)習(xí)php的朋友可以參考下。2011-06-06