作為一家性能托管公司,我們真的很想研究和分享使您的WordPress網(wǎng)站更快的方法。如今,提速的明智之舉之一就是利用內(nèi)容交付網(wǎng)絡(luò)(CDN)。他們減輕了您的Web服務(wù)器的負(fù)擔(dān),同時加快了向訪問者的內(nèi)容傳遞速度,從而改善了他們的體驗!
今天,我們想以通俗易懂的方式向您解釋W(xué)ordPress CDN的工作原理,為什么要使用WordPress CDN以及它們帶來的一些額外好處。我們還將共享一些速度測試,以便您可以更好地判斷您希望在自己的網(wǎng)站上看到多少性能提升。
什么是WordPress CDN?
CDN是內(nèi)容交付網(wǎng)絡(luò)的縮寫。這些是遍布全球的服務(wù)器網(wǎng)絡(luò)(也稱為POP)。它們旨在托管和交付WordPress網(wǎng)站的靜態(tài)(有時是動態(tài))內(nèi)容的副本,例如圖像,CSS,java script和視頻流。
CDN的運作方式
首先,您不想讓CDN與WordPress主機混淆。這些是完全獨立的服務(wù)。CDN不能替代您的托管服務(wù)提供商,而是可以提高網(wǎng)站速度的另一種方法。雖然我們在Kinsta的托管服務(wù)迅速發(fā)展,但CDN可以使您的網(wǎng)站更快。
CDN如何工作?好吧,例如,當(dāng)您使用Kinsta托管網(wǎng)站時,您必須選擇一個物理數(shù)據(jù)中心位置,例如美國中部,歐洲,南美或亞洲。假設(shè)您選擇美國中部。這意味著您的網(wǎng)站實際上位于愛荷華州康瑟爾布拉夫斯的“主機服務(wù)器”上。當(dāng)歐洲各地的人們訪問您的網(wǎng)站時,它會花更長的時間來加載來自德克薩斯州達(dá)拉斯市的訪問者的經(jīng)文。為什么?因為數(shù)據(jù)必須傳播更遠(yuǎn)的距離。這就是所謂的延遲。延遲是指網(wǎng)絡(luò)上數(shù)據(jù)傳輸所涉及的時間和/或延遲。距離越遠(yuǎn),延遲就越大。
如果網(wǎng)站加載時間超過三秒鐘,則有40%的訪問者會放棄網(wǎng)站。
它還需要數(shù)次網(wǎng)絡(luò)躍點(中間網(wǎng)絡(luò)設(shè)備之間的通信實例)來滿足從瀏覽器到托管服務(wù)器的數(shù)據(jù)請求,以及從托管服務(wù)器到Web瀏覽器的請求內(nèi)容。這就是CDN發(fā)揮作用的地方。通過從更靠近服務(wù)器的服務(wù)器加載站點的內(nèi)容,有助于減少延遲。這些CDN服務(wù)器有時也稱為POP(存在點)。
WordPress用戶有時可能不愿意研究內(nèi)容交付網(wǎng)絡(luò),因為一開始它可能有點讓人不知所措。因此,以通俗易懂的方式,通過以下三個簡單步驟,介紹了它們的工作方式和實現(xiàn)方式:
步驟1
您選擇一個CDN提供程序并訂閱他們的服務(wù)。這些通常按月或按數(shù)據(jù)使用量計費。大多數(shù)提供商都會有一個計算器來估算您的費用。
第2步
您可以利用CDN啟動器或WP Rocket等免費插件進(jìn)行集成。這些插件會自動將您的資產(chǎn)鏈接到CDN。您無需進(jìn)行任何工作即可將內(nèi)容包含在CDN上,這一切都無需動手!與幾年前相比,部署CDN容易得多。
第三步
當(dāng)人們訪問您的網(wǎng)站時,它現(xiàn)在正在從全球不同的CDN加載WordPress網(wǎng)站的內(nèi)容。因此,對于那些訪問您位于愛荷華州的網(wǎng)站的歐洲訪問者來說,您的內(nèi)容現(xiàn)在是從歐洲的POP中加載的。他們?nèi)绾巫龅竭@一點?CDN通常使用兩種不同類型的技術(shù)將用戶路由到正確的位置,即IP Anycast +地理位置路由。他們可以自動檢測用戶請求來自何處,并將請求路由到最近的POP。
不過,為您的WordPress主機選擇戰(zhàn)略服務(wù)器位置仍然很重要。因為即使CDN有助于分發(fā)您的媒體和內(nèi)容,在加載您的網(wǎng)站時,仍必須向托管服務(wù)提供商發(fā)出單個請求。除非您在代理服務(wù)器上使用全頁緩存,否則我們將在后面介紹。Kinsta現(xiàn)在有22個數(shù)據(jù)中心位置,您可以從中托管WordPress網(wǎng)站。
CDN的好處
以下只是在WordPress網(wǎng)站上使用CDN的眾多好處中的一些。
1.性能提升
性能提高是使用CDN的最大原因之一。一次又一次地證明,更快的加載站點直接與更高的轉(zhuǎn)化率,降低的跳出率和更長的平均訪客持續(xù)時間相關(guān)。更不用說更簡單的全方位用戶體驗了。您是什么時候最后一次在您的瀏覽器中單擊,因為該網(wǎng)站加載時間太長?這是您要發(fā)生的最后一件事。但是請不要相信我們,以下是一些頂級行業(yè)領(lǐng)導(dǎo)者為您提供的一些快速統(tǒng)計數(shù)據(jù):
頁面響應(yīng)延遲1秒會導(dǎo)致轉(zhuǎn)化減少7%。(來源:Kissmetrics)
英國廣播公司(BBC)發(fā)現(xiàn),網(wǎng)站加載每增加一秒鐘,他們就會失去另外10%的用戶。(來源:Creative Bloq)
根據(jù)Google DoubleClick的調(diào)查,在3秒后,有53%的移動網(wǎng)站訪問被放棄。(來源:DoubleClick)
全球速賣通將加載時間減少了36%,新客戶的訂單增加了10.5%,轉(zhuǎn)換率增加了27%。(來源:Akamai)
CDN可以通過以下幾種方法來改善WordPress網(wǎng)站的性能。
減少TTFB
上面我們已經(jīng)介紹了WordPress CDN可以通過縮短數(shù)據(jù)傳輸所需的物理距離來幫助減少延遲。但這也可以幫助您縮短到第一個字節(jié)(TTFB)的時間。簡而言之,這是瀏覽器在從服務(wù)器接收其第一字節(jié)數(shù)據(jù)之前必須等待多長時間的度量。獲取數(shù)據(jù)所需的時間越長,顯示頁面所需的時間就越長。
一個常見的誤解是,這是在DNS查找時間之后計算的,但是, 網(wǎng)絡(luò)中TTFB的 原始計算始終包括網(wǎng)絡(luò)延遲。這涉及3個步驟,延遲和等待時間可能介于兩者之間,從而增加了您的總TTFB。TTFB高可能是由多種原因引起的,例如錯誤的代碼或主機服務(wù)器上錯誤的緩存配置。但是地理距離絕對是一個演員。我們進(jìn)行了一些測試,以顯示與Kinsta CDN(由KeyCDN支持)的區(qū)別。每個測試運行5次,取平均值。
我們首先 在 禁用CDN的情況下進(jìn)行了測試,您可以看到我們的總加載時間為1.45 s,資產(chǎn)的平均TTFB約為136 ms。
然后,我們啟用CDN并 再次運行測試。如您所見,我們的總加載時間降至788毫秒,而我們的平均TTFB現(xiàn)在為37毫秒!CDN可以帶來什么變化。還要注意的另一件事是,我們選擇了斯德哥爾摩的地點來執(zhí)行此測試。為什么?因為我們想向您展示減少物理距離可以帶來的真正改善。斯德哥爾摩有CDN POP,因此我們的內(nèi)容由斯德哥爾摩提供。
注意:如果您正在使用Cloudflare,則您的TTFB可能會 稍高一些。這很可能是由于運行完全代理服務(wù)的額外開銷和復(fù)雜性所致。請記住,Cloudflare具有一些CDN提供程序所沒有的其他防火墻和其他功能。因此,您需要下定決心,這可能會讓您受益更多。如果您的整個網(wǎng)站沒有得到適當(dāng)?shù)膬?yōu)化,那么選擇稍高的TTFB可能是值得的。
但是,您可能還想查看有關(guān)使用Cloudflare頁面緩存 來降低TTFB的WP Bullet指南 。這可能需要一些其他的設(shè)置和測試。確保運行您自己的測試,因為每個環(huán)境都不同。在某些情況下還顯示了Cloudflare的新Argo服務(wù),以幫助降低TTFB。
通過緩存更快地交付
就像您通過WordPress主機或插件利用緩存一樣,CDN也利用緩存。這是他們可以這么快地傳送文件的一種方式。需要注意的重要一件事是緩存的工作方式。CDN獲得您的媒體副本后,通常必須由訪問者請求一次或兩次,然后才能將其實際緩存在CDN上。CDN將HTTP標(biāo)頭放在稱為“ X-Cache”的請求上。在第一個或第二個請求上,文件通常將顯示為MISS,這意味著它尚未被緩存。
在后續(xù)請求時,它將顯示為HIT,這意味著它現(xiàn)在已緩存在您的CDN上。它將根據(jù)各種因素(例如ETag標(biāo)頭,過期標(biāo)頭或您手動清除CDN高速緩存)保留高速緩存。
如果您使用的是諸如Cloudflare之類的完整代理CDN,則還可以利用它們所謂的全頁緩存來將緩存提升到一個新的水平。這涉及將所有內(nèi)容都緩存在URL上。但是,對于WordPress網(wǎng)站,這有時可能會有些棘手,因為您將需要為網(wǎng)站的動態(tài)部分實施變通方法。
GZIP壓縮可節(jié)省大量資金
WordPress CDN還利用GZIP,一種文件格式以及用于文件壓縮和解壓縮的軟件應(yīng)用程序。GZIP壓縮是在服務(wù)器端(或CDN服務(wù)器/ POP上)啟用的,并允許進(jìn)一步減小HTML,樣式表和java script文件的大小。它不適用于圖像,因為這些圖像已經(jīng)以不同的方式壓縮。有些人由于壓縮而減少了70%。這可能是您可以進(jìn)行的最簡單的優(yōu)化之一。不用擔(dān)心,所有主要CDN均默認(rèn)啟用此功能。
您可以看到使用Check GZIP Compression 或Chrome DevTools之類的工具來查看壓縮帶來的巨大差異。例如,下面您可以看到在CDN提供的jquery.js文件上,GZIP壓縮將大小從94.9 KB減小到33.6 KB。僅一個文件即可節(jié)省64.59%。將其添加到所有資產(chǎn)和媒體中,您將明白為什么壓縮至關(guān)重要!
Brotli將壓縮提升到一個新的水平
Brotli是Google開發(fā)的一種更新的壓縮算法,與現(xiàn)有解決方案(包括GZIP)相比,已證明可將文件大小減少多達(dá)26%。Brotli的采用率正以相當(dāng)快的速度增長。從6月20日起,Google現(xiàn)在甚至可以使用Brotli壓縮功能來壓縮展示廣告。
但是,由于Brotli仍然是新的,因此尚未在所有CDN提供程序上都可用。但是現(xiàn)在有一些諸如KeyCDN和CDN77支持它。在大多數(shù)情況下,您的原始服務(wù)器(托管服務(wù)器)還必須啟用Brotli才能起作用。而對于Brotli瀏覽器的支持也迎頭趕上。如果設(shè)置正確,啟用了Brotli但在不支持Brotli的瀏覽器中加載的服務(wù)器將僅回退到GZIP。
HTTP / 2
HTTP / 2也是所有CDN現(xiàn)在都用來加速資產(chǎn)交付的最大功能之一。由于瀏覽器支持,HTTP / 2需要HTTPS。性能的提高歸因于多種原因,例如協(xié)議能夠支持更好的多路復(fù)用,并行性,使用霍夫曼編碼的HPACK壓縮,ALPN擴展和服務(wù)器推送。使用HTTPS時曾經(jīng)有很多TLS開銷,但是由于有了HTTP / 2,這已經(jīng)成為過去。
2.降低帶寬成本
CDN的另一個大好處是,它可以幫助從主機服務(wù)器(原始服務(wù)器)上卸載CPU和資源。這有助于防止流量高峰淹沒您的主機。它還可以幫助降低帶寬成本。您想要做的最后一件事是傳播病毒,然后從您的房東那里拿出巨額賬單或超額收費來離開您的左邊。例如,下面是一個使用Cloudflare的站點,您可以看到它幫助卸載了69%的帶寬請求。
CDN幫助降低成本的另一種方式是通過提供啟用熱鏈接保護(hù)的簡便方法。這基本上是指限制HTTP引薦來源網(wǎng)址,并防止其他人將您的資產(chǎn)(圖像-我們有一個有關(guān)如何保護(hù)您的圖像的教程)嵌入其他網(wǎng)站上。你們中有些人可能聽說過《赫芬頓郵報》慘案!逗辗翌D郵報》(Huffington Post)上的一位作者從燕麥片的網(wǎng)站復(fù)制并粘貼了圖像 ,這反過來又使他從AWS上積1,000了超過1,000美元的賬單。燕麥片的所有者最終替換了圖像,以便《赫芬頓郵報》文章的讀者可以看到它。但是,這就是啟用熱鏈接保護(hù)始終很重要的原因 ,否則,您可能會付出慘重的代價。
3.高可用性和可伸縮性
CDN還提供高可用性和可伸縮性。由于復(fù)制的內(nèi)容可在不同地理位置的多個POP上使用,因此,如果一臺服務(wù)器出現(xiàn)故障,網(wǎng)絡(luò)流量將動態(tài)路由到另一臺服務(wù)器。無需擔(dān)心可伸縮性,因為在構(gòu)建CDN提供程序時就考慮到了這一點。如果您使用的是較小的共享主機,則CDN實際上可以防止您的網(wǎng)站崩潰,因為它可以處理大部分負(fù)載。
4. SEO的優(yōu)勢
Google 早在2010年就將網(wǎng)站速度列為排名因素,因此,更快的網(wǎng)站可以帶來更高的排名已不是秘密。雖然無法知道速度有多大,但可以放心地認(rèn)為它是更重要的因素之一,因為它會影響用戶體驗。Brian Dean分析了前100萬個域名,以查看網(wǎng)站速度與Google排名之間的相關(guān)性,結(jié)果非常樂觀。雖然幾乎不可能最終證明這些測試,但是可以放心,擁有一個更快的網(wǎng)站只會對Google有所幫助。簡而言之,Google獎勵快速網(wǎng)站。
CDN不僅可以提高網(wǎng)站頁面的速度,還可以幫助提高媒體(例如圖像)的抓取速度,這些抓取速度與Google Image搜索中的索引相關(guān)。
5.額外的安全性
許多CDN提供程序通過允許您實現(xiàn)Web應(yīng)用程序防火墻(WAF)以及某些所謂的Origin防護(hù)來提供額外的安全性。這些可以幫助緩解各種形式和大小的WordPress網(wǎng)站上的DDoS攻擊,包括針對UDP和ICMP協(xié)議的DDoS攻擊,以及SYN / ACK,DNS放大和第7層攻擊。其他好處包括將您放在代理后面,該代理有助于隱藏您的原始IP地址,盡管它不是防彈的。
請務(wù)必查看我們有關(guān)如何停止DDoS攻擊的案例研究 。我們有一個帶有小型電子商務(wù)站點的客戶,該站點運行Easy Digital Downloads,該站點在7天內(nèi)對單個頁面的請求超過 500萬。該站點通常每天只能產(chǎn)生30-40 MB的帶寬,每天只能產(chǎn)生數(shù)百個訪問者。但是,出乎意料的是,該站點立即每天進(jìn)行15-19 GB的數(shù)據(jù)傳輸!這是一個 4650%的增長。而且Google Analytics(分析)沒有顯示其他流量。這不好。
客戶端在其站點上實現(xiàn)了Sucuri的Web應(yīng)用程序防火墻,所有帶寬和請求均立即在站點上丟棄(如下所示),此后再也沒有任何問題。因此,如果遇到此類問題,絕對可以節(jié)省大量投資并節(jié)省時間。
CDN還提供了其他功能,例如安全令牌,使您可以生成帶有到期時間的安全鏈接。過期后,人們將無法再訪問該內(nèi)容。