網站最佳化對於阿清來說最重要的網站的內部最佳化,只要把網站內部最佳化做好了,其他seo步驟才能起到事半功倍的效果。阿清會在後面陸續寫關於站內最佳化的方法,今天先講seo之站內最佳化—css最佳化。為什麼說站內最佳化才是seo中最重要的一個環節呢。各位SEOer可以想想網站最佳化其實無非就那麼幾個重要的環節,而那些環節都是需要持續重複每天要做的事情。不需要太花腦力,只需要把自己當苦力使喚就行了。
而站內最佳化卻不一樣,不知道大家有沒有體會,幾個人同一時間做網站,都是更新的原創文章,也內部連結和外部連結、文章最佳化等等都是差不多的。但是卻 又好壞之分呢?在說一個例子,一些做淘寶客等迅速搶佔排名的網站,大都願意使用部落格程式去建站。不僅僅在於部落格自身的定義,(部落格中的文章,可以解釋為博 主自己寫的,而博主自己寫的定義為原創文章)。這種部落格自身的定義對以前來說還是有很大作用的。但是隨著部落格的泛濫和大量低品質的部落格出現,這點占的比重 也越來越低了。但是大家會說,現在使用部落格程式還是會比網站程式容易收錄。的確,這是因為部落格程式的內部結構對搜素引擎來說更加友好。部落格程式的結構一般 都會比較扁平,內容頁面離首頁的距離很近,更加利於蜘蛛抓取。當然還有很多方法。阿清列舉出這點,只是想說明一點,網站的內部最佳化十分重要。站長們不要想 著草草做了站,靠什麼偽原創、垃圾外鏈等等來提高排名。這樣不僅很累,而且效果還不好。大家可以去看看這兩篇文章《新站長需做的準備》和《精簡代碼詳解》。這兩篇都是介紹網站內部最佳化的。
好了言歸正傳,講css最佳化,主要講css執行效率。畢竟網站的執行效率跟seo也是有很大關係的。在這之前阿清需要介紹一下css選取器的執行和瀏覽器渲染過程。
首先瀏覽器是從右至左來處理選取器的,那麼再來說下瀏覽器工作的過程,這裡是渲染的過程,得到資料之後,瀏覽器要先繪製一個DOM樹,然後再有一個 “reflow” 的過程,這個過程就是在CSS 檔案下載之後,確定要渲染的元素在DOM中的位置,而CSS 樣式中,很多很多在應用的時候都要有一個“reflow” 的過程,所以,避免這個過程,後者減少這個過程,都會相當大的提升瀏覽器的效率。
還有一個就是 CSS 選取器的優先問題了,這個這裡不多說了。那麼阿清來講個例子吧,直接上代碼例如,我們通常的選取器會這麼寫:
.main .pright div a{color:red;}
那麼根據上面說的幾條,瀏覽器的工作過程是繪製好DOM 樹之後,就會尋找頁面中所有a 元素了。尋找到所有的 a 元素之後,又開始尋找出於 .main類下面的.pright類再找div,最後找到a標籤,如果這個div裡面有好多好多a元素就會是一個非常耗費資源的事情。那麼如果這裡有更多 個.XXX 呢?
所以我們可以這麼寫,在div裡的所有a元素都加上class=“XXX”,選取器就會這樣寫了:
.main .pright div a .XXX{color:red;}
這樣寫效率就會高很多,此類例子還有很多。例如層div嵌套過多寫的樣式可能也會有這種情況。其實現在很多CMS還有一些前端的高手都注意到了這一問題。不明白的人會比較鬱悶,為什麼都是底層了還要在每個元素中加上class樣式呢?
呵呵,相比大家應該有所體會。