程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP實現向訪客和爬蟲顯示不同的內容

PHP實現向訪客和爬蟲顯示不同的內容

編輯:關於PHP編程

  為了提高網頁的用戶體驗, 我們經常會做一些對搜索引擎不太友好的事情, 但某些情況下這並不是無法挽回的, 可以通過向自然人和搜索引擎機器人顯示不同的內容來提供好的用戶體驗和 SEO.

  聽說本方法會觸犯搜索引擎的一些操作原則, 有可能被被各搜索引擎處罰, 甚至刪除網站. 所以我剛剛已經撤下這樣的處理, 直到確定其不屬於作弊. 有魄力的朋友可以繼續使用, 但後果自負.

  本博客的首頁和存檔頁面以列表的形式顯示文章, 在訪客點擊展開文章時才加載文章的內容. 因為文章的內容部分包含了大量的文字和圖片, 需要大量的加載時間和流量. 盡快地向訪客展示網頁可以挽留大量的來訪者. 而對於手機用戶來說, 加載時間和流量則更為重要.

  一般來說, 網站的首頁是搜索引擎訪問最多的頁面, 應該盡可能的向它們展示有意義的內容, 但是要以列表的形式顯示文章的話, 訪客和搜索引擎只能獲取到文章標題信息. 文章內容或者摘要 (尤其是文章的第一句) 對於 SEO 來說是極其重要的, 所以我們要設法向爬蟲發送這些內容.

  好, 我們可以通過 User Agent 來判斷訪問者是否為爬蟲, 如果是, 則以一般形式顯示文章, 否則以列表形式顯示文章列表. 可以用以下的 PHP 方法判斷是否為爬蟲:

Copy to ClipboardLiehuo.Net Codes引用的內容:[www.bkjia.com] function is_crawler() {
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
$spiders = array(
‘Googlebot’, // Google 爬蟲
‘Baiduspider’, // 百度爬蟲
‘Yahoo! Slurp’, // 雅虎爬蟲
‘YodaoBot’, // 有道爬蟲
‘msnbot’ // Bing爬蟲
// 更多爬蟲關鍵字
);
foreach ($spiders as $spider) {
$spider = strtolower($spider);
if (strpos($userAgent, $spider) !== false) {
return true;
}
}
return false;
}

  這是我使用的方法, 各爬蟲以訪問評論由高到低進行排序. 然後通過下面的的方法向爬蟲和自然人顯示不同的內容

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved