觸屏版
全國服務(wù)熱線:0571-87205688
登錄
注冊
客戶中心
關(guān)注云客
作為一名網(wǎng)站SEO優(yōu)化人員,對于網(wǎng)站代碼必須要有所了解,這是做網(wǎng)站優(yōu)化的必備要素之一,網(wǎng)站推廣要想獲得好的績效,源代碼是很關(guān)鍵,挑剔的搜索引擎蜘蛛對于簡潔的網(wǎng)站代碼是情有獨(dú)鐘的,這就需要我們對網(wǎng)站代碼進(jìn)行精簡及優(yōu)化。
網(wǎng)頁的精簡說白了就是網(wǎng)站代碼優(yōu)化,去掉網(wǎng)站多余的代碼,以減少網(wǎng)站的大小,提高網(wǎng)站的加載速度和用戶體驗(yàn)。
網(wǎng)站代碼優(yōu)化是站長必須要掌握的基本技能,這關(guān)系到搜索引擎蜘蛛是否會(huì)對你的網(wǎng)站感興趣,冗長無用的代碼會(huì)讓蜘蛛很難理解,增加蜘蛛抓取網(wǎng)站的難度,同時(shí),網(wǎng)頁的精簡還關(guān)系到網(wǎng)站的加載速度,對用戶體驗(yàn)至關(guān)重要。
1、head部分代碼規(guī)范化
HEAD部分代碼是搜索引擎爬行網(wǎng)站的入口部分,現(xiàn)在很多網(wǎng)站的頭部代碼都相當(dāng)統(tǒng)一化,刻板效應(yīng)明顯十足,這樣的網(wǎng)站代碼是像模板框架一樣是不被spider喜歡的,而我們要做的就是將網(wǎng)站的代碼規(guī)范化,建立起網(wǎng)站獨(dú)一無二的head部分,讓搜索引擎有新鮮感,這樣才能夠吸引spider爬行。
2、使用div+css布局網(wǎng)頁
雖然現(xiàn)在div+css已經(jīng)很成熟了,但是很多網(wǎng)頁設(shè)計(jì)者可能考慮到網(wǎng)頁的兼容性以及布局的簡易性還是使用老式的table布局,雖然table布局很方便,但是其弊端也是顯而易見的,那就是會(huì)大大增加網(wǎng)頁的大小,尤其是多層表格的嵌套,這種布局不僅會(huì)提升體積,同時(shí)如果嵌套數(shù)太多的話就會(huì)影響到搜索引擎的爬行,影響到站點(diǎn)的收錄。
另外,一些網(wǎng)站會(huì)使用外部文件,將css和js放在外部文件中,頁面html中只要放一樣代碼調(diào)用就可以了,有時(shí)候我們?nèi)ゲ榭吹囊恍┰次募a,會(huì)看到很多css代碼以及javasript代碼,將javascript放置在網(wǎng)站頁面的html文件中的最前面,而真正能用到得一些文字部分這被推倒了html的后面,筆者認(rèn)為這種代碼都需要精簡。
3、CSS優(yōu)化
CSS是頁面效果呈現(xiàn)中非常重要的組成部分,它包括顏色、大小尺寸、背景和字體等。寫CSS很簡單很容易,但是要想寫出精煉的CSS代碼還是有很多技巧的。
(1)、CSS位置
CSS說明如果出現(xiàn)在網(wǎng)站之后,頁面需要重新渲染,打開速度受到影響,所有css定義代碼的位置要放到網(wǎng)站之前。
(2)、csssprite技術(shù)
網(wǎng)站上的一些圖片可以采用csssprite技術(shù)進(jìn)行合并,減少加載請求次數(shù),從而提高網(wǎng)頁的加載速度。
(3)、CSS代碼優(yōu)化
通過對css代碼屬性的簡寫、移除多余的結(jié)構(gòu)(frameworks)和重設(shè)(resets)等一系列的方法和技巧來簡化css代碼,減小css文件的大小。
(4)、盡量不要使用內(nèi)嵌式CSS
內(nèi)嵌式CSS分為兩種,一是在head區(qū)域的普通內(nèi)嵌式;二是在標(biāo)簽內(nèi)出現(xiàn)的行內(nèi)內(nèi)嵌式CSS,無論是何種內(nèi)嵌CSS方式結(jié)果都會(huì)提升頁面的體積,對此,我們可以盡量使用外調(diào)式的CSS來為站點(diǎn)頁面的體積瘦身。
Google建議:
(1)如果外部CSS資源較小,您可以直接將這些內(nèi)容插入到HTML文檔中,這稱為“內(nèi)嵌”。通過這種方式內(nèi)嵌較小CSS資源,瀏覽器可以繼續(xù)呈現(xiàn)網(wǎng)頁。如果CSS文件較大,您需要識(shí)別和內(nèi)嵌呈現(xiàn)首屏內(nèi)容所需的CSS,并暫緩加載其余樣式,直到首屏內(nèi)容顯示之后為止。
(2)請勿內(nèi)嵌較大數(shù)據(jù)URI
在CSS文件中內(nèi)嵌數(shù)據(jù)URI時(shí),請務(wù)必慎重。您可以在CSS中選擇使用較小數(shù)據(jù)URI,因?yàn)閮?nèi)嵌較大數(shù)據(jù)URI會(huì)導(dǎo)致首屏CSS變大,進(jìn)而延緩網(wǎng)頁呈現(xiàn)時(shí)間。
(3)請勿內(nèi)嵌CSS屬性
應(yīng)盡量避免在HTML元素(例如,<pstyle=...>)中內(nèi)嵌CSS屬性,因?yàn)檫@經(jīng)常會(huì)導(dǎo)致出現(xiàn)多余的重復(fù)代碼。此外,內(nèi)容安全政策(CSP)會(huì)在默認(rèn)情況下阻止在HTML元素上內(nèi)嵌CSS。
4、JS優(yōu)化
JS優(yōu)化與其他語言的優(yōu)化也仍然有相同之處,JS優(yōu)化的關(guān)鍵,仍然是要把精力放在最關(guān)鍵的地方,也就是瓶頸上,一般來說,瓶頸總是出現(xiàn)在大規(guī)模循環(huán)的地方,這倒不是說循環(huán)本身有性能問題,而是循環(huán)會(huì)迅速放大可能存在的性能問題。
(1)、JS位置
網(wǎng)頁代碼中對js進(jìn)行優(yōu)化的時(shí)候,筆者建議將JS放在頁面最后,這樣可以加快頁面打開速度。
(2)、合并JS
合并相同域名下的js,通過減少網(wǎng)絡(luò)連接次數(shù)從而提高網(wǎng)頁的打開速度。
(3)、LazyLoad(延遲加載)技術(shù)
LazyLoad是一個(gè)用JavaScript編寫的jQuery插件,它可以延遲加載長頁面中的圖片,在瀏覽器可視區(qū)域外的圖片不會(huì)被載入,直到用戶將頁面滾動(dòng)到它們所在的位置。
(4)、JS代碼外部的調(diào)用
我們知道當(dāng)前的搜索引擎還是不能夠識(shí)別JS代碼的,倘若在網(wǎng)站中出現(xiàn)大批量的js代碼網(wǎng)站在收錄上就會(huì)出現(xiàn)困難,而我們要做的就是將用到Javascript代碼用外部調(diào)用的形式放在網(wǎng)站中,這樣可以簡化搜索引擎的工作,也不會(huì)在無形中衍生出無效代碼累及網(wǎng)站。
不僅如此,筆者覺得可以采用外部調(diào)用的還有css代碼,建站之初可以將網(wǎng)站的文字、顏色定義在css代碼文件中,盡量不要在頁面代碼內(nèi)出現(xiàn)過多的樣式代碼。
(5)、降低頁面對于JS的依賴性
現(xiàn)在來說,JS對于搜索引擎并不不友好,雖然有消息稱搜索引擎不會(huì)對JS有厭惡的情緒,但是多一事不如少一事,雖然JS可以制作出很多的效果,但是網(wǎng)頁中大量的JS將影響蜘蛛對頁面的抓取和增加網(wǎng)頁體積,尤其是頁面的關(guān)鍵位置如導(dǎo)航欄,盡量采用DIV+CSS的設(shè)計(jì)方法。
(6)內(nèi)嵌較小的JavaScript
如果外部腳本較小,您可以直接將它們添加到HTML文檔。通過這種方式內(nèi)嵌較小文件可讓瀏覽器繼續(xù)呈現(xiàn)網(wǎng)頁。例如,如果HTML文檔如下所示:
Hello,world!
資源small.js如下所示:
/*contentsofasmallJavaScriptfile*/
那么,您即可按如下這樣內(nèi)嵌腳本:
/*contentsofasmallJavaScriptfile*/
Hello,world!
這樣,您就可以將small.js內(nèi)嵌在HTML文檔中,從而消除對它的外部請求。
5、table標(biāo)簽的縮減(基本上已經(jīng)被淘汰)
table標(biāo)簽是現(xiàn)在大多數(shù)上線網(wǎng)站中最為常見的代碼形式,原因根本在于table在建立網(wǎng)站時(shí)比較快捷,但是這也就影響了網(wǎng)站的后期優(yōu)化。
相對于div+css布局的精簡代碼網(wǎng)站來說,它的占位比較大,所以,在建站時(shí)候,盡量是少用表格,即便是要使用表格時(shí),嵌套式表格也要盡量少用,以免產(chǎn)生冗雜代碼。
那么,現(xiàn)在的網(wǎng)站用什么做呢?很多程序員第一想法就是采用CSS去做,采用CSS去排版,這種做法呢,就使頁面中的表格大大的降低了,但在筆者看來,網(wǎng)站也不能沒有表格,有些事必須使用到得,使用表格本身沒什么,但是有很多網(wǎng)站都采用嵌套表格,一般這樣的表格形式會(huì)給網(wǎng)站產(chǎn)生大量的垃圾代碼,并且這些垃圾代碼都是沒有任何用處的代碼,這一類代碼也是我們網(wǎng)站需要精簡的代碼之一。
6、代碼注釋省略
很多程序人員在編寫代碼是都習(xí)慣在別人看不懂的地方給出一段注釋,這些代碼往往是為了幾個(gè)程序員之間的協(xié)同工作,對于外人以及搜索引擎來說沒有任何用處,相反還會(huì)給搜索引擎蜘蛛帶來一定的困擾。
打開頁面代碼我們經(jīng)常會(huì)看到一些注釋代碼,這是程序員為了表明代碼意義而做的注釋,其實(shí)這些打開不必,因?yàn)閷τ谒阉饕娑?,它們是不存在任何意義的,只是會(huì)增加了頁面代碼的容量,這樣對于網(wǎng)站不會(huì)有什么利處,不如直接省略。
7、清除頁面中多余的代碼
有的網(wǎng)站以為制作者的代碼書寫習(xí)慣問題,頁面會(huì)有很多空格代碼,比如:空格代碼、style和font重復(fù)定義的代碼,不要小看這些體積很小的代碼,積攢多了,也會(huì)使我們的網(wǎng)站異常的臃腫。
很多網(wǎng)站都是采用的DIV+CSS,在CSS中定義了文字的字體,顏色,以及頁面的排版,但是在網(wǎng)站的其他地方還用了以style以及font來再次定義字體字體,這些代碼完全沒有必要重復(fù)定義,屬于可以精簡的代碼。
8、將html控制方式轉(zhuǎn)換為CSS控制
很多網(wǎng)頁設(shè)計(jì)者習(xí)慣在標(biāo)簽內(nèi)對內(nèi)容進(jìn)行控制,比如img標(biāo)簽里通過width和height來控制圖片的大小,盡量將這些代碼轉(zhuǎn)換成外調(diào)式的CSS,使網(wǎng)頁代碼更加的瘦身。
9、緩存靜態(tài)資源
通過設(shè)置瀏覽器緩存,將css、js等不太經(jīng)常更新的文件緩存在瀏覽器端,這樣同一訪客再次訪問你的網(wǎng)站的時(shí)候,瀏覽器就可以從瀏覽器的緩存中獲取css、js等,而不必每次都從你的服務(wù)器讀取,這樣在一定程度上加快了網(wǎng)站的打開速度,又可以節(jié)約你的服務(wù)器流量。
Google建議:
為您的服務(wù)器啟用瀏覽器緩存。靜態(tài)資源應(yīng)該至少有一周的緩存有效期。廣告或小部件這類的第三方資源也應(yīng)該至少有一天的緩存有效期。對于所有可緩存資源,我們建議您進(jìn)行以下設(shè)置:
(1)將Expires設(shè)為將來日期,至少為一周,最多為一年(我們傾向于設(shè)置Expires,而不設(shè)置Cache-Control:max-age,因?yàn)榍罢呤苤С值姆秶鼮閺V泛)。請勿將其設(shè)為超過一年的將來日期,因?yàn)檫@樣就違反了RFC準(zhǔn)則。
(2)如果您知道資源將具體在何時(shí)發(fā)生變化,則可以設(shè)置較短的過期日期。然而,如果您認(rèn)為資源“可能將要發(fā)生變化”,但又不知道具體時(shí)間,則應(yīng)設(shè)置較長的過期日期,并使用網(wǎng)址指紋。
10、網(wǎng)頁壓縮技術(shù)
對于網(wǎng)頁壓縮而言,相信各位站長都比較熟悉,主要是啟用服務(wù)器Gzip,對頁面Gzip壓縮,減少元素的體積,從而減少數(shù)據(jù)的傳輸,進(jìn)而提高網(wǎng)頁的加載速度,這個(gè)功能需要你的服務(wù)器的支持,GZIP壓縮一般能對網(wǎng)頁進(jìn)行30%-80%的壓縮,是最重要的一種優(yōu)化效果。
總之,通過代碼優(yōu)化來起到網(wǎng)站優(yōu)化作用的方式還有很多,在這只是隨意的說了其中比較常見的而已,希望大家能多多鉆研。
評論(0人參與,0條評論)
發(fā)布評論
最新評論