在一些較大的網站下,其實網站本身透過相關的快取外掛,像是 w3total cache、wp super cache 快取頁面後減少資源的開銷,接著最需要的就是減少圖片的流量,畢竟一個頁面的空間其實幾十 kb 而已,圖片才是真正大的,以自己一些經驗每天能夠節省多達數 TB 的流量。
雖然 jetpack 也有提供相關功能,不過那會嚴重壓縮圖片品質,因此就這邊就示範使用 Cloudflare 來進行快取圖片。
例如本站希望主體不套用 CDN,僅圖片套用 CDN,透過與外掛的配合就可以達成,在外掛安裝頁面中搜尋『cdn enabler』並安裝後啟用,在透過下面一些簡單的設定就好囉。
以下方的示範,我希望網站本體不套用 Cloudflare,僅圖片都過一個名為 cdn.4rbj4.com 的域名,伺服器使用 Nginx。
先在 CloudFlare 中設定一組 A Record 對應到主機的位置。
接著設定快取規則。
到主機上設定對應給 cdn.4rbj4.com 的 virtual host。
在 www.4rbj4.com 的網頁設定檔中將圖片轉址至 cdn.4rbj4.com。
回到 WordPress CDN Enabler 中設定要轉的位置。
下圖是指我想將 wp-content/uploads 所有資源的網址都轉成 https://cdn.4rbj4.com,並且排除 php 這類型的檔案,接著儲存變更。
圖片第一次瀏覽並不會命中快取,不過之後就會命中,這時候在瀏覽器中檢查一下就能看到網址是 cdn.4rbj4.com 並且快取是命中的。
實測在某些很大的網站,可以節省多達 100T 的流量。
在〈透過 Cloudflare 減少 WordPress 圖片的流量〉中有 4 則留言