如何進行SEO優化:css
(1) 避免head標籤js堵塞:html
全部放在head標籤裏面的js和css都會堵塞渲染;若是這些css和js須要加載好久的話,那麼頁面就空白了;緩存
解決辦法:一是把script放到body後面,這也是不少網站採起的方法。閉包
第二種是給script加defer或者async的屬性,一旦script是defer或者async延遲的,那麼這個script將會異步加載,但不會立刻執行,會在readystatechange變爲Interactive後按順序依次執行;(作了解)dom
(2) 減小head裏面的css資源:異步
css必須放在head標籤裏面,若是放在body裏面會形成對layout好的dom進行重排形成頁面閃爍;可是一旦放在head標籤裏面又會堵塞頁面渲染;因此要儘量的減少css體積。async
(3) 壓縮和緩存:優化
(4)延遲加載圖片:網站
這裏沒有直接給src路徑,而是在頁面加載完成後用js操做src,減小了頁面加載圖片的時間,首先把整個頁面結構呈現給用戶;惰性加載圖片也是差很少;當用戶滑動頁面到必定高度時(監聽scroll事件),再動態的依次對圖片進行處理;htm
(5) DNS解析優化:
DNS查詢須要花費大量時間來返回一個主機名的IP地址;
在咱們的網站中,可能會加載到不少個域的東西,好比引入了百度地圖啊之類的sdk和一些本身的子域名服務;第一次打開網站時要作不少次DNS查找;DNS預讀取可以加快網頁打開時間;
解決辦法:在head中寫上幾個link標籤,對標籤中的地址提早解析DNS,這個解析是並行發生的,不會堵塞頁面渲染;
6)html別嵌套太多層,加劇頁面layout的壓力;
7)css選擇器的合理運用,減小匹配的計算量;
8)js中別濫用閉包,會加深做用域鏈,增長變量查找時間;
9)減小http請求等