無頭 WordPress:完整指南
已發表: 2023-03-01您可能已經知道,WordPress 是一個強大的網站創建平台。 作為內容管理系統 (CMS),WordPress 提供易於使用的發布功能。 而且您可以擴展 WordPress 來做幾乎任何您想做的事情。 但是你聽說過“無頭”WordPress 嗎?
在本指南中,您將確切了解什麼是無頭 WordPress。 您將了解可能導致您使用它的情況,以及使用無頭 WordPress 的時候並不是最好的主意。 除此之外,我們還將了解一些最流行的前端和堆棧解決方案,這些解決方案通常用於無頭 WordPress 部署。
在深入了解 WordPress 作為無頭 CMS 之前,首先了解 CMS 到底是什麼以及它旨在解決的問題是很重要的。 什麼會使一個人“無頭”,為什麼這在某些情況下有用? 誰會覺得它有用?
什麼是內容管理系統 (CMS)?
服務器端內容管理系統或 CMS 主導著您今天瀏覽的絕大多數網站的“後端”。 在 Internet 的早期,所有站點都是直接從靜態 HTML 頁面構建的。 要創建新的帖子或文章,您必須創建一個全新的 HTML 文檔。 然後,您可以將它連同其資產(如圖像、其他媒體和 CSS 文件)一起添加到服務器。 然後,您需要在站點導航中鏈接到新頁面以及引用它的其他頁面。
內容管理系統之前的內容管理
大約 1995-2000 年的網站開發可能效率低得令人難以置信。 每當您有新內容時創建和上傳新文件都相對容易。 但新內容不可避免地要求對舊內容進行更改。 隨著站點增長到包含成百上千個頁面,快速進行更改作為手動過程是不可能的。 即使有一些自動化,它也可能很慢。
演示和內容混合在一起
一個相關的問題是內容及其表示(例如,佈局和設計樣式)是不靈活的,並且經常在 HTML 文檔中混合在一起。 CSS 必鬚髮揮作用才能真正解決這個問題,但需要 CMS 通過將設計與內容分開來利用它。
工作流程和角色是混合的
圍繞網站的功能、交互部分對內容和設計進行全局更改的難度使得發布和維護內容變得非常緩慢且具有挑戰性。 負責內容、前端設計和後端工程的團隊也沒有明確的界限。
動態的、數據庫驅動的 CMS 解決方案
內容管理系統是圍繞這個想法誕生的:不是每次需要一個新網頁時都創建全新的 HTML 文件,每個頁面的所有內容都將存儲在 MySQL 等關係數據庫中。 然後,用 PHP 等服務器端腳本語言編寫的 CMS 將用於在動態生成的頁面上查詢和包含來自數據庫的可變內容片段。 來自訪問者的每個頁面請求都可能導致為他們生成所請求內容的新的和唯一的版本。
動態 CMS 的局限性
WordPress 使用以 PHP 和 HTML 混合編寫的設計模板來生成最終的 HTML 文檔,以在每個頁面請求時提供給訪問者。 與使用 CMS 發布動態頁面的便捷性相比,很難相信基於靜態文件的 Web 發布有什麼用處——除非您考慮大規模的安全性和性能,無論是否使用幾乎在每次頁面加載時都會查詢的數據庫。
無頭作為一種混合方法——兩全其美
Headless 是一種混合方法,用於從前端框架中的大部分靜態資產提供網頁。 該前端僅在絕對必要時使用後端的 CMS 和數據庫來獲取動態內容或接收用戶輸入。 這允許可以為訪問者“動態”呈現的頁面,並在不需要經常更改時進行緩存。
無頭 WordPress 和其他無頭內容管理系統
Headless WordPress 是一種部署 WordPress 的方式,其後端與通常的前端功能分離。 沒有使用主題。 後端只負責:
- 數據庫管理
- 用戶管理
- 內容管理
- 與外部服務交互
前端表示層通常由 React.js 或其他基於 JavaScript 的前端和 HTML/CSS 框架組成。 內容是通過 API 從後端收集的,例如 WP GraphQL(GraphQL 的 WordPress 實現)或 WordPress 核心 REST API。
也可能有多個前端處理訪問者可能使用的不同設備的不同渠道。 此外,不需要前端與後端共享同一台服務器。 這是高效全渠道發布所需的基礎設施。 全渠道讓您可以為移動應用程序和物聯網中的各種設備提供獨特的內容。
有很多用於構建無頭網站的流行開源靜態站點生成器,例如 Hugo 和 Jekyll。 這些是完全平面文件系統,沒有 WordPress 在無頭或傳統部署中提供的數據庫和內容管理工具。 Gatsby 和 Next.js 也可用於生成靜態站點,但它們還提供可用於無頭 WordPress 部署的高級前端框架。 但請記住,無頭 WordPress 的真正優勢不在於它使用的數據庫少得多,而是它優化了數據庫的使用,以獲得比傳統 CMS 的單一主題、單一用途前端更多的可能性。 使用無頭 WordPress,您可以構建多個前端或支持漸進式 Web 應用程序 (PWA) 或本機移動應用程序。
為什麼 Headless WordPress 是最好的 Headless CMS
WordPress 是一個功能強大且使用廣泛的平台,它作為無頭 CMS 處於成功的獨特位置。
以下是 WordPress 可能是無頭 CMS 最佳選擇的五個原因。
1. 您已經在使用 WordPress,其他人也是
很有可能,您已經在使用 WordPress,所以砍掉它的頭是向前邁出的簡單一步。
由於 WordPress 是前端不可知論者,具有充滿內容的數據庫的現有站點可以相當輕鬆地變得無頭。 或者,無頭 WordPress 站點可以有一個“頭”重新連接到它。 使用 WordPress 向任一方向移動都不困難。
您的許多員工和未來的僱員都擁有或將擁有 WordPress 經驗。 您可以依靠熟悉的技術獲得更輕鬆的入職體驗。
2. 您的前端開發人員不需要接觸 WordPress — 或 PHP
由於 PHP 被認為是一種後端應用程序語言,因此它通常不是現代前端開發培訓的關鍵部分。 然而,WordPress 平台是用 PHP 編碼的。 WordPress 的傳統(非無頭)前端開發側重於創建使用 PHP 開發人員而非其他人熟悉的 WordPress API 函數和代碼的自定義主題。 雖然 WordPress 發展迅速,並且與其站點編輯器兼容的新主題可能很少或根本不使用 PHP,但在 PHP 完全退回到其後端之前,WordPress 還有很長的路要走。 目前,有一個很好的解決方案,您可以使用它來減少對 PHP 的依賴或完全繞過它以支持現代前端框架。 該解決方案是無頭 WordPress。
如果您正在僱用前端開發人員從事標準(非無頭)WordPress 項目,您可能會發現可以利用的勞動力資源較少。 不熟悉 PHP 或類似服務器端腳本語言的開發人員可能會發現他們的 WordPress 學習曲線很高。 但是,如果他們擅長使用複雜的 CSS 和 JavaScript 框架(如 React)進行前端開發,那麼這對於無頭 WordPress 網站來說是完美的。 為什麼不發揮自己的長處呢? 在另一種情況下,如果您還沒有使用 WordPress 或類似的 CMS,但您有經驗豐富的前端開發人員,您可能不想讓他們學習如何使用全新的 CMS。 這是無頭 WordPress 可以成為一個很好的解決方案的時候。
開發人員無需熟悉 WordPress 即可為無頭 WordPress 站點構建前端。 您幾乎可以僱用任何有能力的前端開發人員。 你可以花一點錢或很多錢,但得到一個完全定制的前端。 如果您有非常獨特的需求,那麼完全獨特的定製網站設計幾乎總能為您提供最好的服務。
3.企業級主機支持Headless WordPress
幾乎每個網站託管平台都提供 WordPress 託管。 他們可能擁有超過十年的支持經驗。 WordPress 託管主機支持企業 WordPress 站點,許多主要的 WordPress 託管主機提供專門的無頭託管、工具和支持。 他們將您網站的安全性和性能放在首位。
4. 無頭 WordPress 很快
與靜態站點相比,每個 CMS 都會為訪問者發布更慢的加載速度時間。 動態頁面生成需要更多的服務器資源,而大量構建的 CMS 可能會產生大量服務器開銷。 即使是具有可靠託管和高效緩存的高性能 WordPress 站點,也會因高流量負載和許多活躍的登錄前端或後端用戶而變慢。 無頭 WordPress 站點仍然可以從 CMS 中受益,但更像是帶有數據庫的靜態站點生成器。 當訪問者訪問無頭站點時,他們獲得的大部分是快速加載的靜態文件。
加載時間過長的網站是網站所有者面臨的最大問題之一。 隨著移動網站瀏覽量呈指數增長,速度比以往任何時候都更加重要。 在電子商務網站上,緩慢的加載意味著失去銷售。 典型的用戶不會坐下來等待您的網站加載超過幾秒鐘。 如果它沒有立即加載,他們將繼續進行下一件事。
減少網站的加載時間至關重要。 此外,谷歌在對搜索結果的網站進行排名時會考慮頁面加載速度。 如果 SEO 是您的重中之重,那麼考慮 WordPress 的不同前端可能是明智的。
5. 無頭 WordPress 可以提高安全性
普通的 WordPress 安裝會暴露後端管理界面,而不僅僅是登錄屏幕。 即使是低級別的非管理員用戶也有可能訪問後端管理員。 有時黑客可以通過易受攻擊的插件或主題來利用這一點。 無頭 WordPress 網站通常根本不會使用主題,而以內容為中心的無頭網站可能會將用戶限制為少數幾個受信任的用戶。 在這種情況下,登錄過程可以被嚴格鎖定,黑客的其他可能目標可能會因為不需要而被關閉。
您可以使用強大的 WordPress 安全插件,如 iThemes Security Pro 來完全保護無頭 WordPress 網站。 它在任何類型的 WordPress 站點上都同樣有用,可用於保護後端、設置適當的用戶訪問角色以及實施安全登錄策略。
什麼時候使用無頭 WordPress 是個壞主意?
雖然無頭 WordPress 是一個非常強大的工具,但它也有一些缺點。
它可能很複雜
構建無頭 CMS 不適合沒有經驗的開發人員,除非他們準備好進行重要的學習。 與 100% 即插即用的 WordPress 不同,無頭 CMS 不是。 您從一個簡單的 WordPress 安裝開始,然後解耦它的各個部分,主要是前端。 然後你需要開發自己的前端。 如果這是一個不熟悉的領域,將會有一個顯著的學習曲線。 與普通的 WordPress 站點不同,headless WordPress 幾乎沒有被廣泛理解或記錄。 與主要的無頭 WordPress 託管和開發專家聯繫並關注他們所做的工作是值得的。
有些事情行不通
WordPress 中較新的站點編輯功能在無頭站點上不會有用或無法使用。 讓 Gutenberg post editor 中的塊編輯器與你的無頭前端一起工作也帶來了一些挑戰。 許多 WordPress 插件在無頭環境中可能無法正常工作或根本無法工作。 WordPress 主機和開發人員正在努力改進和支持 headless WordPress 開發,因此這是一個一直在變化的領域。 仔細研究無頭 WordPress 技術的當前狀態並相應地計劃您的項目。
維護是強制性的
維護您自己的前端代碼可能非常耗時。 由於 Gutenberg 後期編輯器位於 WordPress 後端,如果您想在無頭網站上使用它,您必須將其後端樣式與解耦的前端框架同步,以獲得真正的所見即所得體驗。 該前端框架也需要不斷維護。 無外設部署需要仔細提前規劃持續維護,這超出了傳統的 WordPress 或 CMS 驅動的網站。
無頭 WordPress 入門
安裝WordPress,把前端砍掉!
與 WordPress 中的通常情況一樣,一些插件可以幫助您做到這一點。 一個被恰當地命名為 Headless CMS 插件。 像任何其他 WordPress 插件一樣安裝和激活它。
接下來,開始處理您網站的前端。 您可以採取幾種不同的方法。 您可能決定選擇一個已經存在的前端或框架作為構建基礎,例如 Gatsby。 或者,您可以考慮構建一個漸進式 Web 應用程序。
Jamstack
如果您不熟悉 Jamstack,它是一個常用的 Web 開發平台。 使用它可以很好地作為無頭 WordPress 或任何其他 CMS 的前端。
鬆散耦合是 Jamstack 的最大優勢之一。 如果您曾經經歷過分離 WordPress 的過程,您會發現這個功能非常有用。
漸進式 Web 應用程序 (PWA)
PWA 在很多方麵類似於網站。 但與網站不同的是,PWA 將採用大量 Javascript 庫,為用戶提供原生移動體驗
為此,您需要使用 React 或 Vue 等框架來開發應用程序。
蓋茨比
您是否希望在保持使用無頭 CMS 獲得的大部分自由的同時快速跟踪您的開發過程?
Gatsby 是一個不錯的選擇,並且有一個插件。
無頭 WordPress 適合您嗎?
WordPress 本身就是一個令人難以置信的工具。 但有時您可能需要使用無頭 CMS 來擁有自己的前端。
在本指南中,您了解了設置無頭 WordPress 時應採取的方法、原因和途徑。
如果您確定無頭是滿足您的網站開發需求的最佳方式,那麼現在您已經足夠了解可以開始了。
保護和保護 WordPress 的最佳 WordPress 安全插件
WordPress 目前為超過 40% 的網站提供支持,因此它很容易成為懷有惡意的黑客的目標。 iThemes Security Pro 插件消除了 WordPress 安全性的猜測,使保護和保護您的 WordPress 網站變得容易。 這就像擁有一名全職安全專家,不斷為您監控和保護您的 WordPress 網站。
Dan Knauss 是 StellarWP 的技術內容通才。 自 1990 年代後期以來,他一直是一名作家、教師和自由職業者,從事開源工作,自 2004 年以來一直從事 WordPress。