許多網站設計者最常犯的錯誤便是當其網頁能夠在IE下正常顯示便認為其代碼正確無誤,甚至常看到有人在抱怨其網站排名不理想,到其網站簡單看一下便可發現HTML程式碼中充斥各種各樣的錯誤,在那樣的程式碼基礎上無論付出多少努力去優化網站結果都可能是付諸流水的啊!
事實上,IE是一款對HTML程式碼容錯能力甚高的的瀏覽器,--說句題外話,儘管我們可以有各式各樣的理由可以攻擊微軟,但微軟對其產品操作的易手性和可用性所做的努力是不容抹殺的。 ——Web頁面能夠在IE下正常顯示絕不代表頁面的HTML程式碼沒有問題,甚至可以推而廣之,Web頁面在多種瀏覽器下均可正常顯示也不代表HTML程式碼完全合法有效,畢竟哪個瀏覽器都要保證基本的容錯的功能,不然,就會發生即使僅僅因為網絡傳輸中的一點導致導致HTML頁面顯示不正常了,而這在網絡頻寬仍然緊張的今天仍是頻繁發生的。
什麼是合法有效的HTML程式碼
簡單說來,我們的Web頁面是由HTML(Hypertext Markup Language : 超文本連結標示語言)元素構成的,即使對於ASP、PHP之類的動態頁面,其也是由SERVER將ASP或PHP語句渲染成對應的HTML元素並下傳到客戶機上;對於JavaScript之類則由客戶端將其轉換為HTML。
同其他語言一樣,HTML也有自己的語法規則,無論是瀏覽器還是搜尋引擎的Spider都在根據這些規則來分析網頁程式碼中的內容。但很多時候,即使對熟練人員來說,在HTML頁面建置時仍然難免出些HTML程式碼上的錯誤,更別提大部分所見即所得編輯器造成的HTML冗餘臃腫問題了。
如果頁面中不存在違反HTML標準語法規範的成分,即可稱為合法有效的HTML代碼
合法有效的HTML程式碼對SEO的重要性
要讓搜尋引擎收錄我們的網頁,--在此基礎上才能談網站優化網站推廣--其前提是要讓搜尋引擎的Spider能讀懂我們的Web檔。搜尋引擎Spider閱讀網頁的依據便是HTML規範,透過對HTML程式碼的分析,Spider才能判斷網頁內容,在此基礎上才能判斷針對對應關鍵字的相關性。
需要明確的是,搜尋引擎Spider不同於瀏覽器的一點便是其容錯能力相對於瀏覽器要差不少,如果頁面代碼中存在其無法解釋的HTML代碼時,其便可能停止閱讀該頁面甚至可能停止在我們的網站內爬行,更嚴重的錯誤甚至會導致其同時也丟棄已經收集到的網站內其他頁面的內容資訊。
儘管如今如大主要搜尋引擎也都在盡力提高Spider的容錯能力,讓其可以在HTML代碼出現一般性錯誤時不至影響對內容的收集。但很多時候,仍然會發生如漏了一個關閉標籤導致整個頁面的內容被忽略的情況。
另一方面,合法有效的HTML也可以保證Web頁面可以在多種瀏覽器下被正確解釋,避免同一個頁面在IE下顯示正常在Mozilla下卻嚴重變形的情況(當然,不能完全避免),這對於提高網站的可用性方面也是有著極大好處的。
如何驗證HTML程式碼的合法有效?
Internet有很多類似的免費服務可以幫我們驗證網頁程式碼是否合法有效,其中最著名的即是W3C HTML Validator ,這是由W3C( World Wide Web Consortium:萬維網聯盟)官方推出的免費服務項目,在其頁面上只需輸入待驗證的HTML位址或上傳一個在本機上的HTML檔案即可,其會很快返回校驗結果,是否無誤,如有錯誤分別為哪些及如何改進等。
同時,W3C HTML Validator也提供對CSS檔案的驗證服務。
一定要通過W3C的驗證麼?
對這個問題的答案則不那麼絕對。
理論上說,合法的HTML程式碼能夠讓搜尋引擎的Spider在更容易收集網站頁面的內容資訊。但另一方面,並不是所有的HTML程式碼錯誤都會影響到Spider的爬行,也也就是是說,HTML存在少量的錯誤對Spider來說也是可接受的,那麼,一定要通過W3C認證麼?
另一方面,如在Mark Daoust的測試中,甚至暗喻(未肯定地下結論)存在少量HTML代碼錯誤在頁面在Google排名中能更佔優勢,當然這存在很大爭議,但至少證明了存在少量HTML程式碼錯誤並不影響網頁在SERP的排名。
個人觀點,如果您對HTML相對不那麼熟悉的話,倒也不必強求非得100%通過W3C的驗證,畢竟把更多的時間與精力放到真正應該努力的方向如創建內容與鏈接才是根本,但要確保HTML程式碼中不存在大的嚴重性錯誤。當然,如果您對HTML語言較為精通,那麼,何妨稍花點功夫以確保其完全無誤呢?因此,我們要做的倒不一定非得通過W3C認證,但至少要保證其在各種瀏覽器下顯示正常,保證搜尋引擎的Spider能夠正常分析。
提高HTML程式碼的效率
前文我們提說過很多所見即所得編輯器造成的HTML冗餘臃腫問題,這種情況在很多中文網站相當普遍。所見即所得編輯器如FrontPage、Dreamweaver,尤其在其對一個網頁進行修改的時候,往往會產生很多不必要的冗餘程式碼。當頁面的HTML檔案在有大量的冗餘程式碼時,檔案就會變得臃腫,這不但會降低網頁的開啟速度,損害到網頁的效率,同時也會嚴重影響到相當網頁的搜尋引擎排名。
與其把精力投入到一定通過W3C認證上,個人認為,倒不如把更多的精力放到精減代碼上,如引入CSS等,以實現代碼的干淨簡潔。這樣的優化效果會更明顯。