如何為WordPress設置Cloudflare APO-深入研究將性能提高300%

作為年度「生日周」慶祝活動的一部分,Cloudflare最近宣布為WordPress網站發布「自動平台優化」(APO)。

對於性能愛好者來說,Cloudflare的APO代表了最大化WordPress性能的巨大進步。

在基準測試中,我們發現在測試站點上啟用APO可以將頁面載入時間減少70-300%,具體取決於測試位置。

在本文中,我們將深入探討Cloudflare APO的工作原理以及如何使用它來提高WordPress網站的性能!

什麼是自動平台優化(APO)?

自動平台優化是Cloudflare提供的一套新的一鍵式平台定製優化服務。

WordPress是第一個獲得「 APO待遇」的平台,WordPress是全球最受歡迎的CMS,擁有超過60%的市場份額。將來,我們希望為其他CMS和平台看到類似的APO服務。

從高層次上講,Cloudflare的WordPress APO通過兩種主要方式提高了網站性能。

  1. WordPress網站頁面的靜態HTML副本緩存在世界各地的Cloudflare邊緣伺服器中。
  2. 第三方字體由Cloudflare緩存並提供服務。

讓我們來看一下APO在技術層面上的工作方式和原因。

邊緣的靜態HTML

Cloudflare的APO與其他傳統頁面緩存和CDN解決方案之間的主要區別因素是其能夠在Cloudflare的邊緣直接緩存靜態HTML的能力。為了畫出更清晰的圖片,讓我們看一下從「無優化」到APO的四種不同的WordPress設置。

WordPress設置#1 –無頁面緩存或CDN

默認情況下,WordPress不附帶頁面緩存或CDN支持。使用此配置,即使請求之間的頁面內容沒有更改,所有請求都必須由PHP動態生成。

此外,沒有內容交付網路(CDN)集成意味著所有靜態資產(如CSS,JS,圖像和字體)都由源伺服器提供。

此配置可能會使WordPress網站非常慢,尤其是對於遠離原始伺服器的訪問者而言。

WordPress設置2 –沒有CDN的頁面緩存

實施頁面緩存是提高WordPress性能的最佳策略之一。在Kinsta,我們的託管堆棧包括一個由Nginx的FastCGI緩存模塊提供支持的高度調整的頁面緩存層。

頁面緩存極大地減少了原始伺服器上的CPU負載,因為可以通過緩存為請求提供服務,而無需動態HTML生成。

沒有CDN的全局流量路由。

這使您的CPU騰出時間來專註於其他重要的動態任務,並使WordPress網站更加穩定。儘管此配置可以使您的站點每秒處理更多請求,但不能解決「距離問題」。

如果沒有適當的CDN,向遙遠的訪客提供靜態資產仍然是一個問題。

WordPress設置#3 –使用CDN進行頁面緩存

到目前為止,頁面緩存以及CDN用來服務靜態資產是託管WordPress網站的最有效方式。

在此模型中,原始伺服器仍負責為頁面提供實際的HTML。但是,諸如CSS文件,圖像和字體之類的靜態資產已被卸載到世界各地的各種CDN存在點(PoP)。此模型的思想是,靜態資產(尤其是大圖像)構成了請求頁面大小的大部分。因此,通過將資產卸載到更靠近訪客的伺服器上,可以減少載入時間並提高性能。

CDN的全局流量路由。

CDN的全局流量路由。

儘管此配置與前兩個配置相比有顯著改進,但它的確使您想知道如果WordPress性能不再由於必須從原始伺服器提供HTML而成為瓶頸,會發生什麼情況。

出乎意料的是,直到引入Cloudflare的WordPress APO(至少對於非技術用戶而言),這樣的設置才可行。

WordPress設置#4 –適用於WordPress的Cloudflare APO

Cloudflare APO是WordPress性能領域中最新的產品。與以前的WordPress設置受到原始伺服器性能的限制不同,從訪問者的角度來看,啟用了APO的網站實際上變得「無源」。

使用Cloudflare APO進行全局流量路由。

使用Cloudflare APO進行全局流量路由。

為此,Cloudflare利用其全球分布的CDN以及Workers / Workers KV來創建WordPress網站的靜態HTML表示形式。我們將在本文後面的內容中進一步介紹Cloudflare APO的工作方式。

現在,只知道啟用了APO的兼容WordPress網站不再受源於延遲的影響。換句話說,來自美國,德國和日本的訪問者的請求將通過附近的數據中心而不是您的原始伺服器進行服務。
@Kinsta團隊必須測試@Cloudflare的新APO服務…,它將頁面載入時間減少了70-300%。?有關所有詳細信息,請單擊下面。⬇️單擊以發布
2020年Web性能狀態

