擴大 WordPress 網站以實現高流量的 11 種有效方法

已發表: 2020-02-08

緩慢的網站或超時的服務器不適合企業任何業務和品牌聲譽。 這種停機時間會對盈利能力或信任產生不利影響。 網站必須能夠預測並準備迎接新的流量,以便它們是主動的而不是被動的。 這僅僅是因為您永遠不知道什麼可能會觸發暫時的流量高峰。 例如,如果您經營一個博客,它可能是一篇病毒式的帖子。 由於大多數互聯網用戶不耐煩,因此只需幾秒鐘的停機時間就可能導致數千美元的損失。 也就是說,WordPress 能夠很好地管理大量流量,儘管許多突發事件、配置和設置必須是有意的。 讓我們來看看,好嗎?

使用 wordpress 的 8 個優勢

  1. WordPress 不處理流量。 主機(託管公司)做!

作為一個網站引擎,WordPress 本身並不主要負責處理您潛在的高流量。 流量處理能力主要取決於您的託管平台。 不幸的是,託管您的 WordPress 網站的虛擬機可能會出現單點故障,因為單個實例的問題可能會導致您的網站失去服務。 事實上,一些託管服務器會限制您的流量閾值,而另一些託管服務器會在您的流量增加超過某個閾值時要求您升級帳戶。 那麼,我們的託管服務提供商清單上應該有哪些基礎知識:

  • 首先,確保您的提供商能夠毫不費力地適應最新的 WordPress 版本。
  • 其次,檢查它們是否允許您超出上限(當您開始獲得更多流量時,您的站點的傳輸速度限制和帶寬)
  • 雖然在開始進行低流量項目時共享網絡託管可能很棒,但一旦您開始使用,您將需要轉移到虛擬專用服務器 (VPS)。 您的提供商應該有 VPS 的規定。
  • 分層計劃應允許垂直擴展,以便客戶可以根據需求的變化輕鬆升級。 擴展資源以提高性能主要可以通過垂直擴展來實現。 本質上,通過增加運行 WordPress 網站的虛擬機的大小。
  • 檢查水平縮放是否也可用,因為它將您的網站分成不同的層。 比如前端服務器、數據庫服務器、代理層、鏡像層分離,更容易擴展資源。
關鍵領域列表

快速提示:如果可以,請避免在您的高性能 WordPress 服務器上部署 cPanel/WHM(WebHost Manager),因為它會減慢您的高流量網站。  

  1. 在您的網站上使用Elasticsearch

特別是 MySQL 和 MariaDB 的搜索能力並不出名。 他們也沒有考慮到這種優勢,這也是 WordPress 團隊無法改進搜索邏輯的原因之一。 ElasticSearch 用 Ja​​va 編寫,是一種分佈式、快速、RESTful 搜索引擎軟件,用於搜索和分析。 儘管如此,可以利用 Elasticsearch 來加快對 WordPress 數據庫的查詢。 具體來說,通過建立站點數據庫內容的索引,ElasticSearch 可用於搜索此索引,比執行相同搜索時的 MySQL 查詢要快得多。 也可以通過安裝 ElasticPress 插件來集成 Elasticsearch,以使用 Elasticsearch 而不是 MySQL 生成查詢結果。 這可以提高性能並讓您更好地處理高流量。

  1. 更少的圖形和更優化的媒體

為防止網站在流量高峰期間出現故障,您可以減少網站設計中的圖形數量。 理想情況下,優化媒體的偶然性應該有助於使您的網站更輕、加載更快。 在高流量期間,獲​​得最佳的頁面速度性能可能是一個很好的安全網。 我想到了三種基本做法。

  • 您可以將壓縮插件用於圖像和延遲加載,因為它只會在訪問者到達您網頁的這些部分時才向訪問者提供圖像,而不是更早。
  • 如果可以,請始終確保將網站上的媒體限制為僅包含基本圖像。
  • 此外,將來自 YouTube 和 Vimeo 等服務的視頻嵌入您的網站! 然後在您的網站上上傳完整的視頻。

閱讀更多:提高 WordPress 網站速度的提示

  1. 更少的插件

到目前為止,我們的主題似乎是“少即是多”。 但不要擔心,我們仍然有一些很棒的提示! 理想情況下,WordPress 插件是由您安裝的 WordPress 主題“調用”的文件。 插件可以輕鬆擴展功能或向 Web 系統添加新功能。 但是,即使在不需要時,編碼不佳的插件也會經常加載過多的內容。

