<menu id="sugmc"></menu>
<menu id="sugmc"></menu><dd id="sugmc"></dd>
<xmp id="sugmc">
  • <dd id="sugmc"><nav id="sugmc"></nav></dd>
  • <nav id="sugmc"></nav>
    <xmp id="sugmc"><menu id="sugmc"></menu>

    外貿商學院

    為客戶提供優質的服務始終是我們的使命,客戶的認可是我們始終的追求

    純干貨! 緩存插件W3 Total Cache設置教程(Pro), 圖文并茂, 繞過動態緩存

    W3 Total Cache Pro(簡稱W3TC)是老牌緩存插件,免費版本有有百多萬安裝量,好評眾多。W3TC功能全面又強大,可以很細膩控制緩存內容,加速效果非常好,能做到很多其它緩存插件做不到的事情。

    W3TC可以繞過動態內容緩存,有對象緩存、數據庫緩存、片段緩存、縮小HTML/CSS/JS/等功能,大大減輕服務器負擔縮短頁面加載速度。是真正有用的緩存插件,本站使用W3 Total Cache Pro(點擊下載)加速。

    本站一開始使用Wp Rocket加速,可是訪客登陸后依然顯示未登錄狀態(頭像等內容不顯示)。后來又嘗試過Fastest Cache、Super Cache等插件依然無法正常登錄。最后使用W3 Total Cache Pro完美解決問題。

    因為設置選項太多,很多人不懂設置導致無法發揮效果,所以它的名氣不如Wp Rocket、Fastest Cache。實際上如果用得好它的效果比Wp Rocket還好!寫這篇W3 Total Cache設置教程的目的就是為了幫助大家理解、做出適合自己網站的設置。

    W3 Total Cache沒其它緩存插件受歡迎除了設置繁雜外還有一個原因是不具備生成關鍵CSS和延遲加載JS功能,導致效果差一截。建議搭配Perfmatters資產清理插件使用,2者加起來功能和效果絕對比Wp Rocket好。

    注意:如果是Nginx系統,更改W3 Total Cache設置后如果nginx.conf文件中的內容變更了,需要重啟Nginx方可生效。

     

     

    W3 Total Cache設置教程

    不同網站情況不一樣,以下設置僅供參考。不懂的設置建議保持默認,大概率不會出錯。下面設置教程截圖是W3TC Pro界面,如果使用免費版本有些功能會顯示禁用。如有疑問歡迎下方評論留言。先了解一些基本概念:

    頁面緩存(Page Cache) – 訪客訪問頁面時服務器都需查詢數據庫、運行腳本后生成輸入頁面。開啟頁面緩存會吧已完成頁面副本存儲起來,后續訪客直接訪問頁面副本,無需查詢數據庫和運行腳本,從而大大減小加載頁面時間和服務器壓力。

    操作碼緩存(Opcode Cache) – 緩存已編譯的PHP代碼結果,使得相同PHP代碼的后續請求更快。

    片段緩存(Fragment Cache) – 一個頁面可能有些內容是動態的,如果使用頁面緩存默認情況下動態內容會變成靜態無法及時更新。Fragment Cache的作用就是通過在PHP模板里面使用指定代碼包裹動態內容板塊,讓頁面緩存繞過緩存這部分動態內容只緩存其它內容,尤其適合電商或者會員網站。

    片段緩存(Fragment Cache)只能使用在PHP模板里面,使用范圍和條件比較有限,點擊查看片段緩存具體使用方法

    注意:啟用片段緩存后可能會導致編輯functions.php之類文件無法保存,先臨時禁用,編輯完再打開或者改用插件插入代碼(不使用functions.php)。

    對象緩存(Object Cache) – 緩存已完成的數據庫查詢結果。雖然頁面緩存可以通過緩存靜態頁面極大地幫助減少站點的響應時間,但仍然有許多未緩存的對象請求。對象緩存將通過緩存這些對象進一步提高性能。

    對象緩存允許更有效地從數據庫中獲取數據。它的目的類似于數據庫緩存的作用。但與數據庫緩存相比,對象緩存更高效,因為它允許處理更少的請求。

    對象緩存是WordPress核心、主題和插件可以在對象存儲中存儲一些經常訪問且很少更改的數據。這樣就不必在每次請求時都檢索和處理這些對象。最終,對象緩存將減少每個頁面所需的數據庫查詢總數,并且由于 CPU 不必重建這些數據塊,您的響應時間將減少。

    數據庫緩存(Database Cache) – 緩存MySQL數據庫查詢結果,有助于釋放每次返回相同數據的重復查詢所占用的MySQL 服務器資源,以便它有更多的能力來處理真正的動態數據。

    雖然對象緩存將存儲已執行的PHP,但它可能不包含從數據庫檢索的信息,不會緩存對數據庫的大部分調用。如果在啟用對象緩存后還有許多正在執行的數據庫查詢,應該啟用數據庫緩存,反則不建議啟用。

    數據庫緩存兼容性不好,很多主機商家建議禁用它。如果出現問題禁用它試下。

    總結:對象緩存是html頁面緩存補充,抓漏網之魚(一些沒被緩存的動態請求),而數據庫緩存是對象緩存的補充,抓漏網之魚(一些沒被緩存的對象請求)。

    正常情況下對象緩存和數據庫緩存都應該啟用,可是服務器內存和數據庫情況不一,有時候直接從數據庫查詢內容會比內存以及磁盤查詢快。所以需要使用W3TC設置指南測試下不同緩存實際效果,再根據情況設置。

    瀏覽器緩存(Brower Cache) – 這會將網頁的副本放入用戶瀏覽器緩存中。當該用戶使用同一個瀏覽器重新訪問同一個頁面時,它將從存儲在他們計算機上的緩存中加載,而不是查詢網絡服務器。

    Disk: Basic – 此方法將調用 PHP 腳本來為緩存頁面提供服務。

    Dick: Enhanced – 此方法將修改 .htaccess 文件以將 Apache 定向到頁面的靜態緩存版本,因此速度比Disk更快,推薦使用。如果網站速度變慢,改用Disk: Basic。

    Dick(磁盤)緩存– 將緩存文件存放在磁盤。

    Memcached緩存 – 將緩存文件存放在內存,絕大多數情況下比Dick(磁盤)緩存快。查看Dick緩存和Memcached緩存速度對比

    Tips:共享主機(服務器)的磁盤讀寫速度一般有限制,不會很快。所以共享主機如果啟用數據庫緩存或者對象緩存,方法盡量不要選磁盤,建議選內存(Memcached/Redis)。

     

    設置教程:
    先使用設置向導檢測適合自己網站的設置,點擊“Setup Guide”進入快速設置指導。注意:一定要以前臺實際訪問速度為準,這個測試不一定準。設置好后測試下,速度慢就改設置或者禁用數據庫緩存和對象緩存功能。

    Pasted 78

    點“Next”↓。

    Pasted 33

    點測試頁面緩存↓

    Pasted 79

    選時間最短那個。點“Next”進行下一個測試。全部設置完后如果網站訪問速度變慢,頁面緩存換個選項試試。我們有個網站使用Disk: Enhanced速度很慢,改成Disk: Basic速度恢復正常。

    Pasted 80

    Pasted 33

     

    不建議同時啟用數據庫緩存和對象緩存,可能會有Bug,速度反而更慢,只啟用一個就行。如果啟用其中一個后網站速度變慢,把這2個緩存功能都禁用。

    如果決定要啟用數據庫緩存,不管測試結果怎樣都選內存緩存(Memcached或者Redis)效果好點,穩定點。選好后點“Next”。

    如果使用的是SiteGround之類共享主機,CPU和內存可能限制嚴重,數據庫緩存方法如果選擇內存(Memcached/Redis)可能速度變慢,所以主機商會建議緩存方法選擇“磁盤”。

    在共享主機上使用磁盤方法緩存數據庫可能會使網站變慢,因為從數據庫中獲取數據比從磁盤中獲取緩存數據更快。總結:使用共享主機的話建議禁用數據庫緩存,速度可能會更快。

    Pasted 82

     

    下面對象緩存測試結果顯示None時間最短,選“None”,點“Next”。如果禁用數據庫緩存(上面測試結果選None),對象緩存測試結果可能會完全不一樣,如果啟用對象緩存一般建議選Memcached(寶塔面板需要先在PHP里安裝Memcached 擴展)。

     

    Pasted 81

     

    瀏覽器緩存直接選“Enabled”,點“Next”。

    Pasted 83

    W3TC的延遲加載兼容性不好,論壇很多人發帖說啟用后圖片顯示異常。建議使用Perfmatters的圖片延遲加載功能代替(效果最好)。如果你已經在其它插件使用了延遲加載,這里就不要啟用,否則的話啟用。點“Next”,再點“DASHBOARD”回到儀表盤。

    Pasted 84

    到此設置向導結束。如果不是共享主機,最好重啟Nginx讓設置生效。下面開始設置General Settings。

     

     

    General Settings設置

    Page Cache在設置向導已經啟用并且選擇了緩存方式,所以不需要再額外設置,直接跳過。

    Pasted 123

     

    Minify按圖設置,Minify mode一定要選Manual,如果選Auto網站顯示很大概率出問題。Minify Cache Method選Dick比較安全,選其它容易出錯。另外3項按圖選,這里只使用W3TC的壓縮功能,它的延遲JS/ CSS功能兼容性不好效果一般不建議選擇。

    Pasted 124

     

    Opcode Cache按圖設置↓。

    Pasted 125

     

    數據庫緩存、對象緩存和瀏覽器緩存在上面設置向導里面已經設置過,這里直接跳過不要管。如果以后不啟用數據庫緩存,記得回到這里啟用數據庫緩存代替,Method選Memcached。

    Pasted 126

    Pasted 127

    Pasted 128

     

    如果使用CDN需要把html里面的資源網址改成CDN網址,這樣才能從CDN加載資源。Wp Rocket、Perfmatters之類插件都有CDN重寫網址功能。只需要在一個插件啟用這個功能就行,不要在多個插件啟用,會有沖突。

    我們使用W3TC的CDN功能改寫網址后發現Perfmatters的刪除無用CSS生成的used.css無法加載,提示網址錯誤。改用Perfmatters CDN重寫網址功能恢復正常,而且能重新更多資源。有的選的話盡量別用W3TC的CDN功能。

    如果只有W3TC這個插件有CDN功能,那就用它吧。使用國內騰訊云、七牛云之類CDN選“Generic Mirror”↓。

    Pasted 129

     

    Reverse proxy是反向代理,位于網絡服務器和WordPress之間,可用于對傳入請求執行各種基于邏輯的操作。不懂是什么意思別碰,直接跳過。

    Pasted 130

     

    Message Bus絕大部分人用不上↓,如果不懂是什么意思直接跳過。

    Pasted 131

     

    User Experience設置保持默認,直接跳過。這里可以啟用延遲加載圖片和谷歌地圖以及禁用表情符號。這些功能在Perfmatters插件里面都有并且效果更好。

    Pasted 132

     

    Statistics分析網站和服務器緩存,用來跟蹤每種緩存的大小、時間和命中/未命中率,提供獲得最佳性能所需的信息。啟用后在W3TC設置里面的StatisticsPasted 146選項卡查看信息。

    啟用后會增加一點服務器負擔,按需啟用。

    Pasted 133

     

    Fragment Cache啟用↓,選Memcached。

    Pasted 134

     

    Miscellaneous所有選項保持默認,只是一些輔助作用,如果不懂直接跳過較好。

    Pasted 135

     

    Debug調試模式↓,可禁用特定的緩存層和優化設置。例如,如果您注意到網站上存在視覺故障,您可以為“Minify”選項啟用調試模式,這會將 HTML 注釋插入到您頁面的源代碼中以幫助您排除故障。

    如果發現哪個緩存有問題,在下圖設置勾選相應緩存點保存。調試模式功能會給服務器資源帶來額外負載,因此建議僅在低流量時段使用它,在完成故障排除后記得禁用調試模式。

    Pasted 136

     

    Import / Export Settings是導出導入設置,一眼懂。

    Pasted 137

    General Settings設置到此結束,下面是各個功能詳細設置。

     

     

    Page Cache設置

    這里設置頁面緩存,按圖設置即可。

    Pasted 138

     

    Aliases(別名)功能允許緩存在不同域上(例如 domain.com 和 www.domain.com)可用的相同 WordPres 內容。我們不建議啟用此功能,如果有不同域最好的方法是301重定到同一個域,以避免來自 Google 和其他搜索引擎的重復內容懲罰。

    Pasted 139

     

    Cache Preload是緩存預加載功能,按圖設置,紅色框輸入你網站站點地圖(.xml結尾)完整網址。其它保持默認,如果預加載間隔太短會導致服務器高負荷。

    Pasted 140

     

    Purge Policy: Page Cache是設置什么情況下應該自動清理網站頁面緩存。如果你不知道該怎么選擇,按下圖設置,使用絕大多數網站。當修改頁面/文章/列表頁或者文章有新評論時會自動清理緩存。

    Pasted 141

    下圖沒勾選的那幾項沒啥用,Blog feed也是,不建議勾選。

    Pasted 142

     

    REST API↓設置是否緩存REST API,REST API讓您可以查詢 JSON 格式的數據,建議選擇“Don’t cache’”。我們之前選擇“Cache”導致微信公眾號自定義回復功能失效,選“Disable REST API”導致隱藏保護內容插件功能異常。

    Pasted 143

     

    Advanced設置,除了下面提到的內容,其它內容建議保持默認。

    Late initialization和Late caching僅適合某些插件某些情況,絕大部分情況下不需要啟用。如果General Settings里面Cache Page Method: 選擇“Disk: Enhanced”,Late initialization和Late caching不可用。改成“Disk: Basic”即可。

    Late initialization:即延遲初始化,是一種在編程中初始化對象的方法。當一個對象在另一個對象引用它時才在內存中創建。延遲初始化依賴于片段緩存(fragment caching)功能,如果沒有使用片段緩存就不要啟用它。

    Late caching:即延遲緩存,是延遲緩存頁面的方法。它允許在W3 Total Cache 處理緩存之前加載部分WordPress 內容。延遲緩存可用于某些特定情況,例如用于地理定位目的。絕大部分情況下不需要啟用。

    Compatibility mode: 如果緩存方式選擇Dick: Enhanced,在Late caching下面會新增一個Compatibility mode選項。官方建議僅在遇到Apache rules相關問題時才啟用這個功能,啟用后性能大概降低20%。

    Pasted 229

    Pasted 144

    Rejected cookies↓: 把需要繞過緩存的內容的cookies輸入進入,一行一個。

    Never cache the following pages↓: 把不需要被緩存的頁面網址輸入進入,一行一個。

    Pasted 145

     

     

    Minify設置

    設置壓縮HTML、CSS、JS細節,這里如果設置不對網站容易出現顯示錯誤,按圖設置即可。如果網站顯示出錯,注意禁用選項排查。

    Pasted 26

    Pasted 27

    Pasted 28

    Pasted 29

     

     

    Database Cache、Object Cache、Fragment Cache

    這3個選項卡里面的設置如果不懂是什么意思,保持默認即可。

    Database Cache(數據庫緩存)和Object Cache(對象緩存)作用挺大,某些情況下可能會導致網站問題。例如數據庫緩存可能會導致CPU占用過高,如果出問題逐一禁用這2個功能,清楚W3TC緩存排查問題。

    啟用Object Cache后如果網站后臺插件設置、文章編輯之類功能出現異常,切換到Database Cache或者關閉該功能試下。

     

     

    Browser Cache

    按圖設置↓。 如果你網站有動態內容不想被緩存,下圖三項紅色內容不要勾選,否則勾選。

    Pasted 148

    Pasted 149

     

    CSS & JS設置按照下圖。

    Pasted 150

     

    HTML & XML設置按照下圖,如果你網站有動態內容不想被緩存,下圖三項紅色內容不要勾選,否則勾選。

    注意:下圖Set cache control header有時候會在修改WT3C其它設置后或者升級該插件后自動啟用,導致一些動態內容會緩存。如需繞過動態內容緩存,每次升級W3TC插件或者修改配置后檢查下該項,保持禁用。

    Pasted 151

     

    Media & Other Files按下圖設置↓,其它選項保持默認。

    Pasted 153

     

    Security Headers對速度沒啥大幫助,可是能提升網站安全性。

    Pasted 154

    Pasted 155

    Pasted 156

     

     

    Cache Groups(手機端單獨緩存)

    Cache Groups的作用是設置手機端單獨緩存,按圖啟用tablets(桌面)和phones(手機)用戶組,選擇tablets和phones使用的相應主題,如果只是使用一個主題(響應式),都選一樣就行。其它設置保持默認。

    很多優化功能依賴于手機端單獨緩存,例如Perfmatters插件控制代碼只在手機端啟用,需要網站先啟用手機端單獨緩存功能才能生效。

    tablets(桌面)↓

    Pasted 51

    phones(手機)↓

    Pasted 52

    更多詳情查看:https://wordpress.org/support/topic/set-up-the-caching-separately-for-mobile-and-desktop/

     

     

    CDN設置

    如果沒有使用CDN這里不要設置。如果有安裝Perfmatters之類插件,使用Perfmatters的CDN功能好點。

    輸入加速域名,保存。

    Pasted 39

    可以點“Test Mirror”測試一下,顯示“Test passed”代表成功。

    Pasted 40

    查看前臺顯示是否正常,查看源代碼發現資源網址已經變成cdn加速域名。

    Pasted 41

    其它設置保持默認。

     

     

    User Experience

    這里設置圖片和谷歌地圖延遲加載內容,如果沒有啟用相應功能忽略不用設置。如有啟用延遲加載,按圖設置即可。

    Pasted 158

     

     

    Extension

    這里是一些擴展功能,如果是Pro版本默認啟用Fragment Cache。如果使用Yoast插件,安裝Yoast SEO擴展。如果使用Cloudflare CDN,安裝CloudFlare擴展。

    Image Service擴展可以生成WebP相片,可是我們在幾個站點測試發現轉換不成功,一直提示轉換中,不建議啟用。要優化相片請查看《終極WordPress圖片壓縮優化教程》

     

     

    注意事項

     

    排除特定頁面被緩存

    后臺登錄地址,個人中心,購物車等頁面不應該被緩存,需要排除掉。在 Page Cache > Advanced設置,Never cache the following pages:里面填寫需要排除被緩存頁面網址。

    Pasted 115

     

     

    繞過動態內容緩存

    如果出現登錄后顯示未登錄狀態,用戶頭像和一些登錄后可見內容不顯示,側邊欄不顯示等問題,按照下面方法設置。方法來自W3TC支持論壇。進入Browser cache (瀏覽器緩存)設置頁面。

    Pasted 30

    頂部General↓下面3項不要勾選。

    Pasted 31

    HTML & XML↓下面3項不要勾選。

    注意:下圖Set cache control header有時候會在修改WT3C其它設置后或者升級該插件后自動啟用,導致一些動態內容會緩存。如需繞過動態內容緩存,每次升級W3TC插件或者修改配置后檢查下該項,保持禁用。

    Pasted 74

    如果按要求設置后依然無法繞過PHP緩存,進入頁面緩存Pasted 102設置,查看下面2項是否可以勾選(啟用)。如果可以勾選,都勾選啟用試下。

    Pasted 103

     

     

    W3TC常見問題

    1- 安裝W3TC后修改functions.php等文件如果提示下面問題,臨時關閉片段緩存(Fragment Cache)功能即可。添加代碼最好的辦法是使用Code Snippets插件,安全穩定高效。

    Pasted 112

    W3TC > General Settings,按下圖關閉Fragment Cache。

    Pasted 113

     

    2- 一開始能繞過PHP緩存,正常登錄顯示一些內容,一段時間后又被緩存登錄失效。我發現如果修改數據庫緩存,對象緩存等設置,尤其是更改緩存方式會導致Broswer Cache下圖設置紅色框自動被勾選。去檢查下,如果被勾選就取消勾選保存設置并清理緩存。

    Pasted 114

    如果還是不行,把Page Cache設置里面Late initialization、Late caching分別打開試下。

     

    3- 前臺提示mysqli_num_fields() expects parameter 1 to be mysqli_result, bool given in /www/wwwroot/xxx.com/wp-includes/class-wpdb.php on line 3574

    是W3TC數據庫緩存(Database Cache)導致這個問題,關閉數據庫緩存改用對象緩存(Object Cache)即可。

     

    其它更多設置查看詳細W3 Total Cache設置教程,這篇教程雖然有點舊,可是寫得非常詳細。有些選項可能過期注意看設置內容,例如教程page cache設置里面有個選項是“Cache front page”(建議勾選),是在新版本里這個選項變成“Don’t cache front page”(不建議勾選),意思完全相反。

    更多設置和疑問請查看官方文檔官方支持論壇

     

    4- 使用W3TC后速度變慢很多。不同服務情況可能差別很大,可能有的服務器沒配置好、限制多或者有Bug(例如寶塔面板的MariaDB10.7.3數據庫不穩定。所以使用這個插件后可能會因為一些錯誤導致速度很慢。

    速度變慢的話逐一試下:1- 頁面緩存更改緩存方式為Disk: Basic;2- 數據庫緩存和對象緩存逐一更改緩存模式,或者關閉;記得修改后清理緩存查看最新效果。

    滾動至頂部
    扑克又疼又叫的视频软件