新聞中心
對于性能愛好者來說,Cloudflare的APO代表著在最大化wordpress性能方面向前邁出了一大步。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比鄢陵網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式鄢陵網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鄢陵地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
在我們的基準測試中,我們發(fā)現(xiàn)在我們的測試站點上啟用APO可以將頁面加載時間減少70-300%,具體取決于測試位置。
在本文中,我們將深入探討Cloudflare APO的工作原理以及如何使用它來提高WordPress網(wǎng)站的性能!
什么是自動平臺優(yōu)化 (APO)?
Automatic Platform Optimization(以下簡稱APO)是Cloudflare提供的一套新的一鍵式平臺定制優(yōu)化服務(wù)。
第一個接受“APO待遇”的平臺是WordPress,它是全球受歡迎的CMS,市場份額超過60%。未來,我們希望看到類似的APO服務(wù)適用于其他CMS和平臺。
在較高的層面上,Cloudflare的WordPress APO通過兩種主要方式提高了網(wǎng)站性能。
讓我們深入了解一下APO在技術(shù)層面上的工作方式和原因。
邊緣的靜態(tài)HTML
Cloudflare的APO與其他傳統(tǒng)頁面緩存和CDN解決方案之間的關(guān)鍵區(qū)別在于它能夠在Cloudflare的邊緣直接緩存靜態(tài)HTML。為了描繪更清晰的畫面,讓我們通過從“無優(yōu)化”到APO的四種不同的WordPress設(shè)置。
WordPress設(shè)置 #1 – 無頁面緩存或CDN
默認情況下,WordPress不提供頁面緩存或CDN支持。使用此配置,即使請求之間沒有更改頁面內(nèi)容,所有請求也需要由PHP動態(tài)生成。
此外,沒有內(nèi)容交付網(wǎng)絡(luò) (CDN) 集成意味著所有靜態(tài)資產(chǎn)(如CSS、JS、圖像和字體)都由源服務(wù)器提供服務(wù)。
這種配置會使WordPress站點變得非常慢,尤其是對于遠離源服務(wù)器的訪問者而言。
WordPress設(shè)置 #2 – 沒有CDN的頁面緩存
實施頁面緩存是提高WordPress性能的最佳策略之一。在一些WordPress托管服務(wù)器,托管堆棧包括一個高度調(diào)整的頁面緩存層,由Nginx的FastCGI緩存模塊提供支持。
頁面緩存極大地減少了源服務(wù)器上的CPU負載,因為可以從緩存中提供請求,而無需生成動態(tài)HTML。
這可以釋放您的CPU以專注于其他重要的動態(tài)任務(wù),并使您的WordPress網(wǎng)站更加穩(wěn)定。雖然此配置可能允許您的站點每秒處理更多請求,但它并不能解決“距離問題”。
如果沒有合適的CDN,向遙遠的訪問者提供靜態(tài)資產(chǎn)仍然是一個問題。
WordPress設(shè)置 #3 – 使用CDN進行頁面緩存
到目前為止,添加用于提供靜態(tài)資產(chǎn)的CDN的頁面緩存是托管WordPress網(wǎng)站的最高效方式。
在這個模型中,源服務(wù)器仍然負責為頁面提供實際的HTML。但是,CSS文件、圖像和字體等靜態(tài)資產(chǎn)被卸載到世界各地的各種CDN存在點 (PoP)。該模型背后的想法是靜態(tài)資產(chǎn),尤其是大圖像,構(gòu)成請求頁面大小的大部分. 因此,通過將資產(chǎn)卸載到更靠近訪問者的服務(wù)器,可以減少加載時間并提高性能。
使用CDN的全球流量路由
雖然此配置比前兩個配置提供了顯著改進,但它確實讓您想知道如果WordPress性能不再因必須從源服務(wù)器提供HTML而成為瓶頸,會發(fā)生什么。
令人驚訝的是,在為WordPress引入Cloudflare的APO之前,這樣的設(shè)置是不可行的——至少對于非技術(shù)用戶來說是不可行的。
WordPress設(shè)置 #4 – 適用于WordPress的Cloudflare APO
Cloudflare APO是世界上最新的WordPress性能優(yōu)化解決方案。與之前受源站服務(wù)器性能限制的WordPress設(shè)置不同,啟用APO的站點從訪問者的角度來看基本上變得“無源”。
使用Cloudflare APO進行全球流量路由
為此,Cloudflare利用其全球分布的CDN以及Workers/Workers KV來創(chuàng)建您的WordPress站點的靜態(tài)HTML表示。我們將在本文后面深入了解Cloudflare APO的工作原理。
現(xiàn)在,只要知道啟用了APO的兼容WordPress站點不再受制于來源引起的延遲。換句話說,來自美國、德國和日本的訪問者的請求將由附近的數(shù)據(jù)中心而不是您的源服務(wù)器提供服務(wù)。
2022年Web性能狀況
在過去的幾年里,專業(yè)的Web開發(fā)行業(yè)發(fā)生了很大的變化。越來越多的開發(fā)人員正在從WordPress這樣的單體架構(gòu)轉(zhuǎn)向更靈活和高性能的靜態(tài)站點生成器,比如Hugo和JavaScript框架,比如Gatsby。
我們明智地使用“性能”一詞,因為Web性能通??梢员唤忉尀橐粋€主觀指標。
例如,頁面的加載時間可能會根據(jù)測試位置和一天中的時間而波動。
因此,一味地說Gatsby靜態(tài)網(wǎng)站比WordPress網(wǎng)站快是沒有任何意義的,直到建立了一些論證的上下文。
在當今高度連接的世界中,Web性能測試最重要的環(huán)境之一是世界不同地區(qū)的加載時間。
這就是靜態(tài)網(wǎng)站在性能方面優(yōu)于WordPress的地方。默認情況下,靜態(tài)站點可以直接上傳到全球分布的CDN——這使得它們在全球范圍內(nèi)快速傳播,無需任何額外工作。
由于WordPress站點需要某種類型的源服務(wù)器來生成HTML,因此它無法直接利用Netlify、Vercel和Cloudflare自己的Workers Sites等平臺進行無摩擦的全球交付。從業(yè)務(wù)角度來看,這意味著您可能會失去遠離原始服務(wù)器的潛在訪問者和客戶,因為Google在生成搜索結(jié)果時會考慮頁面速度。
這就是Cloudflare的WordPress APO發(fā)揮作用的地方。
啟用Cloudflare APO將WordPress性能提高了300%
Cloudflare的WordPress自動平臺優(yōu)化是對2022年WordPress性能意味著什么的徹底重新思考。正如我們之前提到的,在我們的測試站點上啟用APO可將加載時間從70%減少到300%,具體取決于測試位置。這是可能的,因為APO有效地消除了作為性能瓶頸的源服務(wù)器。
Cloudflare的自動平臺優(yōu)化如何工作
使用Cloudflare APO,您的WordPress站點的HTML緩存在Cloudflare的全球邊緣服務(wù)器中。這可以通過Workers KV實現(xiàn),這是一種分布式鍵值數(shù)據(jù)庫服務(wù),具有超快的全局傳播(不到60秒)。
當數(shù)據(jù)通過Cloudflare API寫入Workers KV時,它會在幾秒鐘內(nèi)自動復(fù)制到全球150多個Cloudflare數(shù)據(jù)中心。
這使得Workers KV成為加速WordPress網(wǎng)站的主要候選者,因為文章和頁面可以很容易地用鍵值機制表示——URL是“鍵”,HTML頁面內(nèi)容是“值”。
在Cloudflare Workers KV中存儲為鍵值對象的網(wǎng)頁
為您的WordPress站點啟用APO后,對您站點的大多數(shù)請求將不再訪問您的源服務(wù)器。
相反,請求將從本地Cloudflare CDN緩存(如果緩存頁面存在)或Workers KV(如果緩存頁面在Cloudflare的CDN上不存在)提供。
如果CDN緩存或Workers KV數(shù)據(jù)庫中不存在頁面,則Cloudflare將向您的源服務(wù)器發(fā)出單個請求并緩存新頁面的HTML。
這里的神奇之處在于Cloudflare Workers KV充當您的源服務(wù)器的某種分布式鏡像?;叵胍幌?,存儲在Workers KV中的數(shù)據(jù)會在Cloudflare的整個服務(wù)器網(wǎng)絡(luò)中自動復(fù)制。
這意味著即使您運行WordPress的源服務(wù)器位于美國某處,來自日本的訪問者的請求也不需要訪問您的源服務(wù)器來啟動本地CDN緩存區(qū)域。
相反,來自日本的訪問者將獲得來自附近Cloudflare數(shù)據(jù)中心的Workers KV數(shù)據(jù)庫或CDN緩存的緩存HTML。
這種新的交付模型與以前為WordPress緩存HTML頁面的嘗試大不相同。
以前,最流行的“整頁緩存”方法涉及創(chuàng)建Cloudflare頁面規(guī)則來“緩存所有內(nèi)容”。雖然這種方法可以顯著提高性能,但它并不是一種非常有效的緩存方法,因為它依賴于“拉”模型而不是Workers KV的“推”模型,后者會自動在全球范圍內(nèi)推送HTML。
通過上一頁基于規(guī)則的設(shè)置,訪問美國Cloudflare緩存區(qū)的訪問者不會為其他位置的訪問者緩存資產(chǎn)——這意味著從全球內(nèi)容交付的角度來看,網(wǎng)站無法有效利用Cloudflare的網(wǎng)絡(luò)。
自動平臺優(yōu)化通過緩存第三方字體更進一步。在許多情況下,字體最終會占據(jù)頁面請求大小的很大一部分。
與通常從根域提供的CSS、JS和圖像不同,字體通常來自第三方服務(wù),如Google Fonts。這意味著Cloudflare等基于代理的緩存服務(wù)無法緩存字體和提供字體。
由于APO由Cloudflare Worker(位于源服務(wù)器和訪問者之間的可編程JavaScript服務(wù)工作者)提供支持,因此可以注入額外的邏輯來完成基本緩存之外的任務(wù)。
在這種情況下,APO使用Cloudflare Worker來緩存第三方字體并使用內(nèi)聯(lián)CSS修改頁面的HTML,以指向Cloudflare CDN上的緩存字體。這消除了獲取字體的額外外部請求的需要,并減少了服務(wù)頁面所需的連接數(shù)量和加載時間。
最后,由于APO通過WordPress插件與您的站點集成,因此每當您更新站點上的頁面時,都會自動清除Cloudflare緩存。這可確保訪問者始終能夠看到您網(wǎng)站的最新版本,而無需任何人工干預(yù)。
使用高性能托管和Cloudflare APO最大限度地提高WordPress性能
然而,Cloudflare APO并不是靈丹妙藥。選擇以性能為中心的WordPress主機仍然非常重要,主要有兩個原因。
這里有四個用例展示了為什么即使您使用Cloudflare APO仍應(yīng)選擇高性能WordPress主機。
1. WooCommerce, Easy Digital Downloads和電子商務(wù)
當檢測到某些與電子商務(wù)相關(guān)的cookie時,Cloudflare APO會選擇性地繞過緩存。例如,當訪問者在WooCommerce網(wǎng)站上將商品添加到購物車時,WordPress會自動設(shè)置woocommerce_items_in_cart cookie。當檢測到此cookie時,APO會繞過緩存以避免緩存和提供客戶特定的數(shù)據(jù)。因此,即使啟用了自動平臺優(yōu)化,WooCommerce和其他基于WordPress的電子商務(wù)平臺仍將嚴重依賴原始服務(wù)器的性能。
2. WordPress儀表盤性能
由于Cloudflare APO不會為登錄用戶緩存HTML,因此在WordPress儀表盤中導(dǎo)航將始終完全依賴于您的源服務(wù)器性能。如果您沒有使用性能優(yōu)化的主機,那么在您的WordPress網(wǎng)站上編寫和發(fā)布內(nèi)容、管理圖像和其他媒體資產(chǎn)以及運行維護例程等任務(wù)可能會變成非常緩慢的體驗。這會對您的業(yè)務(wù)成果產(chǎn)生直接的負面影響。
3. WordPress會員網(wǎng)站和論壇
如果您使用Ultimate Membership Pro之類的插件來管理您的WordPress會員網(wǎng)站,或者使用bbPress來支持WordPress論壇,Cloudflare APO將無法優(yōu)化您的大部分流量。由于會員網(wǎng)站和論壇通常需要用戶登錄,Cloudflare APO將自動繞過這些用戶的HTML緩存。因此,使用高性能主機仍然是WordPress會員網(wǎng)站和論壇保持快速用戶體驗的最佳方式。
4. WordPress Cron作業(yè)
WordPress cron (WP-Cron)可幫助您在WordPress網(wǎng)站上安排和自動化后端任務(wù)。您的站點可能會使用cron作業(yè)在特定時間發(fā)布文章。像這樣的簡單任務(wù)在CPU資源方面不需要太多,但其他任務(wù)可能會占用更多資源。例如,使用備份插件每12小時自動將您的WordPress站點備份到ZIP存檔之類的任務(wù)會占用更多CPU。
由于Cloudflare APO僅有助于優(yōu)化前端內(nèi)容,因此您仍需要將站點托管在高性能主機上,以最大限度地提高后端任務(wù)的性能和登錄用戶體驗。
如何為WordPress使用Cloudflare自動平臺優(yōu)化
既然我們已經(jīng)討論了為什么Cloudflare WordPress自動平臺優(yōu)化會改變游戲規(guī)則,那么讓我們來看看如何將服務(wù)添加到您的WordPress網(wǎng)站。
APO適用于Cloudflare免費和付費計劃。對于免費的Cloudflare用戶,需要額外支付5美元/月的APO費用。如果您在Cloudflare上使用Pro、Business或Enterprise計劃,則可以免費啟用APO。
以下是開始使用Cloudflare APO所需的操作:
1. 創(chuàng)建Cloudflare API令牌
在啟用APO之前,您需要先生成API令牌并安裝Cloudflare WordPress插件。要生成API令牌,請單擊Cloudflare儀表盤右上角的個人資料圖標,單擊“My Profile”,選擇“API Tokens”選項卡,然后單擊Create Token。
創(chuàng)建Cloudflare API令牌
在“API Token Templates”下,單擊WordPress選項旁邊的Use Template。
選擇WordPress API令牌模板
“WordPress”模板將生成一個具有必要權(quán)限的API令牌,以允許自動平臺優(yōu)化正常運行。默認設(shè)置是您開始使用APO所需的全部,但如果您需要將API令牌鎖定到特定用戶或區(qū)域,請隨意調(diào)整“Account Resources”和“Zone Resources”設(shè)置。
完成令牌參數(shù)配置后,向下滾動并單擊Continue to Summary。
配置Cloudflare API令牌參數(shù)
最后,單擊Create Token以完成該過程。
確認Cloudflare API令牌的創(chuàng)建
請務(wù)必將API令牌復(fù)制到安全位置。稍后安裝Cloudflare WordPress插件時將需要它。將API令牌記錄在密碼管理器等安全位置后,請隨時關(guān)閉頁面。
在安全的地方記錄您的Cloudflare API令牌
2. 安裝Cloudflare WordPress插件
Cloudflare WordPress插件可以直接從WordPress插件庫安裝。要找到它,請在WordPress儀表盤中搜索“Cloudflare”。請務(wù)必安裝官方Cloudflare插件,而不是“WP Cloudflare Super Page Cache”,這是第一個搜索結(jié)果。
安裝官方Cloudflare WordPress插件
接下來,轉(zhuǎn)到WordPress儀表盤側(cè)邊欄中的設(shè)置 > Cloudflare,然后單擊“Sign in Here”。
登錄您的Cloudflare帳戶
輸入與您的Cloudflare帳戶關(guān)聯(lián)的電子郵件地址以及您之前生成的API令牌。單擊Save API Credentials以完成登錄過程。
輸入您的電子郵件地址和Cloudflare API令牌
現(xiàn)在Cloudflare WordPress插件已全部設(shè)置完畢,讓我們前往Cloudflare儀表盤以啟用自動平臺優(yōu)化。
3. 在Cloudflare中啟用自動平臺優(yōu)化
Cloudflare Pro、Business和Enterprise計劃中包含WordPress的自動平臺優(yōu)化,無需額外費用。如果您使用免費的Cloudflare計劃,則APO附加組件每月5美元。要啟用APO,請轉(zhuǎn)到Cloudflare儀表盤中的Speed > Optimization。
要啟用APO,請導(dǎo)航到Speed > Optimization
向下滾動到“Optimized Delivery”部分,并啟用“Automatic Platform Optimization for WordPress”。如果您使用的是免費計劃,Cloudflare將在此期間提示您提供賬單詳細信息。啟用APO后,您應(yīng)該會看到一條消息“WordPress plugin successfully detected on [your domain]”。如果您沒有看到此消息,我們建議您重新安裝Cloudflare插件或聯(lián)系Cloudflare支持以獲得進一步幫助。
在Cloudflare儀表盤中為WordPress啟用自動平臺優(yōu)化
在您的WordPress儀表盤中,轉(zhuǎn)到側(cè)欄中的設(shè)置 > Cloudflare。單擊“Apply Recommended Cloudflare Settings for WordPress”旁邊的Apply按鈕——這將優(yōu)化您的WordPress的Cloudflare設(shè)置。最后,確保在插件設(shè)置中也啟用了“Automatic Platform Optimization”。
Cloudflare WordPress插件設(shè)置
如何確認適用于WordPress的Cloudflare APO是否正常工作
此時,Cloudflare自動平臺優(yōu)化應(yīng)該在您的站點上處于活動狀態(tài)!以下是確認APO是否正常工作的方法。首先,確保為您的WordPress站點的域啟用了Cloudflare的DNS選項卡中的橙色云。如果未啟用橙色云,Cloudflare將不會為您的域代理流量——這意味著APO將無法正常工作。
確認Cloudflare橙色云已啟用
如何使用瀏覽器檢查器檢查Cloudflare APO緩存狀態(tài)
接下來,您可以使用Web瀏覽器的內(nèi)置檢查器檢查對您網(wǎng)站的請求的HTTP標頭。我們將在下面的示例中使用Google Chrome。首先,在隱身模式下啟動一個新的瀏覽器窗口。
在Google Chrome中啟動一個新的隱身窗口
接下來,轉(zhuǎn)到您的WordPress站點,右鍵單擊該頁面,然后選擇“Inspect”以打開瀏覽器檢查器。您還可以通過轉(zhuǎn)到Chrome更多按鈕菜單欄中的更多工具 > 開發(fā)者工具來訪問檢查器。單擊對您的域的請求(下例中的brianwp.com)。在子菜單中,單擊“Headers”以顯示HTTP響應(yīng)標頭。
使用瀏覽器檢查器檢查Cloudflare緩存狀態(tài)
啟用APO后,您應(yīng)該會看到一些與APO相關(guān)的標頭。
cf-apo-via指示從何處提供請求。此標頭有幾個可能的值——“origin, no-cache”、“origin, bypass”和“cache”。如果您看到此標頭的“origin, no-cache”值,則表示源服務(wù)器已向Cloudflare發(fā)送了“Cache-Control: no-cache”標頭。“origin, bypass” 值表示Cloudflare的HTML緩存被繞過,請求是從源端提供的。最后,“cache”值表示請求是從Cloudflare的緩存中提供的。cf-cache-status指示頁面是否從Cloudflare的CDN提供。刷新頁面幾次后,您應(yīng)該會看到“HIT”狀態(tài)。如果您的cf-cache-status標頭在幾次刷新后顯示“DYNAMIC”,則可能是由于配置錯誤或與cookie相關(guān)的不兼容而繞過了APO。cf-edge-cache根據(jù)來自您的原始服務(wù)器的緩存指令指示頁面的緩存兼容性。此標頭有兩個可能的值——“no-cache”和“cache, platform=wordpress”。當使用Cloudflare WordPress插件正確配置APO時,此標頭將為不應(yīng)緩存的頁面返回“no-cache”,為可緩存的頁面返回“cache, platform=wordpress”。age表示頁面在Cloudflare的CDN中緩存的秒數(shù)。
如果您在檢查WordPress站點時看到上面的標頭,則表示APO已全部設(shè)置?,F(xiàn)在,繼續(xù)進行速度測試,看看您的網(wǎng)站有多快!
如何使用curl檢查Cloudflare APO緩存狀態(tài)
您還可以在終端中使用下面的curl命令確認Cloudflare APO是否正常工作。請注意,該命令傳遞了一個“Accept: text/html”標頭。這是檢查APO緩存狀態(tài)時所必需的。
curl --request GET -I -H "Accept: text/html" https://www.website.com
運行命令后,您應(yīng)該會看到如下所示的響應(yīng)標頭列表。如您所見,cf-cache-status、cf-apo-via、cf-edge-cache和age標頭顯示請求由Cloudflare的緩存提供服務(wù)。
使用curl檢查Cloudflare APO緩存狀態(tài)
不使用Cloudflare插件的APO自動平臺優(yōu)化
Cloudflare建議將自動平臺優(yōu)化與官方Cloudflare WordPress插件一起使用。這也是我們建議的方法,因為它可以確保您從APO中獲得最大的性能優(yōu)勢。如果您的網(wǎng)站與Cloudflare WordPress插件不兼容,我們建議您與開發(fā)人員合作以使您的網(wǎng)站兼容。
如果您真的無法安裝Cloudflare插件,則可以在沒有插件的情況下使用APO。如果您選擇這條路線,您仍然可以利用一些性能優(yōu)化,但有幾個重要的限制需要注意。
帶有WordPress插件的Cloudflare APO
安裝Cloudflare WordPress插件后,自動平臺優(yōu)化提供以下HTML邊緣緩存功能。
- 具有30天TTL的HTML邊緣緩存。
- 文章發(fā)布或更新后30秒內(nèi)緩存失效。
- 為登錄用戶繞過HTML緩存。
- 繞過某些cookie(如WooCommerce)的HTML緩存。
- 如果可以從Cloudflare的CDN提供頁面,則跳過對源服務(wù)器的請求。這減少了源服務(wù)器上的負載。
沒有WordPress插件的Cloudflare APO
如果未安裝Cloudflare WordPress插件,您可能會看到以下APO HTML邊緣緩存功能。
- 具有30天TTL的HTML邊緣緩存。
- 緩存在30分鐘內(nèi)失效(而不是30秒)。
- 繞過某些cookie(如WooCommerce)的HTML緩存。
- 為了提供正確的緩存失效邏輯,仍然需要向源服務(wù)器發(fā)出請求。
如您所見,將自動平臺優(yōu)化與官方Cloudflare WordPress插件一起使用有幾個優(yōu)點。
小結(jié)
WordPress的Cloudflare自動平臺優(yōu)化無疑是近期歷史上提升WordPress性能的最重要服務(wù)。它超越了通常的Web服務(wù)器優(yōu)化、服務(wù)器端頁面緩存和CSS/JS縮小策略,并呈現(xiàn)了一些全新的東西。
自成立以來,WordPress一直受到以下事實的限制:在CDN上緩存HTML頁面沒有一種簡化且簡單的方法。通過利用其由150多個數(shù)據(jù)中心、Workers和Workers KV組成的網(wǎng)絡(luò),Cloudflare在WordPress站點和采用尖端框架設(shè)計的靜態(tài)站點之間拉平了性能競爭環(huán)境。
這是一項不小的壯舉,我們期待看到Cloudflare在未來如何將其自動平臺優(yōu)化功能擴展到其他CMS平臺。
當前名稱:如何為WordPress設(shè)置CloudflareAPO–將性能提升高達300%
文章鏈接:http://fisionsoft.com.cn/article/djeeigc.html


咨詢
建站咨詢