從技術上講,沒有主題或插件的裸實例在負載下可能會表現得很好。 但是誰想要一個裸體主題? 此外,大多數插件可能過於復雜和臃腫。 這會提高頁面加載速度,從而減慢您的網站速度。 因此,請務必避免使用插件使您的站點超載,以避免您的主題對數據庫進行過多查詢,這可能導致服務器上的活動增加,從而導致潛在的服務器故障。 關鍵點:

  • 刪除未使用的插件
  • 關閉不需要的插件。
  • 使用必要的插件。 避免不必要的或實驗性的。
  • 定期審核您的插件,以評估它們的大小和質量等。

閱讀更多:WordPress 插件可以安全使用嗎?

  1. 利用內容交付網絡

在不同的地理位置託管一個網絡系統並不像聽起來那麼簡單。 根據訪問者的地理位置,網絡系統可能會遇到不同的加載速度。 在這種情況下,CDN 被證明是非常有幫助的。 CDN 將您網站資源的緩存版本存儲在世界不同地區的各種服務器上。 這有助於最大限度地提高服務器的性能,確保不會發生流量超載。 使用 CDN 可以為世界各地的訪問者降低您網站的加載速度。

閱讀更多:將您的 WordPress 網站遷移到雲平台

CDN 通過緩存圖像、JavaScript 和 CSS 文件等靜態內容來增強服務器的功能。 因此,當訪問者訪問您的網站時,他們會從離他們最近的服務器獲得服務,從而加快您網站的加載速度。 CDN 有助於避免服務器以高流量加載,因為網站文件分佈並保存到全球多個不同的數據位置。 總結一下CDN的優勢:

  • 網站速度增加——加載速度更快。
  • 允許您在託管服務提供商和 CDN 平台之間共享負載時處理更多流量。
  • CDN 有助於節省您網站的帶寬。
  • CDN 有助於保護您的網站免受拒絕服務 (DDOS) 攻擊,因為多個請求將在多個服務器之間共享。

最受歡迎的“免費”CDN 替代品是 Cloudfare,您可以在 WP 網站上使用它。 Cloudflare 免費 CDN 非常棒,原因如下:

  • 不收取帶寬費用:與大多數 CDN 服務不同,Cloudflare 不會向您收取流量費用。 大多數 CDN 可以向您收取從其 CDN 中清除緩存內容的費用。
  • 全球覆蓋: Cloudfare 在全球擁有 100 多個數據中心,在多個交換點運營,因此它始終靠近您的客戶。
  • 安全性:他們被認為是一個安全組織,他們的“CDN”本質上是一個分佈式反向代理。 因此,將安全專家添加到他們的菜單中。
使用 WordPress 使用 CDN 的兩種方式
  1. 考慮使用無狀態 Web 層

本質上,無狀態應用程序不需要先前交互的知識,並且基本上不存儲會話信息。 回想起來,無狀態應用程序可以水平擴展,因為任何請求都可以由任何可用的計算資源(基本上是 Web 服務器實例)提供服務。 因此,當不再需要該容量時,可以安全地終止任何單個資源。 例如,在運行任務已經耗盡或達到其目的之後。 在無狀態 Web 層中,資源不需要知道其對等點的存在,所需要的只是一種將工作負載分配給它們的方法。 您可以應用無狀態架構來處理潛在的預期高流量。

  1. 數據庫緩存和優化

數據庫緩存很重要,因為它將減少數據庫調用並加快 Web 系統的加載時間。 當從緩存中提供大多數查詢時,需要訪問數據庫的查詢數量會減少。 這會提高數據庫性能。 提高數據庫效率的另一種方法是限制自動加載查詢並將經常訪問的數據塊存儲在內存中以實現低延遲訪問。 儘管使用查詢緩存和適當的索引來提高數據庫性能很重要,但它可以減少延遲並增加讀取繁重的應用程序工作負載的吞吐量。

使用一段時間後,數據庫將包含更多您不再需要的信息。 這將降低系統的性能和效率。 修訂是導致在數據庫中創建不必要信息的原因之一。 修訂是 WordPress 的一項功能,可讓您自動保存頁面、帖子或自定義帖子類型的修訂。 默認情況下,它會在每 60 秒後自動保存您的工作。 可以通過在“wp-config.php”文件中定義“WP_POST_REVISIONS”來管理這些自動保存間隔。 您可以每 30 秒、2 分鐘或根據您的要求保存修訂。 也可以完全關閉修訂。 您還應該知道,關閉修訂不會提高網站的性能。

要擺脫所有這些不必要的數據,您需要優化數據庫。 WordPress 主要使用 MariaDB 或 MySQL 數據庫。 因此,通過優化 MySQL/MariaDB 設置或通過提供更多內存和處理能力,過度工作的服務器可以提供幫助。 此外,WordPress 中提供了各種插件,可讓您清理數據庫。 這些插件可幫助您刪除未使用的標籤、修訂、已刪除的帖子等,並將優化您的數據庫。

  1. 使用正確的緩存插件 

