談一談動態網站的搜尋引擎最佳化策略

來源:互聯網
上載者:User
動態網站的搜尋引擎最佳化策略

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

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

  最早互連網出現時,網站內容都是以HTML靜態頁面形式存放在伺服器上,訪問者瀏覽到的頁面都是這些實際存在的靜態頁面。隨著技術的發展,特別是資料庫和指令碼技術PERL、ASP、PHP和JSP的發展,越來越多的網站都開始採取動態頁面發布手段。比如,我們在GOOGLE.COM上搜尋一個內容,得到的搜尋結果分頁檔"本身"在GOOGLE伺服器上並不存在,而是通過程式在我們輸入搜尋內容時調用後台資料庫即時產生的,也就是說,這些結果頁面是動態。

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

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

  從使用者的角度看,動態網站非常不錯,豐富了網站的功能,但是對於搜尋引擎來說,情況就不同了。(關於搜尋引擎和分類目錄的區別,以及搜尋引擎的工作原理,請? "瞭解搜尋引擎")

  根本的問題在於"輸入"和"選擇",動態網頁面是在使用者"輸入內容"或者進行"選擇"時動態產生的,但是搜尋引擎的"搜尋機器人"無法"輸入"和"選擇"。比如我們要在噹噹書店網站查看馮英健的《網路營銷基礎與實踐》一書,介紹頁面是動態產生的,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地址,請注意:

  ·檔案URL中不要有Session Id,同時不要用ID作為參數名稱(特別是對於GOOGLE);

  ·參數越少越好,盡量不要超過2個;

  ·能在URL中不用參數盡量不要用,一些參數轉移到其他地方,這樣可以增加動態網頁面被抓取的深度和數目。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.