關於網頁*靜態化*及SEO問題的一些補充

來源:互聯網
上載者:User

http://www.cnblogs.com/JeffreyZhao/archive/2009/07/06/more-on-page-statilization-and-seo.html 

前一篇討論“靜態頁”的文章反響不錯,不少朋友發表了自己的看法,也給老趙更多的想法。雖然也在前一篇文章後面回複了不少內容,但是就以往經驗來看,總結為一篇新的文章會讓我想表達的內容更為明確,對於“靜態化”這一非常容易被人誤解的概念來說也是非常重要的。

  我們還是先來討論一下,什麼叫做“靜態頁”。有朋友說,放在硬碟上的htm或html檔案便是一種靜態頁,Web伺服器不需要做額外的處理,直接讀取檔案內容並輸出就可以了,而這樣的靜態檔案對於SEO是有協助的。至於理由,是搜尋引擎會對html結尾的檔案給更好的權值(這好像還是結論,不是理由),而這是“常識”,“瞭解一點SEO的人都知道這個”,“人們普遍在使用的做法”,因此“它一定是正確的”。不過其實Google並不這麼認為,百度倒沒有給出專業說法。

  當然,我們已經重複強調,但還是需要不斷明確的一點是,即使搜尋引擎對於“靜態頁”有更好的傾向性,那也是因為其“URL樣式”,而不是“在硬碟上放置了一個html檔案”。請求方(也就是爬蟲)只是向伺服器端發送一個URL,並擷取伺服器端給出的內容。它不會關心,也無法瞭解伺服器端究竟是如何得到頁面內容的,對於用戶端來說,世界上沒有“靜態”或“動態”頁面之分。有些朋友可能還是會說“不會啊,html就是靜態頁面,像aspx之類的就是動態網頁面,前者不需要在Web伺服器上運算,後者需要”。

  真是這樣的嗎?並非如此,因為html檔案也是需要Web伺服器來運算的。例如,您請求一個html檔案,Web伺服器至少做了幾件事情:

  • 如果請求包含緩衝資訊,那麼處理緩衝狀態。
  • 根據URL定位到磁碟上的檔案。
  • 進行使用者認證和授權(如,是否匿名?)。
  • 判斷是否有許可權讀取。
  • 讀取檔案。
  • 根據檔案類型設定MIME的值。
  • 根據檔案最後修改日期設定Last-Modified值。
  • 根據檔案內容及其他狀態設定其E-Tag值。
  • 如果檔案內部有include標記,那麼讀取另一個檔案填充進來。

  看看,處理一個檔案需要多少“動態運算”啊,這些可都是在Web伺服器(如IIS)載入一個html所做的事情。如果您想要觀察這些過程,可以閱讀一些Web伺服器的原始碼,或者去觀察一下ASP.NET中System.Web.StaticFileHandler類所做的事情,它也體現了Web伺服器處理html時的關鍵之處。事實上,如果您在IIS中將html配置給ASP.NET ISAPI的話,或者使用VS內建的Web伺服器,最後便是由StaticFileHandler來輸出硬碟上的檔案的。

  所以,雖然我們看起來Web伺服器只是簡單地讀取了硬碟上的檔案,但其實它還是不如我們想象的那麼簡單。不過對於用戶端來說,這一切都是不可知的。例如Squid,Nginx這樣部署在前端的緩衝或反向 Proxy伺服器,它們都不會關心後端Web伺服器是Windows,Linux還是Unix,也不會關心是IIS,Apache,Lightted甚至是我們自己寫的高效或低劣的Web伺服器。對於瀏覽器,爬蟲,或前端負載平衡器來說,它們只知道TCP/IP協議,它們只知道HTTP協議等東西,其他一概不知。

  不過,也有朋友堅持認為“產生靜態頁”來“進行頁面緩衝”對SEO有協助。理由是,“進行頁面緩衝”能夠提高網站效能,爬蟲更傾向於訪問速度更快的頁面。從這個角度看來,這種說法的確有一定道理。只是我還是不喜歡這樣的看法,因為這種說法沒有把握事物關鍵。在這裡,SEO的關鍵在於最佳化網站效能,而產生靜態頁只是一種手段之一。這並不是適用性最廣的,也並非是最容易實現的。如果您直接把“產生靜態頁”與“SEO”聯絡起來,很有可能會對他人造成誤解。

  當然,如果您的思路沒有問題,“靜態頁”三個字的指代也足夠明確,“靜態頁有利於SEO”這個命題毫無疑問是正確的。不過我們現在並沒有討論一個命題的邏輯是否正確,我們也不必糾纏於一個表達形式是否嚴謹,我們的目的是要說明道理。也正因為如此,老趙才會一遍一遍地寫這麼多內容。也就是說,這幾篇文章的關鍵在於“說清道理”,我們把握它既可。

  最後,老趙再談一下對SEO這個工作的看法。

  從老趙與各SEO人員的接觸感覺來看,他們總是有各種理由來說明“問題所在”,只是如果在改進問題之後還是沒有效果的話,他們又可以找出各種理由來告訴你為什麼沒有效果——但是要知道SEO是一個實踐性工作,它的唯一判斷依據便是“效果”,而不是“理論”。SEO的理論很容易掌握,但是如果無法真切提高一個網站在搜尋引擎上的表現,這一切還是白搭。老趙認為,一個好的SEO是需要瞭解網頁製作,或者說網站開發的基本技術的,至少要有常識,否則基本上就是在扯蛋。老趙曾經接觸過一個“專業”的SEO公司,那裡的“SEO諮詢師”給我留下了深刻的印象——負面印象。其“非專業性”從以下幾個事件中便可見一斑:

  1. 還是“靜態頁”的問題。由於把URL變為.html結尾之後並沒有得到明顯的效果,他詢問我們的實現方式。在得知我們使用了URL重寫,而不是在硬碟上放置html檔案時他“驚呼”這種欺騙搜尋引擎的行為是會起到反效果的。他強烈要求我們在硬碟上放置html檔案。這個要求自然遭到了我們的拒絕,原因之一是我們是非常動態網站,很難實現這個需求,但是更重要的是,懂得一點技術的人就知道,Web伺服器的處理方式對於搜尋引擎爬蟲時完全不可見的,我們是否真正放置html檔案與搜尋引擎沒有任何關係。
  2. 內容的位置問題。在SEO界有種說法是,搜尋引擎會更傾向於把頁面靠前的內容看的更重,而把頁面靠後的內容權值放低。因此那位專業SEO諮詢師指著我們的某張頁面說,這部分內容太靠“下方”,很容易被搜尋引擎忽略。請注意,他說的是“內容在頁面顯示的時候出現在下方”。您覺得這種說法有道理嗎?如今頁面配置往往使用XHTML+CSS的方式,而搜尋引擎只會關注HTML的內容,而“位置”很大程度上是由CSS,甚至是由JS來控制的。出現在HTML內容前段的內容,在頁面呈現時也可以出現在下方,這也和搜尋引擎沒有任何關係。可惜這一點也解釋了半天。
  3. 最後一條可以說是最可笑的。因為SEO效果不好,那位SEO諮詢師覺得只能“來真的”了,於是向我們索要網站的IIS日誌。分析日誌對於SEO有些協助,因為可以看出爬蟲的抓取順序,頻率,甚至結果等等,因此查看日誌的做法本沒有問題。可惜問題在於,對方從MSN上給出一個郵箱,讓我們把過去幾個星期的日誌發給他。當看到這個要求的時候,老趙幾乎要破口大罵。從這點可以看出,這位SEO諮詢師缺少必要的嘗試,他根本不知道一個中小型的網站,每天便要產生幾百兆到幾個G的日誌。如此沒有常識,為什麼會有那麼多“成功案例”?

  老趙的部落格(也就是您正在看的這個)在搜尋引擎上的表現也非常糟糕,即使是老趙經常寫作的話題,在Google上也很難找到幾篇文章,排名也不太靠前。如果不使用site:cnblogs.com進行限制的話,幾乎沒有一篇文章是找到我的blog,都是各種地方的轉載。為此我也比較苦惱,諮詢了一些專業搞SEO的朋友,做出一些修改之後還是沒有太大改善。不過我相信那隻是我沒有遇上優秀的SEO人員而已,我的部落格的潛力還遠沒有挖掘到底。

  如果您是一個專業的SEO人員,或者是專業的SEO公司,不妨給我一些建議——如果可以的話,我也不介意在這方面進行一點投資。不過,如果是一些“骯髒”的最佳化方式就不必了,例如去論壇上貼連結,發垃圾郵件。我也知道這些做法很有效果,但是我不想這樣做。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.