遇到停機時,緩存插件可以生成您網站的 HTML 文件,這在流量增加時很有用。 選擇緩存插件時,請注意以下方面:

  • 更新可用性
  • 內容交付網絡和 SSL 集成
  • 頁面緩存能力
  • 數據庫緩存優勢

儘管我個人的推薦是 W3TC 緩存插件,但您的緩存插件應該提供 CDN 集成。

  1. 確保站點安全

安全性會影響 WordPress 網站的擴展,因為高流量意味著需要注意更多潛在威脅。 因此,專業的安全插件可以保護您的網站免受惡意軟件、SQL 注入、垃圾郵件、DDoS 攻擊等,只需提供以下內容:

  • 主動安全監控
  • 蠻力攻擊保護
  • 惡意軟件掃描
  • 安全監控和管理(尤其是針對 DDoS),
  • 黑名單監控
  • 安全強化和黑客攻擊後操作
  • 防火牆

此外,您可以採取個人突發事件,例如:

  • 使用 2 因素身份驗證加強您的 wp-admin 密碼
  • 限制您網站上的登錄嘗試
  • 將防病毒軟件應用到您的網絡 使用 SFTP 而不是 FTP
  • 隱藏 wp-config.php 和 .htaccess 文件
  • 不使用您控制的網絡時,請使用 VPN 虛擬專用網絡。
  • 使用 VPS 虛擬專用服務器可以更好地控制您的服務器環境。
  1. 利用字節碼緩存

PHP 腳本在每次執行時都會被解析和編譯。 所以理想情況下,通過使用 PHP 字節碼緩存,PHP 編譯的輸出存儲在 RAM 中,避免了同一個腳本不得不一次又一次地編譯。 因此,這減少了與執行 PHP 腳本相關的開銷,從而提高了性能並降低了 CPU 要求。 OPcache 可以幫助進行字節碼緩存。

  1. 應用負載平衡技術

負載平衡有效地將傳入的網絡流量分佈在一組後端服務器、服務器池或服務器場中。 由於高流量網站服務於成千上萬的用戶,並發請求是不可避免的,因此為了經濟高效地擴展,建議使用負載平衡。 理想情況下,使用負載均衡器,如果單個服務器出現故障,它會將流量重定向到剩餘的在線服務器。 負載均衡器執行以下職責:

  • 它在多個服務器之間有效地分配網絡負載或客戶端請求。
  • 它僅通過向在線服務器發送請求來確保高可靠性和可用性。
  • 它提供了根據需求添加或減少服務器的靈活性。
負載平衡算法

為了演示負載平衡,我們可以使用wordpress.com (不是 wordpress.org)的示例,它實際上是一個 WordPress 多站點安裝,在多個數據中心的數千台服務器上運行。 特別是,作為站點構建器的 WordPress.com 通過其 HyperDB 託管多個站點  負載平衡並將其數百萬個表分佈在獨立的數據庫實例中,所有這些都鏈接到一個中央數據庫。 這就是為什麼 wordpress.com 網站可以在將最終用戶請求分發到多個 Web 服務器節點時無縫處理高流量的原因,本質上是負載平衡。

自託管的 WordPress 網站可以同時處理 10 萬訪問者嗎?

當天的問題,對吧? 從理論上講,是的,儘管要實現這一結果需要付出很多努力。 您需要進行現場審核,並且肯定會涉及:

  • 負載均衡
  • MySQL 複製
  • 靜態內容卸載
  • 服務器架構的彈性。
  • 著名的 CDN 提供商
  • 高效的評論管理系統,例如 Disqus
  • 最大化緩存效率
  • 利用彈性雲部署
  • 經常利用分析和跟踪工具,例如 WordPress Stats 和 Google Analytics
  • 利用高性能 HTTP服務器,例如 NGINX

至少可以說,很大程度上取決於硬件和您使用的插件類型。 您可以考慮為媒體和上傳使用單獨的雲存儲,然後使用插件將用戶的上傳定向到存儲而不是本地文件系統。 或者,如果您使用 AWS 實例,請考慮跨區域內的多個可用區構建您的站點,以提高整體架構的可靠性。 此外,使用 SSD 驅動器並避免使用 HDD,因為固態驅動器比 HDD 同類產品更可靠、更安全、更快速。

結論

總之,如果您的服務器運行緩慢、擁擠、共享或設置不當,優化的媒體、腳本和緩存將不會真正發揮作用。 因此,我建議您使用 NGINX 服務器,因為它更注重性能。 此外,請確保使用 CDN 緩存,如果可以的話,您應該使用 Cloudflare 以提高性能,因為它會減少服務器上的資源使用,例如帶寬。 值得注意的提及包括定期更新您的 WP 版本和主題。 如有任何其他信息和疑問,請隨時與我們聯繫。