搜索引擎抓取動態網站頁面時面臨的問題:
從用戶的角度看,動態網站非常不錯,豐富了站點的 功能,但是對於搜索引擎來說,情況就不同了。根本的問題在於“輸入”和“選擇”,動態頁面是在用戶"輸入內容"或者進行“選擇”時動態生成的,但是搜索引 擎的“搜索機器人”無法“輸入”和“選擇”。比如我們要在當當書店站點查看馮英健的《網絡營銷基礎與實踐》一書,介紹頁面是動態生成的,URL地址是:http://www.dangdang.com/product_detail/product_detail.as- p?product_id=493698這裡在“?”後面的product_id參數值需要我們輸入的,“搜索機器人”可以通過鏈接找到http://www.dangdang.com/product_detail/product_detail.ASP 頁面,但是它無法輸入“?”後面的product_id參數值,從而無法抓取這個頁面文件。
另外,對於通過鏈接達到這種帶“?”的頁面,技術上搜索引擎可以抓取,但是一般情況下搜索引擎選擇不去抓取,這是為了避免一種叫“搜索機器人陷阱(spider traps)”的腳本錯誤,這種錯誤會讓搜索機器人進行無限循環的抓取,無法退出而浪費時間。
動態網站的優化策略:
動態網站要被搜索引擎抓取,可以采用內容發布系統軟件將動態站點轉化成靜態頁面,這種辦法對於頁面發布後變動少的站點比較合適,比如一些新聞類的站點(如新浪的新聞中心:http://news.sina.com.cn/)一般的動態網站可以通過下面的辦法讓搜索引擎抓取:
首先,我們要讓動態頁面的URL地址中沒有“?”,讓動態頁面看上去象“靜態頁面”。看看下面這個頁面http://www.amazon.com/exec/obiDOS/tg/detail/-/043935806X/ 這明顯是一個動態頁面,但是URL地址看上去卻象“靜態頁面”。針對不同的動態技術可以采用下面技術實現:
1、對於采用ASP技術的動態頁面Exception Digital公司提供一種工具叫著XQASP(http://www.xde.Net/p-
roducts/product_xqASP.htm)可以將“?”替換為“/”。
2、對於采用ColdFusion技術的站點,需要重新配置服務器上的ColdFusion,用“/”代替“?”將參數傳輸到URL,更詳細的信息請見http://coldfusion.com/站點。
3、對於使用Apache服務器的站點,可以使用rewrite模塊將帶參數的URL地址轉換成搜索引擎支持的形式,該模塊mod_rewrite在apache服務器中不是缺省安裝的,詳細的信息請見http://httpd.apache.org/docs/mod/mod_rewrite.Html。
對於其他的動態技術也能找到對應的方法改變URL的形式。然後,要創建一些靜態頁面指向這些動態頁面(以改變過的URL鏈接)。前面說過,搜索引擎機器 人並不會自己“輸入”參數,所以要讓上面這些動態頁面被搜索引擎抓取,我們還需要告訴機器人這些頁面的地址(也就是參數)。