如何建立數據驅動的 WordPress 網站

已發表: 2023-02-13

多年來,對數據驅動網站的需求不斷增加,因為我們生活在一個大多數業務決策都由數據驅動的世界中。 全球創建的數據量可能高達 180 澤字節。

開發數據庫驅動的網站是一項艱鉅的任務。 每時每刻,您的 CMS 都會被數據淹沒,而有效地處理這些數據是一項挑戰。

別擔心!

在這裡,我們解釋瞭如何開發數據驅動的 WordPress 網站。 但在此之前讓我們了解什麼是數據驅動網站?

目錄

  • 什麼是數據驅動網站?
  • WordPress 作為內容管理系統非常適合數據驅動的網站
  • 存儲在 WordPress 中的數據
  • 我們在使用 WordPress 數據庫結構時遇到的常見問題
  • WordPress 數據庫結構的局限性
  • 可能的解決方案

什麼是數據驅動網站?

數據驅動的網站與其靜態變體有很大不同。 一個主要區別是您(管理員)可以在新數據出現時快速更新數據驅動的網站。

事實上,此類網站的唯一目的是展示最新內容。 因此,與靜態網站不同,它會定期按時更新。

這意味著數據驅動的網站不是一次性項目。 這是一個持續的過程。 換句話說,您的網站需要足夠靈活以適應頻繁的更改。

底線是——網站數據庫將是數據驅動網站中受影響最大的元素。 讓我們考慮幾個例子來說明這一點。

  • 在在線商店中,每次下新訂單或新客戶註冊時,網站數據庫都會不斷變化。
  • 許多網站從第三方平台收集數據。 您可能希望存儲此數據,然後以易於理解的格式對其進行過濾和顯示。 這使得有必要對數據庫進行優化。
  • 另一種情況是當您的網站數據庫更頻繁地更新時,您希望在顯示更新數據之前對其進行處理。 這也是 WordPress 數據庫優化的用武之地。

WordPress 作為 CMS 非常適合數據驅動的網站

數據驅動的網站需要內容管理系統 (CMS) 才能高效工作。 CMS 使您能夠輕鬆和結構化地管理網站內容。 WordPress 是符合要求的最受歡迎的 CMS。

WordPress 默認數據庫模式由開發人員在對前端和後端站點的每個請求中使用的幾個表組成。 此外,還有許多用於帖子和頁面、評論、術語、用戶帳戶和設置的表格。

WordPress 作者在優化資源使用方面做得不錯,並設計了表格來存儲幾乎無窮無盡的數據。

存儲在 WordPress 中的數據

WordPress 允許您將任何自定義實體保存為帖子、具有唯一標識符、名稱、內容或與特定用戶關聯的創建/修改日期的對象。

元條目使用與帖子關聯的鍵值對。 事實上,您可以無縫地將實體作為帖子進行操作,並向它們添加一組元參數。 這種通用的面向後的方法是從數據庫服務器存儲和檢索數據的最簡單和最快的方法。

我們在使用 WordPress 數據庫結構時面臨的常見問題

每個 WordPress 站點(在某種程度上)都使用數據庫來存儲和提供內容。 WordPress 為帖子提供了非常直觀的機制。 但與此同時,它打開了通向數據庫性能問題的大門。 主要專注於靜態內容的小型站點可以在此內置解決方案上非常有效地播放。 但是,上面示例中提到的更大、更複雜的服務需要更智能的方法。

當您開始向 WordPress 添加數據時,post 元表的大小將由於其鍵值對而開始增加。 您通過網站添加的所有內容可能都需要將信息存儲在後元中。

當數據在顯示給用戶之前在後台進行處理時,您可能會遇到數據傳輸問題。 例如,如果您每天收到數以千計的訂單,那麼在生成月度和周度收入報告時就會遇到問題。

這也適用於其他情況。 例如,如果您從第三方平台大量且頻繁地為您的網站數據庫提供數據,那麼當您想要過濾和顯示最新數據時,增加的帖子元表大小會導致問題。 發生這種情況是因為數據庫查詢需要更多時間來處理該數據。

