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