動態網站的搜索引擎策略

摘要:動態網站豐富了網站的功能,但是對於搜索引擎來說,情況就不同了,動態頁面是在用戶“輸入內容”或者進行“選擇”時動態生成的,但是搜索引擎的“搜索機器人”無法“輸入”和“選擇”。另外,搜索引擎要避免“搜索機器人陷阱(spider traps)”的腳本錯誤。

一、動態網站的出現和優勢

  最早互聯網出現時,站點內容都是以HTML靜態頁面形式存放在服務器上,訪問者瀏覽到的頁面都是這些實際存在的靜態頁面。隨着技術的發展,特別是數據庫和腳本技術PERL、ASP、PHP和JSP的發展,越來越多的站點都開始採取動態的頁面發佈手段。比如,我們在Google.COM上搜索一個內容,得到的搜索結果頁面文件"本身"在Google服務器上並不存在,而是通過程序在我們輸入搜索內容時調用後臺數據庫實時生成的,也就是說,這些結果頁面是動態的。

  靜態頁面的站點只涉及文件的傳輸問題,而動態站點則複雜得多,用戶和站點之間出現大量的交互,網站不再僅僅是內容的發佈,而是成爲了一種"應用(Application)",是軟件業向互聯網上的擴張,從軟件的角度看,動態站點是邏輯應用層和數據層的分離,數據庫負責站點數據的存儲管理,而ASP、PHP、JSP等負責處理站點的邏輯應用。這樣做的好處除了增加很多交互功能外,更重要的是站點的維護、更新和升級都方便了許多。可以說,沒有動態網站技術,目前互聯網上的這些超大型站點就不可能出現。

二、搜索引擎抓取動態網站頁面時面臨的問題

  從用戶的角度看,動態網站非常不錯,豐富了站點的功能,但是對於搜索引擎來說,情況就不同了。(關於搜索引擎和分類目錄的區別,以及搜索引擎的工作原理,請? "瞭解搜索引擎"http://www.emarketer.cn/em/expert/45.htm)

  根本的問題在於"輸入"和"選擇",動態頁面是在用戶"輸入內容"或者進行"選擇"時動態生成的,但是搜索引擎的"搜索機器人"無法"輸入"和"選擇"。比如我們要在噹噹書店站點查看馮英健的《網絡營銷基礎與實踐》一書,介紹頁面是動態生成的,URL地址是:http://www.dangdang.com/product_detail/product_detail.asp?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地址看上去卻象"靜態頁面"。針對不同的動態技術可以採用下面技術實現:

  ·對於採用ASP技術的動態頁面Exception Digital公司提供一種工具叫着XQASP(http://www.xde.net/products/product_xqasp.htm )可以將"?"替換爲"/"。
  ·對於採用ColdFusion技術的站點,需要重新配置服務器上的ColdFusion,用"/"代替"?"將參數傳輸到URL,更詳細的信息請見http://coldfusion.com/ 站點。
  ·對於使用Apache服務器的站點,可以使用rewrite模塊將帶參數的URL地址轉換成搜索引擎支持的形式,該模塊mod_rewrite在Apache服務器中不是缺省安裝的,詳細的信息請見http://httpd.apache.org/docs/mod/mod_rewrite.html 。

  對於其他的動態技術也能找到對應的方法改變URL的形式。

  然後,要創建一些靜態頁面指向這些動態頁面(以改變過的URL鏈接)。
前面說過,搜索引擎機器人並不會自己"輸入"參數,所以要讓上面這些動態頁面被搜索引擎抓取,我們還需要告訴機器人這些頁面的地址(也就是參數)。我們可以創建一些靜態的頁面,一般在網絡營銷中稱? "gateway page"(入口頁面),這些頁面上有大量指向這些動態頁面的鏈接。

  將這些入口頁面的地址提交到搜索引擎,這些頁面和鏈接的動態頁面(改變過URL形式)就能都被搜索引擎抓取了。

四、搜索引擎對動態網站支持的改進

  在我們調整動態站點適應搜索引擎的同時,搜索引擎也在發展。到目前爲止,絕大多數的搜索引擎還不支持動態頁面的抓取,但是Google、HOTBOT等和國內的百度開始嘗試抓取動態網站頁面(包括? "?"的頁面),這就是我們現在在這些搜索引擎進行搜索時,結果中出現動態鏈接的原因。

  這些搜索引擎抓取動態頁面時,爲了避免"搜索機器人陷阱",都只抓取從靜態頁面(至少"看上去"是靜態的頁面)鏈接到的動態頁面,而從動態頁面鏈接出的動態頁面都不再抓取。

  所以一個動態站點如果只針對上面這些搜索引擎,可以在上面小節介紹方法的基礎上簡化:只用創建一些入口頁面,鏈接很多動態頁面,然後將這些入口頁面遞交到這些搜索引擎就可以了。

  對於直接使用動態的URL地址,請注意:

  1. 文件URL中不要有Session Id,同時不要用ID作爲參數名稱(特別是對於Google)
  2. ·參數越少越好,儘量不要超過2個
  3. 能在URL中不用參數儘量不要用,一些參數轉移到其他地方,這樣可以增加動態頁面被抓取的深度和數目。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章