WordPress 數據庫結構的局限性

是什麼導致了這個問題?

在 WordPress 中,帖子元表使用與帖子關聯的鍵值對。 簡而言之,如果客戶從您基於 WordPress 的在線商店購買商品,它將以鍵值對的形式存儲所有數據。

鑰匙價值
order_id 1001
約翰
母鹿
購買日期01/01/2023
order_id 1002
凱文
紅豆杉
購買日期01/01/2023

這些問題只有在鍵值對設計如下所示時才能解決,方法是最小化行數並將它們轉換為列。 不幸的是,這不在我們手中。

鑰匙order_id
價值1001 約翰母鹿01/01/2023
價值1002 凱文紅豆杉01/01/2023

它將在後元表中佔用更少的空間。 但是根據 WordPress 數據庫結構,post 元表在全球範圍內使用,無法更改。

可能的解決方案

幸運的是,為了讓您擺脫困境,我們找到了兩種可能的解決方案。

他們是:

1.解決方案一(使用自定義訂單表)

您無法優化默認 WP po​​st_meta 表的結構,但您可以根據您的要求創建一個表並將訂單數據存儲在那裡。 您需要與經驗豐富的 WordPress 專家合作,因為它需要對默認的 WooCommerce 訂單功能進行一些更改。

這是分步過程。

  • 在 WordPress 專家的幫助下,您可以創建優化的自定義訂單數據表,如下所示:

A Custom Order Table

  • 現在,請您的開發人員指示 CMS 從自定義表中插入和獲取新訂單。
  • 接下來,請您的開發人員將您的舊訂單數據遷移到新創建的自定義訂單表。
  • 但是,這是一個定制的解決方案,因此如果您不將此訂單數據與任何其他插件一起使用,它將適用。 如果你使用插件,它們仍然會嘗試從 post_meta 表中獲取數據。

2.方案二

假設您從 API 或任何第三方平台提供網站數據庫。 您有數以千計的記錄進來,並希望在網站上顯示它們時詳細過濾它們。 問題是,如果您將所有這些數據存儲在自定義帖子類型中,它將以傳統的 WP 方式存儲,這意味著在 post_meta 表中。 同樣,數據的多樣性被存儲為鍵值對。 簡而言之,您將無法詳細過濾此數據。

  • 例如,假設您創建了一個食譜網站,其中的食譜數據來自 API。 您已經設置了一個食譜列表頁面並添加了一個過濾器。 該過濾器包含各種選項,如膳食類型、課程、飲食、蛋白質選項、難度級別、方法、其他營養選項等等!
  • 如果此食譜數據存儲在自定義帖子類型中,則食譜屬性也將作為鍵值對存儲在 post_meta 表中。

post_meta table

    • 當用戶嘗試使用不同的過濾選項過濾數千個食譜時,WordPress 默認數據庫查詢將開始循環遍歷每條記錄以找到匹配的結果。 隨著 post_meta 表的大小增加,需要的時間會越來越長。 這可能會導致數據交付問題向前推進。
    • 您可以創建優化的自定義表,而不是創建自定義帖子類型來存儲此數據。 它將避免增加默認 post_meta 表的大小,並幫助您在需要時提高處理/過濾數據的效率。

下面是一個經過良好優化的表的示例:

optimized table

  • 使用這樣的解決方案,您的用戶在嘗試過濾這些食譜時將在幾秒鐘內獲得結果。

結論:

在這個日益數字化的世界中,對數據驅動網站的需求是不可否認的。 具體且可操作的數據洞察力可以推動更多的銷售並產生更好的銷售線索。 這符合您的代理機構/品牌的最大利益。 借助這些快速提示,您可以創建和維護一個更加數據驅動的 WordPress 網站。 現在就試試這些,讓我們知道它們是如何提供幫助的。

您是否在為 WordPress 網站的性能而苦苦掙扎? 聯繫我們獲取定制解決方案。