進階延伸功能

設定網站快取,加快載入速度

快取是把運算過的結果先存起來,下一個訪客直接拿現成的,不用再跑一次。開了之後最明顯的差別是「第二個人之後開得很快」。這一頁說明快取有哪幾層、該調什麼,以及改了東西卻看不到變化時怎麼辦。

我們的主機已經有伺服器層的快取。要再加外掛前先問我們一聲——兩層快取設定打架的話,反而會出現「改了內容前台不更新」這種難查的問題。

快取有哪幾層

瀏覽器快取圖片、CSS、JS 存在訪客自己的電腦裡。同一個人第二次來最有感。
CDN 快取把檔案放到離訪客最近的節點。圖片多的站差別很大。
頁面快取整頁 HTML 先產好。效果最大,但也最容易出現「內容沒更新」。
物件/資料庫快取把查詢結果暫存起來。商品多、會員多的站才看得出差別。

一定要排除的頁面

不是每一頁都適合快取。下面這幾種被快取到會出事——顧客會看到別人的購物車、或是一直停在未登入狀態:

  1. 購物車、結帳、訂單完成頁
  2. 會員中心、課程教室
  3. 任何會依登入身分顯示不同內容的頁面

多數快取外掛預設就排除了 WooCommerce 的那幾頁,但自訂的會員頁要自己加進排除清單。

快取壞掉的症狀都長一樣:「我改了,但前台沒變。」先清一次快取再重新整理兩次。還是舊的,再往下查是哪一層沒清到——這個順序可以省掉大部分的除錯時間。

改了東西看不到變化

先清快取,再用無痕視窗看

無痕視窗可以排除掉瀏覽器快取這一層。無痕看得到新的、一般視窗看不到,那就是你自己的瀏覽器在快取,與網站無關。

清了還是舊的

多半是 CDN 那一層還留著。CDN 的清除是另一個按鈕,和外掛的清除不是同一個。

只有某幾頁沒更新

那幾頁可能被設定成較長的快取時間,或是被預先產生(preload)了。找到該頁單獨清一次。

比快取更有效的三件事

  1. 把圖片壓小。這是最常見也最有感的問題——一張沒壓過的手機照片 5MB,比任何快取設定都致命。
  2. 把沒在用的外掛停用並刪除。停用但留著的外掛仍然佔空間,而且是被入侵的常見入口。
  3. 少用會自動播放的大型動畫與影片背景。它們不吃頻寬的時候吃的是手機的電。