在過去的幾年中,專業網站開發行業發生了重大變化。越來越多的開發人員正從WordPress整體轉移到更靈活,性能更高的靜態站點生成器(如Hugo)和JavaScript框架(如Gatsby)。

我們明智地使用術語「性能」,因為網路性能通常可以解釋為一個主觀指標。

例如,頁面的載入時間可能會根據測試位置和一天中的時間而波動。

因此,盲目地說Gatsby靜態站點比WordPress站點更快,直到建立了該參數的某些上下文之前,它才有任何作用。

在當今高度連接的世界中,Web性能測試最重要的環境之一是在世界不同地區的載入時間。

在性能方面,靜態網站在這方面優於WordPress。默認情況下,可以將靜態站點直接上載到全球分布的CDN,這使它們可以在全球範圍內快速運行而無需任何其他工作。

由於WordPress站點需要某種形式的原始伺服器來生成HTML,因此它無法直接利用Netlify,Vercel和Cloudflare自己的Workers站點等平台進行無障礙的全球交付。從業務角度來看,這意味著您可能會失去潛在客戶和遠離原始伺服器的客戶,因為Google在生成搜索結果時會考慮頁面速度。

這就是Cloudflare的WordPress APO發揮作用的地方。

使用WordPress,我們的流量增長了1,187%。
我們將向您展示如何。

加入20,000多個其他人,他們每周都會收到有關WordPress內部技巧的新聞!

現在訂閱

成功!感謝您的訂閱

您將在一周內收到下一期的Kinsta新聞通訊。

訂閱Kinsta新聞通訊

訂閱

我同意條款和條件以及隱私政策

啟用Cloudflare APO可將WordPress性能提高300%。

啟用Cloudflare APO可將WordPress性能提高300%。

Cloudflare針對WordPress的自動平台優化完全重新考慮了2020年WordPress性能的含義。正如我們之前提到的,在我們的測試站點上啟用APO可以將載入時間從70-300%減少到70%(取決於測試位置)。這是可能的,因為APO有效地消除了原始伺服器的性能瓶頸。

Cloudflare的自動平台優化如何工作

使用Cloudflare APO,您的WordPress網站的HTML會緩存在Cloudflare遍布全球的邊緣伺服器中。這是由Workers KV實現的,Workers KV是具有超快速全局傳播(少於60秒)的分散式鍵值資料庫服務。

通過Cloudflare API將數據寫入Workers KV時,它會在幾秒鐘內自動複製到全球150多個Cloudflare數據中心。

這使Workers KV成為加快WordPress網站速度的主要候選人,因為帖子和頁面可以通過鍵值機制輕鬆表示-URL是「鍵」,HTML頁面內容是「值」。

在Cloudflare Workers KV中存儲為鍵值對象的網頁。

在Cloudflare Workers KV中存儲為鍵值對象的網頁。

為您的WordPress網站啟用APO後,對該網站的大多數請求將不再訪問您的原始伺服器。

相反,該請求將通過本地Cloudflare CDN緩存(如果存在緩存的頁面)或Workers KV(如果緩存的頁面在Cloudflare的CDN上不存在)提供服務。

如果CDN緩存或Workers KV資料庫中不存在頁面,則Cloudflare將向您的原始伺服器發出單個請求並緩存新頁面的HTML。

這裡的神奇之處在於,Cloudflare Workers KV充當源伺服器的某種分散式鏡像。回想一下,存儲在Workers KV中的數據是在Cloudflare的整個伺服器網路中自動複製的。

這意味著即使您的運行WordPress的原始伺服器位於美國的某個地方,來自日本的訪客的請求也無需點擊原始伺服器即可啟動本地CDN緩存區域。

相反,將為來自日本的訪客提供附近Cloudflare數據中心的Workers KV資料庫或CDN緩存中的緩存HTML。

這種新的交付模型與以前嘗試用於WordPress的HTML頁面緩存的方式大為不同。 

以前,最流行的「全頁緩存」方法涉及創建Cloudflare頁面規則以「緩存所有內容」。儘管此方法可以顯著提高性能,但它並不是一種非常有效的緩存方法,因為它依賴於「拉」模型,而不是Workers KV的「推」模型,該模型自動將HTML全局推送。

使用基於規則的上一頁設置,訪問者到達了美國的Cloudflare緩存區域將不會為其他位置的訪問者緩存資產-這意味著從全球內容交付的角度來看,站點無法有效利用Cloudflare的網路。

自動平台優化還通過緩存第三方字體使事情更進一步。在許多情況下,字體最終可能佔用頁面請求大小的很大一部分。

