許多網(wǎng)站設(shè)計(jì)者最常犯的錯(cuò)誤便是當(dāng)其網(wǎng)頁(yè)能夠在IE下正常顯示便認(rèn)為其代碼正確無(wú)誤,甚至常看到有人在抱怨其網(wǎng)站排名不理想,到其網(wǎng)站簡(jiǎn)單看一下便可發(fā)現(xiàn)HTML代碼中充斥各種各樣的錯(cuò)誤,在那樣的代碼基礎(chǔ)上無(wú)論付出多少努力去優(yōu)化網(wǎng)站結(jié)果都可能是付諸流水的啊!
許多網(wǎng)站設(shè)計(jì)者最常犯的錯(cuò)誤便是當(dāng)其網(wǎng)頁(yè)能夠在IE下正常顯示便認(rèn)為其代碼正確無(wú)誤,甚至??吹接腥嗽诒г蛊渚W(wǎng)站排名不理想,到其網(wǎng)站簡(jiǎn)單看一下便可發(fā)現(xiàn)HTML代碼中充斥各種各樣的錯(cuò)誤,在那樣的代碼基礎(chǔ)上無(wú)論付出多少努力去優(yōu)化網(wǎng)站結(jié)果都可能是付諸流水的?。?/P>
事實(shí)上,IE是一款對(duì)HTML代碼容錯(cuò)能力甚高的的瀏覽器,——說(shuō)句題外話(huà),盡管我們可以有各式各樣的理由可以攻擊微軟,但微軟對(duì)其產(chǎn)品操作的易手性及可用性方面所做的努力是不容抹殺的?!猈eb頁(yè)面能夠在IE下正常顯示絕不意味著頁(yè)面的HTML代碼沒(méi)有問(wèn)題,甚至可以推而廣之,Web頁(yè)面在多種瀏覽器下均可正常顯示也不意味著HTML代碼完全合法有效,畢竟哪個(gè)瀏覽器都要保證基本的容錯(cuò)的功能,不然,就會(huì)發(fā)生即使僅僅因?yàn)榫W(wǎng)絡(luò)傳輸中的一點(diǎn)導(dǎo)致導(dǎo)致HTML頁(yè)面顯示不正常了,而這在網(wǎng)絡(luò)帶寬仍然緊張的今天仍是頻繁發(fā)生的。
什么是合法有效的HTML代碼
簡(jiǎn)單說(shuō)來(lái),我們的Web頁(yè)面是由HTML(Hypertext Markup Language : 超文本鏈接標(biāo)示語(yǔ)言)元素構(gòu)成的,即使對(duì)于ASP、PHP之類(lèi)的動(dòng)態(tài)頁(yè)面,其也是由SERVER將ASP或PHP語(yǔ)句渲染成相應(yīng)的HTML元素并下傳到客戶(hù)機(jī)上;對(duì)于JavaScript之類(lèi)則由客戶(hù)端將其轉(zhuǎn)換為HTML。
同其他語(yǔ)言一樣,HTML也有自己的語(yǔ)法規(guī)則,無(wú)論是瀏覽器還是搜索引擎的Spider都在根據(jù)這些規(guī)則來(lái)分析網(wǎng)頁(yè)代碼中的內(nèi)容。但很多時(shí)候,即使對(duì)熟練人員來(lái)說(shuō),在HTML頁(yè)面構(gòu)建時(shí)仍然難免出些HTML代碼上的錯(cuò)誤,更別提大部分所見(jiàn)即所得編輯器造成的HTML冗余臃腫問(wèn)題了。
如果頁(yè)面中不存在違背HTML標(biāo)準(zhǔn)語(yǔ)法規(guī)范的成分,即可被稱(chēng)為合法有效的HTML代碼
合法有效的HTML代碼對(duì)SEO的重要性
要使搜索引擎收錄我們的網(wǎng)頁(yè),——在此基礎(chǔ)上才能談網(wǎng)站優(yōu)化網(wǎng)站推廣——其前提是要讓搜索引擎的Spider能讀懂我們的Web文件。搜索引擎Spider閱讀網(wǎng)頁(yè)的根據(jù)便是HTML規(guī)范,通過(guò)對(duì)HTML代碼的分析,Spider才能判斷網(wǎng)頁(yè)內(nèi)容,在此基礎(chǔ)上才能判斷針對(duì)相應(yīng)關(guān)鍵詞的相關(guān)性。
需要明確的是,搜索引擎Spider不同于瀏覽器的一點(diǎn)便是其容錯(cuò)能力相對(duì)于瀏覽器要差不少,如果頁(yè)面代碼中存在其無(wú)法解釋的HTML代碼時(shí),其便可能停止閱讀該頁(yè)面甚至可能停止在我們的網(wǎng)站內(nèi)爬行,更嚴(yán)重的錯(cuò)誤甚至?xí)?dǎo)致其同時(shí)也丟棄已經(jīng)收集到的網(wǎng)站內(nèi)其他頁(yè)面的內(nèi)容信息。
盡管如今如大主要搜索引擎也都在盡力提高Spider的容錯(cuò)能力,讓其可以在HTML代碼出現(xiàn)一般性錯(cuò)誤時(shí)不至影響對(duì)內(nèi)容的收集。但很多時(shí)候,仍然會(huì)發(fā)生如漏了一個(gè)關(guān)閉標(biāo)簽導(dǎo)致整個(gè)頁(yè)面的內(nèi)容被忽略的情況。
另一方面,合法有效的HTML也可以保證Web頁(yè)面可以在多種瀏覽器下被正確解釋?zhuān)苊馔粋€(gè)頁(yè)面在IE下顯示正常在Mozilla下卻嚴(yán)重變形的情況(當(dāng)然,不能完全避免),這對(duì)于提高網(wǎng)站的可用性方面也是有著極大好處的。
如何驗(yàn)證HTML代碼的合法有效?
Internet有很多類(lèi)似的免費(fèi)服務(wù)可以幫我們驗(yàn)證網(wǎng)頁(yè)代碼是否合法有效,其中最著名的即是 W3C HTML Validator ,這是由W3C( World Wide Web Consortium:萬(wàn)維網(wǎng)聯(lián)盟)官方推出的免費(fèi)服務(wù)項(xiàng)目,在其頁(yè)面上只需輸入待驗(yàn)證的HTML地址或者上傳一個(gè)在本地機(jī)上的HTML文件即可,其會(huì)很快返回校驗(yàn)結(jié)果,是否無(wú)誤,如有錯(cuò)誤分別為哪些及如何改進(jìn)等。
同時(shí),W3C HTML Validator也提供對(duì)CSS文件的驗(yàn)證服務(wù)。
一定要通過(guò)W3C的驗(yàn)證么?
對(duì)這個(gè)問(wèn)題的答案則不那么絕對(duì)。
理論上說(shuō),合法的HTML代碼能夠使搜索引擎的Spider在更容易地收集網(wǎng)站頁(yè)面的內(nèi)容信息。但另一方面,并不是所有的HTML代碼錯(cuò)誤都會(huì)影響到Spider的爬行,也即是說(shuō),HTML存在少量的錯(cuò)誤對(duì)Spider來(lái)說(shuō)也是可接受的,那么,一定要通過(guò)W3C認(rèn)證么?
另一方面,如在Mark Daoust的測(cè)試中,甚至暗喻(未肯定地下結(jié)論)存在少量HTML代碼錯(cuò)誤在頁(yè)面在Google排名中能更占優(yōu)勢(shì),當(dāng)然這存在很大爭(zhēng)議,但至少證明了存在少量HTML代碼錯(cuò)誤并不影響網(wǎng)頁(yè)在SERP中的排名。
個(gè)人觀點(diǎn),如果您對(duì)HTML相對(duì)不那么熟悉的話(huà),倒也不必強(qiáng)求非得100%通過(guò)W3C的驗(yàn)證,畢竟把更多的時(shí)間與精力放到真正應(yīng)該努力的方向如創(chuàng)建內(nèi)容與鏈接才是根本,但要保證HTML代碼中不存在大的嚴(yán)重性錯(cuò)誤。當(dāng)然,如果您對(duì)HTML語(yǔ)言較為精通,那么,何妨稍花點(diǎn)功夫以確保其完全無(wú)誤呢?因此,我們要做的倒不一定非得通過(guò)W3C認(rèn)證,但至少要保證其在各種瀏覽器下顯示正常,保證搜索引擎的Spider能夠正常分析。
提高HTML代碼的效率
前文我們提說(shuō)過(guò)很多所見(jiàn)即所得編輯器造成的HTML冗余臃腫問(wèn)題,這種情況在很多中文網(wǎng)站相當(dāng)普遍。所見(jiàn)即所得編輯器如FrontPage、Dreamweaver,尤其在其對(duì)一個(gè)網(wǎng)頁(yè)進(jìn)行修改的時(shí)候,往往會(huì)產(chǎn)生很多不必要的冗余代碼。當(dāng)頁(yè)面的HTML文件在存在大量的冗余代碼時(shí),文件便會(huì)變得臃腫,這不但會(huì)降低網(wǎng)頁(yè)的打開(kāi)速度,損害到網(wǎng)頁(yè)的效率,同時(shí)也會(huì)嚴(yán)重影響到相當(dāng)網(wǎng)頁(yè)的搜索引擎排名。
與其把精力投入到一定通過(guò)W3C認(rèn)證上,個(gè)人認(rèn)為,倒不如把更多的精力放到精減代碼上,如引入CSS等,以實(shí)現(xiàn)代碼的干凈簡(jiǎn)潔。這樣的優(yōu)化效果會(huì)更明顯。