一個網站首頁總大小,如果從 3MB 下降到 1MB 。即便是 1M 帶寬的主機,加載時間也會從 25 秒下降到 8 秒,也是很可觀的。但是要給網站減肥可不是一件容易的事兒,我儘可能的詳細介紹:
一個工具解析頁面加載全過程
訪客的瀏覽器從遠程主機上抓取網頁,先抓取首頁的 HTML 文件,然後再從 HTML 文件裏提取出 css 、 JS 、圖片、視頻等文件分別加載,有的 JS 和 CSS 裏還會加載更多的 CSS 、圖片、視頻。
有一個工具可以看到網頁加載過程,比如:文件數量、加載順序、每個元素的響應時間、明細等信息。谷歌 Chrome 瀏覽器自帶的 「檢查」 工具,火狐 Firefox 的 FireBug 工具都可以完成以上的工作。此外 360 瀏覽器,Safari 瀏覽器,IE 新版本都集成了這個功能。 (如圖:minify 是個 css 文件,大小 426KB)
如果是咱們自己寫的 HTML 、 CSS 、 JS 文件,可以輕易瘦身,自己熟悉代碼哪裏能優化,但 WordPress 主題的 HTML 、 CSS 、 JS 我們是無能為力,只能通過 Gzip 壓縮解決。 (如下圖,經過 Gzip 壓縮,minify 文件 從 426KB 變成了 57KB)

給首頁 HTML 、 JS 、 CSS 文件瘦身
Gzip 是服務器或者虛機提供的一種組件服務,簡單地説:Gzip 開啓後,從主機到訪客之間傳送的文件會被壓縮處理,這樣就會減小通過網絡傳輸的數據量,提高瀏覽的速度。比如一個首頁 150KB,但是經過壓縮真實傳輸大小是 25KB 。 (如下圖)

Gzip 具體使用方法:主機不同調用方法也不同,有的是寫.htaccess,有的是安裝個插件,不管是那種,可以到 Chinaz 站長工具裏面檢測 (網址:http://tool.chinaz.com/Gzips/) 。比如小紅公司的網站:www.jianzhan1.cn 的 html 文件是 150KB,Gzip 壓縮之後變成 26KB,然後在火狐裏用 FireBug 檢查首頁果然是 25.9KB 。雙重驗證説明 Gzip 生效了。此外 Gzip 對 CSS 這類文本類的文件也會壓縮,比如有個 CSS 文件是 426KB,壓縮之後是 57KB 。

上圖為 ChinaZ 網站檢查結果,我們也可以從其他網站看出 Gzip 是否生效,另外也可以用瀏覽器檢查工具檢查 header 是否有 Gzip 。

通常 Gzip 只會壓縮 HTML 和 TXT 之類的文本文件,不建議用它來壓縮圖片,因為這樣會增加服務器 CPU 的負擔,還會增加圖片的體積,具體原因大家百度一下。後面會説給圖片瘦身。
圖片優化:先了解圖片種類和用途
網站上用的圖片大概這麼幾種:
1 頭部 Slider 的背景圖和前景圖。 2 產品和案例的圖片。 3 其他裝飾圖片。
不論什麼圖片,第一步先看寬高尺寸,大小夠用就好,切忌貪大,尺寸越大,容量越大,下載越慢,特別是產品圖,有的同學直接上傳 2000px 寬的 2MB 圖片。 (很多同學不瞭解常識)

此外圖片還分透明圖片和不透明圖片:透明圖比如説去掉背景的產品圖,還有特殊字體的文字也需要做成透明圖片,可以把他們放到背景圖上。不透明的圖片比如説背景圖片和產品展示圖等。
給 PNG 透明圖片瘦身的絕技
先説透明圖片,常用 PNG 格式,當然 PNG 圖片也有透明和不透明之分,還有 8 位和 24 位的區別。總而言之,透明圖片我們用 PNG,但是 PNG 圖片很大,解決辦法是,到 TingPNG 網站優化壓縮,網址:https://tinypng.com/,通常可以得到比較好的壓縮比,圖片質量幾乎沒變化。因為這種壓縮是在線壓縮,需要上傳和下載,有點麻煩,但是一次麻煩終身受益。

給 JPG 圖片瘦身秘籍
再説經常用到的 JPG 圖片,通常我們直接在 photoshop 裏修改,裁切大小,另存為 web 格式壓縮,jpg 質量 60 左右。這個大家都會,我再分享個秘籍:「WP Smush」,這是一個 WordPress 插件,每次上傳圖片時會自動在線壓縮,壓縮比很高,質量損失很小,速度稍慢,絕對值得,一般人我不告訴他。
PNG 透明圖和 JPG 圖的究極壓縮方法都是在線工具,小而精 小而美,這是他們的獨門秘籍,不會輕易外傳,在線提供服務也是一種保護。

給視頻減肥
網站上用的視頻通常有兩種方式,一種是託管在視頻網站,比如優酷,我們在自己網站上引用優酷視頻的地址,通常會有優酷的標誌或者廣告。另外一種方式是把視頻存放在本地主機上,我們主要説這種。這種視頻往往容量很大,用户下載慢,使用時一定要注意。下面説説如何優化:
以小紅建站公司網站首頁為例,第一屏有個背景視頻,1000kb 碼率的 MP4 格式,36 秒,5.4MB,嚴重影響打開速度。壓縮成 384kb 碼率的 webm 格式視頻後,變成 1.4MB,但畫質很粗糙,顯得很 low 。最後把視頻剪輯成 22 秒,壓縮成 512kb 碼率的 webm 是 1.4MB,質量好些,在視頻上覆蓋一層灰色,遮住粗糙的視頻,整體顯得高檔。
這樣做還有個問題,IE11 瀏覽器 和 微軟 Edge 瀏覽器 不支持 webm 格式的視頻,這需要額外增加 mp4 格式的視頻給微軟的瀏覽器。訪客瀏覽器如果是支持 webm 視頻的谷歌等瀏覽器,網站直接給他看 webm 視頻;訪客如果是 IE 瀏覽器,網站會給他看 MP4 視頻。
同樣 22 秒 512k 的碼率 MP4 也是 1.4MB,但是質量差很多,不得不提升 768k 碼率,視頻質量和 webm 的 512k 碼率類似。吐槽 Edge 瀏覽器,播放 MP4 的質量好差,同樣一段視頻比 IE11 差不少,馬賽克嚴重。
以上是對站內 HTML,CSS,JS,圖片,視頻的優化壓縮,木桶理論的兩塊木板 「主機提速」 和 「站內減肥」 介紹完了,下集將是最後一集,講谷歌這個 「外患」,還有外鏈,緩存,調用系統中文字體微軟雅黑,。