該插件從動(dòng)態(tài)WordPress博客生成靜態(tài)html文件。生成html文件后,您的網(wǎng)絡(luò)服務(wù)器將為該文件提供服務(wù),而不是處理相對較重且更昂貴的WordPress PHP腳本。
靜態(tài)html文件將提供給您的絕大多數(shù)用戶:
- 未登錄的用戶。
- 在您的博客上未發(fā)表評論的用戶。
- 或尚未查看受密碼保護(hù)的帖子的用戶。
99%的訪問者將獲得靜態(tài)html文件。一個(gè)緩存的文件可以被服務(wù)數(shù)千次。其他訪問者將獲得針對他們的訪問量身定制的自定義緩存文件。如果他們已登錄或留下評論,則將顯示這些詳細(xì)信息并為它們緩存。
該插件通過3種方式(按速度排序)提供緩存的文件:
- 專家。最快的方法是使用Apache mod_rewrite(或Web服務(wù)器支持的任何類似模塊)來提供“超級(jí)緩存”靜態(tài)html文件。這完全繞過了PHP,并且非常快。如果您的服務(wù)器受到大量流量的打擊,則由于請求“更輕”,因此更有可能應(yīng)對。這確實(shí)需要Apache mod_rewrite模塊(如果您具有自定義的永久鏈接,則可能會(huì)安裝該模塊)和對.htaccess文件的修改,這是有風(fēng)險(xiǎn)的,如果修改不正確,可能會(huì)占用您的站點(diǎn)。
- 簡單。PHP可以提供超級(jí)緩存的靜態(tài)文件,這是使用該插件的推薦方法。如果存在,該插件將提供“ supercached”文件,其速度幾乎與mod_rewrite方法一樣快。由于不需要更改.htaccess文件,因此配置起來更容易。您仍然需要一個(gè)自定義的永久鏈接。您可以在此緩存模式下使頁面的某些部分保持動(dòng)態(tài)。
- WP緩存緩存。這主要用于為已知用戶緩存頁面,帶有參數(shù)和提要的URL。已知用戶是登錄用戶,發(fā)表評論的訪問者或應(yīng)顯示自定義按用戶數(shù)據(jù)的訪問者。這是最靈活的緩存方法,速度稍慢。如果禁用了超級(jí)緩存,則WP-Cache緩存還將緩存未知用戶的訪問。您也可以在此模式下將動(dòng)態(tài)部件包含在頁面中。始終啟用此模式,但是您可以禁用對已知用戶,具有參數(shù)的URL或供稿的緩存。如果只想使用WP-Cache緩存,請?jiān)趙p-config.php中將常量“ DISABLE_SUPERCACHE”設(shè)置為1。
如果您對編輯PHP文件不滿意,請使用簡單模式。易于設(shè)置且非常快速。
推薦設(shè)置
- 簡單的緩存。
- 壓縮頁面。
- 不要為已知用戶緩存頁面。
- 緩存重建。
- CDN支持。
- 額外的首頁檢查。
垃圾收集是清除過期和過時(shí)的緩存文件的行為。到期時(shí)間沒有正確的值,但是好的起點(diǎn)是1800秒。
考慮刪除“拒絕的用戶代理”文本框的內(nèi)容,并允許搜索引擎為您緩存文件。
盡可能多地預(yù)加載帖子,然后啟用“預(yù)加載模式”。舊緩存文件的垃圾收集將被禁用。如果您不關(guān)心邊欄小部件的更新,通常將預(yù)加載間隔設(shè)置為2880分鐘(2天),這樣就不會(huì)經(jīng)常重新緩存所有帖子。發(fā)生預(yù)加載時(shí),將刪除要刷新的帖子的緩存文件,然后重新生成。之后,將對所有舊文件進(jìn)行垃圾回收以清除陳舊的緩存文件。
即使啟用了預(yù)加載模式,修改帖子或發(fā)表評論時(shí),仍將刪除緩存的文件。
預(yù)裝
您可以通過預(yù)加載為網(wǎng)站的帖子,類別和標(biāo)簽生成緩存的文件。預(yù)加載將訪問您網(wǎng)站的每個(gè)頁面,并在訪問過程中生成一個(gè)緩存頁面,就像該網(wǎng)站的其他訪問者一樣。由于此功能的順序性質(zhì),如果有很多帖子,則可能需要一些時(shí)間來預(yù)加載整個(gè)網(wǎng)站。
為了使預(yù)加載更加有效,禁用垃圾回收很有用,這樣就不會(huì)刪除較早的緩存文件。這可以通過在設(shè)置中啟用“預(yù)加載模式”來完成。但是請注意,頁面最終將過時(shí),但是通過提交評論或編輯帖子進(jìn)行更新將清除緩存的某些部分。
垃圾收集
緩存目錄會(huì)隨著時(shí)間的推移而填滿,這會(huì)占用服務(wù)器上的空間。如果空間受容量限制或按容量計(jì)費(fèi),或者您擔(dān)心站點(diǎn)的緩存頁面會(huì)過時(shí),則必須進(jìn)行垃圾收集。垃圾回收會(huì)定期進(jìn)行,并會(huì)刪除緩存目錄中的舊文件。在高級(jí)設(shè)置頁面上,您可以指定:
1.緩存超時(shí)。緩存文件被認(rèn)為有多長時(shí)間了。在這段時(shí)間之后,它們已過時(shí),可以刪除。
2.計(jì)劃程序。設(shè)置應(yīng)該多久進(jìn)行一次垃圾收集。
3.通知電子郵件。您會(huì)收到有關(guān)垃圾收集作業(yè)進(jìn)度的通知。
垃圾收集沒有正確或錯(cuò)誤的設(shè)置。這取決于您自己的站點(diǎn)。
如果您的站點(diǎn)得到定期更新或評論,則將超時(shí)設(shè)置為1800秒,并將計(jì)時(shí)器設(shè)置為600秒。
如果您的網(wǎng)站大部分是靜態(tài)的,則可以通過輸入0作為超時(shí)來禁用垃圾收集,或者使用很大的超時(shí)值。
緩存目錄(通常為wp-content / cache /)僅用于臨時(shí)文件。切勿將重要文件或符號(hào)鏈接放入該目錄中的重要文件或目錄。如果插件具有寫權(quán)限,則將刪除它們。
CDN
內(nèi)容交付網(wǎng)絡(luò)(CDN)通常是位于世界各地的計(jì)算機(jī)網(wǎng)絡(luò),通過使用您附近的服務(wù)器可以更快地為您的網(wǎng)站內(nèi)容提供服務(wù)。可以通過這些網(wǎng)絡(luò)提供圖片,JavaScript和CSS等靜態(tài)文件,以加快網(wǎng)站加載速度。您也可以通過使用域的子域來創(chuàng)建“窮人CDN”來提供靜態(tài)文件。
OSSDL CDN離線鏈接器已集成到WP Super Cache中,以提供基本的CDN支持。它通過重寫服務(wù)器上wp-content和wp-includes中文件(不包括.php文件)的URL來工作,以便它們指向不同的主機(jī)名。許多CDN支持起源拉。這意味著CDN會(huì)在首次請求時(shí)自動(dòng)從您的服務(wù)器下載文件,并且會(huì)繼續(xù)提供可配置的時(shí)間長度,然后再從您的服務(wù)器重新下載文件。
在插件設(shè)置頁面的“ CDN”選項(xiàng)卡上進(jìn)行配置。這是一項(xiàng)高級(jí)技術(shù),需要對Web服務(wù)器或CDN的工作原理有基本的了解。配置CDN后,請確保清除文件緩存。
REST API
現(xiàn)在有用于訪問此插件設(shè)置的REST API端點(diǎn)。您需要以管理員身份通過身份驗(yàn)證,才能查看設(shè)置頁面以使用它。該文件尚未記錄,但您可以在“ rest”目錄中找到處理此問題的所有代碼。
自定義緩存
現(xiàn)在可以使用add_cacheaction()函數(shù)進(jìn)入緩存過程。
提供三個(gè)掛鉤:
- 'wp_cache_get_cookies_values'–修改WP緩存使用的密鑰。
- “ add_cacheaction” –在階段2中運(yùn)行。允許插件添加WordPress掛鉤。
- 'cache_admin_page'–在管理頁面中運(yùn)行。用它來修改該頁面,也許通過添加新的配置選項(xiàng)。
也有一個(gè)常規(guī)的WordPress過濾器。使用“ do_createsupercache”過濾器
來自定義緩存之前進(jìn)行的檢查。過濾器接受一個(gè)參數(shù)。
WP-Cache的wp_cache_get_cookies_values()函數(shù)的輸出。
WP Super Cache具有自己的插件系統(tǒng)。加載WP Super Cache時(shí)將加載此代碼,并且可用于更改緩存的方式。這是在大多數(shù)WordPress加載之前,因此某些功能將不可用。插件可以位于PHP可以加載它們的任何位置。添加您自己的插件:
- 通過將插件放在wp-content / plugins / wp-super-cache-plugins目錄中,或
- 通過調(diào)用wpsc_add_plugin($ name),其中$ name是完整文件名和插件路徑。您只需調(diào)用一次該函數(shù)即可添加它。使用wpsc_delete_plugin($ name)將其從已加載插件列表中刪除。
現(xiàn)在可以通過將這些cookie的名稱添加到插件配置中的列表中來修改WP Super Cache用于標(biāo)識(shí)“已知用戶”的cookie。使用wpsc_add_cookie($ name)添加新的cookie,并使用wpsc_delete_cookie($ name)刪除它。Cookie名稱還會(huì)修改插件使用的mod_rewrite規(guī)則,但我建議使用簡單模式緩存,以避免更新.htaccess文件帶來的麻煩。
Cookie名稱和值用于區(qū)分用戶,因此您可以擁有一個(gè)Cookie,但例如,網(wǎng)站上每種用戶的值都不同。將為它們提供不同的緩存文件。
請參閱plugins / searchengine.php作為示例,該示例用于我的“?禁止向朋友投放廣告”插件。