與通常通過根域提供服務的CSS,JS和圖像不同,字體通常是通過第三方服務(例如Google字體)提供的。這意味著基於代理的緩存服務(例如Cloudflare)無法緩存字體並提供字體。

由於APO由Cloudflare Worker(位於原始伺服器和訪問者之間的可編程JavaScript服務工作者)提供支持,因此有可能注入其他邏輯來完成基本緩存以外的任務。

在這種情況下,APO利用Cloudflare Worker來緩存第三方字體,並使用內聯CSS修改頁面的HTML以指向Cloudflare的CDN上的緩存字體。這樣就無需額外的外部請求來獲取字體,並減少了連接數量和服務於頁面的載入時間。

最後,由於APO通過WordPress插件與您的網站集成,因此每當您更新網站上的頁面時,都會自動清除Cloudflare緩存。這樣可以確保訪問者始終能夠看到您網站的最新版本,而無需任何手動干預。

通過高性能託管和Cloudflare APO最大化WordPress性能

但是,Cloudflare APO並非靈丹妙藥。選擇基於性能的託管WordPress主機(如Kinsta)仍然非常重要,原因有兩個。

  1. Cloudflare APO僅為未登錄的用戶緩存前端頁面。類似於Kinsta的伺服器級頁面緩存配置,APO不會為具有特定Cookie的頁面以及已登錄用戶緩存頁面。這意味著原始伺服器的性能仍然是關鍵。
  2. 出色的WordPress體驗不僅限於快速的前端性能。由於WordPress本質上是動態CMS,因此在操作WordPress網站時需要考慮許多因素。像Kinsta這樣的託管主機提供WordPress量身定製的24/7支持,站點備份,安全保證等。

以下是四個用例,展示了即使使用Cloudflare APO仍要選擇高性能WordPress主機的原因。

1. WooCommerce,便捷的數字下載和電子商務

當檢測到某些與電子商務相關的cookie時,Cloudflare APO選擇性地繞過緩存。例如,當訪客將商品添加到WooCommerce網站上的購物車時,WordPress會自動設置<code> woocommerce_items_in_cart </ code> cookie。當檢測到此cookie時,APO會繞過緩存以避免緩存並提供客戶特定的數據。因此,即使啟用了自動平台優化,WooCommerce和其他基於WordPress的電子商務平台仍將嚴重依賴原始伺服器的性能。

2. WordPress儀錶板性能

由於Cloudflare APO不會為登錄用戶緩存HTML,因此在WordPress儀錶板中進行導航將始終完全取決於原始伺服器的性能。如果您未使用性能優化的主機,則在WordPress網站上執行諸如寫入和發布內容,管理圖像和其他媒體資產以及運行維護常式之類的任務可能會變得非常緩慢。這會對您的業務成果產生直接的負面影響。

3. WordPress會員站點和論壇

如果您使用的是Ultimate Membership Pro之類的插件來管理WordPress會員站點,或者使用bbPress來為WordPress論壇提供動力,則Cloudflare APO將無法優化您的大部分流量。由於會員站點和論壇通常要求用戶登錄,因此Cloudflare APO將自動為這些用戶繞過HTML緩存。因此,使用高性能主機仍然是維護WordPress會員網站和討論論壇的快速用戶體驗的最佳方法。

4. WordPress Cron工作

WordPress cron(WP-Cron)可幫助您安排和自動化WordPress網站上的後端任務。您的網站可能使用cron作業在特定時間發布帖子。像這樣的簡單任務不需要太多的CPU資源,但是其他任務可能會佔用更多的資源。例如,使用插件每12小時將WordPress網站自動備份到ZIP存檔之類的任務會佔用大量CPU資源。

由於Cloudflare APO僅有助於優化前端內容,因此您仍然需要將站點託管在諸如Kinsta之類的高性能主機上,以最大程度地提高後端任務和登錄用戶體驗的性能。

如何為WordPress使用Cloudflare自動平台優化

既然我們已經討論了為什麼針對WordPress的Cloudflare自動平台優化會改變遊戲規則,讓我們討論如何將服務添加到WordPress網站。

Cloudflare APO適用於免費和付費計劃。對於免費用戶,APO每月需要額外收取$ 5的費用。如果您使用Cloudflare的Pro,Business或Enterprise計劃,則可以啟用APO,而無需支付額外費用。

這是開始使用Cloudflare APO所需要做的:

  1. 在Cloudflare儀錶板中創建API令牌。
  2. 安裝官方的Cloudflare WordPress插件。
  3. 啟用自動平台優化。

1.創建一個Cloudflare API令牌

