隨著開發人員尋求提供更多自由度和互操作性的 web 開發解決方案,無頭 cms 越來越受到關注。但無頭 cms 到底是什么?
為了幫助準確理解無頭 CMS 是什么,我將快速將所有內容分解為簡化的術語。
如果您查看普通的 WordPress 設置,您會發現它包含兩個組件:
- 管理員或信息中心:您可以在此處創建內容、添加頁面、上傳媒體和管理網站。
- 前端:這是訪問者訪問您的網站時看到的部分。瀏覽器使用 php、JavaScript、圖像、數據和 WordPress 中的其他資源來組裝前端。
正如您所看到的,這兩個組件耦合在一起形成一個軟件堆棧,這有時會帶來問題。組裝頁面的過程需要時間。網站越大,瀏覽器渲染它所需的時間就越多。
使用無頭 CMS,這兩個組件相互解耦 – 前端可以是任何東西,而后端則充當可通過 API 或 SDK 訪問的獨立服務。
無頭 WordPress 網站使用 WordPress 來管理內容,但允許開發人員使用他們首選的前端堆棧向網站訪問者顯示內容。
市面上有很多 Headless CMS 解決方案 – Contentful、Netlify、ButterCMS 等等。讓我們看一下專門為構建 WordPress 網站而定制的一款。
無頭 WordPress 示例
Strattic 是一個托管平臺,允許您使用無服務器架構來創建快速、優化且安全的 WordPress 網站。它于 2022 年中期被 Elementor 收購。
在我們開始測試 CMS 之前,了解典型的無頭 WordPress 的工作流程非常重要。使用無頭版本的 WordPress 需要三個組件:
-
包含的 WordPress 環境:典型的 WordPress,您可以在其中登錄管理儀表板并管理您的網站。
-
靜態預覽環境:可以用作臨時網站的網站預覽版本。您可以在此處推送網站更新并測試它們是否正常工作。
-
靜態實時環境:實時站點本身。進行更改并確認其有效后,您將把更改推送到實時網站。
例如,當您創建頁面時,Strattic 的服務器會將所有資源(圖像、數據等)合并到 html 文件中,將其存儲在其服務器上,并通過 CDN 進行交付。這樣,當您的用戶訪問您的網站時,他們將從 CDN 獲取您網站的預生成 HTML 版本。
我們將在本文后面介紹此設置的好處。
回到 Strattic,在其中創建站點后,您的站點詳細信息部分將包含三個不同的部分 – WordPress 連接信息、預覽站點連接信息和實時站點連接信息。
這里我們獲得了 WordPress 站點連接信息。這是實際 Strattic 服務器上的 WordPress 設置。您應該知道,當您在那里工作時(在儀表板中的正常環境中),您的實時站點將保持活動狀態。
接下來,您將獲得預覽網站的 URL。
當您在正常環境中對網站進行更改時,Strattic 會將更改推送到預覽網站。所以預覽不再是WordPress,而只是預覽狀態下的輸出。
您可以使用預覽作為暫存站點來檢查您對 WordPress 所做的所有更改,并確保一切按預期運行,然后再將其推送到最終組件(即實時站點)。
這是用戶將看到并與之交互的網站版本。默認情況下,Strattic 會為您分配一個臨時 stratic.io 域,但如果您有的話,可以連接自定義域。
在 WordPress 中編輯網站
您可以通過點擊主頁側邊欄上的在 WordPress 中編輯按鈕在 Strattic 環境中安裝 WordPress。
這將啟動 WordPress 并將您重定向到典型的 WordPress 設置工作流程。
完成這些步驟并提供每個步驟中所需的信息。然后系統會要求您登錄管理儀表板。您可以在那里創建帖子和頁面、安裝插件和主題以及管理您的網站,就像在普通 WordPress 設置中一樣。
使用 Headless WordPress 的好處
傳統 WordPress 受到非技術用戶的青睞,因為它不需要任何編碼知識。但對于想要更多自由和更好的開發體驗的經驗豐富的開發人員來說,WordPress 可能無法滿足要求。
如果您是這些開發人員之一,您可能需要考慮將 WordPress 與前端解耦。讓我們回顧一下它的一些主要優點。
支持更多工具、框架和庫
使用普通 WordPress,您必須堅持使用堆棧中內置的技術。這種架構會阻礙您集成您可能更有經驗的工具和庫。
相比之下,無頭 WordPress 與技術無關,因此它可以與更廣泛的庫和工具集成。您可以使用您最喜歡的 JavaScript 前端框架和工具堆棧構建網站,甚至可以將其集成到現有工作流程中,而無需犧牲您已構建的內容。
更快的速度和性能
WordPress 是圍繞 PHP 構建的。由于每個頁面都是根據數據庫中保存的數據生成的,因此它們的加載速度比使用 HTML 文件創建的靜態網站慢。當插件包含在內時,網站變得更加緩慢。
如您所知,無頭 WordPress 的工作原理是預先生成 HTML 并將其緩存在世界各地的 CDN 服務器中。此設置極大地提高了網站的交付速度。此外,您可以將后端與 Next.JS 或 Gatsby 前端集成,以享受性能優勢,例如服務器端渲染和開箱即用的 SEO 選項。
更好的安全性
Vanilla WordPress 是黑客的一個巨大游樂場。事實上,黑客只需訪問您網站的 /wp-login.php 文件即可實施強力攻擊或通過 ddos 攻擊使您的網站過載。
另一方面,具有無頭架構的站點不易受到此類攻擊。 WordPress 不再用于輸出數據,因此困擾 WordPress 的相同漏洞無法適用。
此外,無頭 WordPress 的 API 優先設置允許您添加網絡安全服務和工具來抵御任何其他形式的攻擊。
結論
通過無頭方法,您可以獲得巨大的性能提升以及架構自由。另一方面,如果您是新手開發人員或非技術人員,您必須應對可能難以處理的復雜性。
無頭 WordPress 絕不會取代傳統 WordPress。對于擁有必要的開發團隊、希望調整其平臺或服務來服務新用例的企業來說,這更像是一種選擇。
如果你有能力,就去無頭。在做出承諾之前,請確保您出于正確的原因而這樣做。你不會后悔的。