在啟用APO之前,您需要生成一個API令牌並首先安裝Cloudflare WordPress插件。要生成API令牌,請單擊Cloudflare儀錶板右上方的配置文件圖標,單擊「我的配置文件」,選擇「 API令牌」選項卡,然後單擊「創建令牌」。

創建一個Cloudflare API令牌。

創建一個Cloudflare API令牌。

在「 API令牌模板」下,單擊WordPress選項旁邊的「使用模板」。

選擇WordPress API令牌模板。

選擇WordPress API令牌模板。

「 WordPress」模板將生成具有必要許可權的API令牌,以允許自動平台優化正常運行。默認設置是開始使用APO所需的全部設置,但是如果您需要將API令牌鎖定到特定的用戶或區域,請隨時調整「帳戶資源」和「區域資源」設置。

完成標記參數的配置後,向下滾動並單擊「繼續到摘要」。

配置Cloudflare API令牌參數。

配置Cloudflare API令牌參數。

最後,單擊創建令牌以完成該過程。

需要一個可以為您帶來競爭優勢的託管解決方案?Kinsta為您提供了令人難以置信的速度,最先進的安全性和自動縮放功能。查看我們的計劃

確認Cloudflare API令牌的創建。

確認Cloudflare API令牌的創建。

確保將API令牌複製到安全位置。稍後在安裝Cloudflare WordPress插件時將需要它。將API令牌記錄在安全的地方(如密碼管理器)後,請隨時關閉頁面。

在安全的地方記錄您的Cloudflare API令牌。

在安全的地方記錄您的Cloudflare API令牌。

2.安裝Cloudflare WordPress插件

可以直接從WordPress插件存儲庫安裝Cloudflare WordPress插件。要找到它,請在WordPress儀錶板中搜索「 Cloudflare」。請確保安裝官方的Cloudflare插件,而不是「 WP Cloudflare超級頁面緩存」,這是第一個搜索結果。

安裝官方的Cloudflare WordPress插件。

安裝官方的Cloudflare WordPress插件。

接下來,轉到WordPress儀錶板邊欄中的設置> Cloudflare,然後單擊「在此處登錄」。

登錄到您的Cloudflare帳戶。

登錄到您的Cloudflare帳戶。

輸入與您的Cloudflare帳戶關聯的電子郵件地址,以及您先前生成的API令牌。單擊「保存API憑據」以完成登錄過程。

輸入您的電子郵件地址和Cloudflare API令牌。

輸入您的電子郵件地址和Cloudflare API令牌。

既然已經完成了Cloudflare WordPress插件的設置,讓我們轉到Cloudflare儀錶板以啟用自動平台優化。

3.在Cloudflare中啟用自動平台優化

Cloudflare Pro,Business和Enterprise計劃隨附了針對WordPress的自動平台優化功能,無需額外付費。如果您使用免費的Cloudflare計劃,則APO附加費為每月$ 5。要啟用APO,請在Cloudflare信息中心中轉到「速度」>「優化」。

要啟用APO,請導航至「速度」>「優化」。

要啟用APO,請導航至「速度」>「優化」。

向下滾動到「優化交付」部分,然後啟用「 WordPress自動平台優化」。如果您有免費計劃,Cloudflare將在此期間提示您帳單詳細信息。啟用APO後,您應該會看到一條消息「在[您的域]上成功檢測到WordPress插件」。如果您沒有看到此消息,我們建議您重新安裝Cloudflare插件或尋求Cloudflare支持以尋求進一步的幫助。

在Cloudflare儀錶板中為WordPress啟用自動平台優化。

在Cloudflare儀錶板中為WordPress啟用自動平台優化。

在WordPress信息中心中,轉到側欄中的設置> Cloudflare。單擊「為WordPress應用建議的Cloudflare設置」旁邊的「應用」按鈕-這將優化您的WordPress的Cloudflare設置。最後,確保在插件設置中也啟用了「自動平台優化」。

Cloudflare WordPress插件設置。

Cloudflare WordPress插件設置。

如何確認適用於WordPress的Cloudflare APO是否有效

此時,Cloudflare自動平台優化應該在您的站點上處於活動狀態!您可以通過以下方法確認APO是否正常運行。首先,請確保為您的WordPress網站域啟用了Cloudflare的DNS標籤中的橙色雲。如果未啟用橙色雲,則Cloudflare將不會代理您域的流量-這意味著APO也無法正常工作。

確認已啟用Cloudflare橙色雲。

確認已啟用Cloudflare橙色雲。

接下來,您可以使用網路瀏覽器的內置檢查器檢查HTTP標頭,以查詢對網站的請求。在下面的示例中,我們將使用Google Chrome。首先,以隱身模式啟動新的瀏覽器窗口。

在Google Chrome瀏覽器中啟動一個新的隱身窗口。

在Google Chrome瀏覽器中啟動一個新的隱身窗口。

接下來,轉到您的WordPress網站,右鍵單擊頁面,然後選擇「檢查」以打開瀏覽器檢查器。您還可以通過進入Chrome菜單欄中的查看>開發人員>開發人員工具來訪問檢查器。單擊對您的域的請求(在下面的示例中為brianwp.com)。在子菜單中,單擊「標題」以顯示HTTP響應標題。

使用瀏覽器檢查器檢查HTTP標頭。

使用瀏覽器檢查器檢查HTTP標頭。

啟用APO後,您應該會看到一些與APO相關的標題。

  • cf-cache-status指示是否從Cloudflare的CDN提供頁面。刷新頁面幾次後,您應該看到「 HIT」狀態。如果幾次刷新後cf-cache-status標頭顯示「 DYNAMIC」,則可能是由於配置錯誤或與Cookie相關的不兼容而繞過了APO。
  • cf-edge-cache根據源伺服器的緩存說明指示頁面的緩存兼容性。此標頭有兩個可能的值-「 no-cache」和「 cache,platform = wordpress」。使用Cloudflare WordPress插件正確配置APO後,此標頭將為不應緩存的頁面返回「 no-cache」,為可緩存頁面返回「 cache,platform = wordpress」。
  • age表示頁面已在Cloudflare的CDN中緩存的秒數。

如果在檢查WordPress網站時看到上面的三個標題,則表示APO已全部設置。現在,繼續進行速度測試,看看您的網站快多少!

沒有Cloudflare插件的自動平台優化

Cloudflare建議將自動平台優化與官方Cloudflare WordPress插件一起使用。這也是我們建議的方法,因為它可以確保您從APO中獲得最大的性能優勢。如果您的網站與Cloudflare WordPress插件不兼容,我們建議與開發人員合作以使您的網站兼容。

如果您確實無法安裝Cloudflare插件,可以在沒有該插件的情況下使用APO。如果選擇此路線,您仍然可以利用一些性能優化,但是要注意一些重要的限制。

帶有WordPress插件的Cloudflare APO

安裝了Cloudflare WordPress插件後,自動平台優化將提供以下HTML邊緣緩存功能。

  • 具有30天TTL的HTML邊緣緩存。
  • 發布或更新帖子後30秒鐘內,緩存失效。
  • 繞過已登錄用戶的HTML緩存。
  • 繞過某些Cookie(例如WooCommerce)的HTML緩存。
  • 如果可以從Cloudflare的CDN提供頁面,則跳過對原始伺服器的請求。這樣可以減少源伺服器上的負載。

沒有WordPress插件的Cloudflare APO

如果未安裝Cloudflare WordPress插件,則可以看到APO HTML邊緣緩存的以下功能。

  • 具有30天TTL的HTML邊緣緩存。
  • 30分鐘(而不是30秒)內使緩存失效。
  • 繞過某些Cookie(例如WooCommerce)的HTML緩存。
  • 為了提供正確的緩存無效邏輯,仍然需要對原始伺服器的請求。

如您所見,將自動平台優化與官方的Cloudflare WordPress插件一起使用有多個優點。

大新聞-@Cloudflare的WordPress APO在這裡,它代表了最大化WordPress性能的巨大進步。?你可以學習如何使用它來給自己的網站升壓!點擊鳴叫
摘要

毫無疑問,針對WordPress的Cloudflare自動平台優化是最近歷史上提高WordPress性能的最重要的服務。它超越了通常的Web伺服器優化,伺服器端頁面緩存和CSS / JS縮小策略,並提供了全新的功能。

自成立以來,WordPress一直受到以下事實的限制:沒有一種簡化且簡單的方法將CDN上的HTML頁面緩存。通過利用其由150多個數據中心,Workers和Workers KV組成的網路,Cloudflare擴大了WordPress站點和使用尖端框架設計的靜態站點之間的性能競爭環境。

這是一項不小的壯舉,我們期待著將來看到Cloudflare如何將其自動平台優化功能擴展到其他CMS平台。

您是否正在使用Cloudflare APO加速WordPress網站?在下面的評論中讓我們知道!

如果您喜歡這篇文章,那麼您會喜歡Kinsta的WordPress託管平台。加速您的網站並獲得我們經驗豐富的WordPress團隊的24/7支持。我們基於Google Cloud的基礎架構專註於自動擴展,性能和安全性。讓我們向您展示Kinsta的與眾不同!查看我們的計劃

相關文章