无头 WordPress,解释 [+ WCEU 2022 演讲者 Ivan Popov 的见解]

由于其插件、主题和其他资源的生态系统, WordPress是一个强大的内容管理系统。

使其更强大的一种方法是无头。使用此架构,您网站的内容数据库与网站显示分离,提供更大的灵活性、更轻松的多渠道分发和更快的性能。

在本指南中,我们将涵盖您需要了解的有关无头 WordPress 的所有信息,并包括来自 Ivan Popov 的会议“无头 WordPress 如何使企业受益?”的见解。在 WordCamp Europe 2022 上。随时单击下面的任何链接以跳到该部分:

  • WordPress 无头意味着什么
  • 无头 WordPress 配置的好处
  • 无头 WordPress 配置的缺点
  • 如何建立一个无头的 WordPress 网站

什么是无头 WordPress?

要了解无头 WordPress 配置与传统 WordPress 的不同之处,我们首先需要总体上 谈谈无头内容管理系统。
您可能使用过的大多数 CMS 都旨在处理网站的前端——访问者与之交互的界面,例如网页——以及网站的后端——存储在服务器上的文件,包括脚本和一个内容数据库。后端是您在将内容发布到前端之前创建、组织和管理内容的地方。
我们可以将此设置称为“耦合”CMS 架构,因为前端编辑工具和后端管理工具位于同一安装上。前端和后端都访问数据库,并一起生成访问者请求的网页和其他资产。由于耦合架构允许网站所有者从一个直观的程序(例如 WordPress)中管理他们的整个网站,因此这种设置很受初学者欢迎。
无头 CMS 的工作方式不同:它删除了前端工具,只留下后端内容管理工具。从本质上讲,您是将网站的“头部”(前端)与其“主体”(后端)的其余部分分开。
无头 CMS 仍然允许您上传、创建、编辑和组织内容。但是,无头 CMS 不是将内容直接推送到前端,而是通过REST API将其资源提供给单独的前端解决方案。它根本不关心内容对访问者的看法。
通过此设置,数据库只能由安装的后端访问。 

这就是无头 WordPress 的用武之地:您和我所知道的 WordPress 使用耦合架构。您可以在控制面板中管理您网站的资产,并通过主题和插件控制其外观。
但是,通过WordPress REST API共享内容,任何 WordPress 安装都可以变得无头。在无头 WordPress 配置中,内容管理工具仍然可用,但主题和块编辑器等前端功能不可用。另一个前端应用程序处理您的 WordPress 网站的实际外观。
无头设置并不是所有 WordPress 用户的最佳解决方案。然而,有时这种配置是理想的。接下来,让我们讨论为什么企业可能想要尝试无头 WordPress。

无头 WordPress 的好处

为什么有人会为了无头而放弃传统 WordPress 的便利性?在某些情况下,无头设置可能比典型的 WordPress 安装更适合商业网站。以下是一些关键原因:

改进的性能

传统的 WordPress 动态呈现网页。这意味着,托管服务器不是存储静态 HTML 页面以在请求时发送给用户,而是在每次请求进入时构建一个 HTML 页面。这需要服务器运行 PHP 和 MySQL 进程以从数据库中获取所有必要的资源,将它们组合成一个页面,然后将此页面发送给用户。
“这需要为每个网站访问者发生,这会给您的服务器带来越来越多的负载,”代理机构Vipe Studio的首席执行官 Ivan Popov在他的 WCEU 会议上解释道。这可能会导致页面加载时间变慢,从而损害用户体验并降低转化率。
通过将前端交付留给单独的应用程序(如 npm 或 next.js),您可以加快网站速度。根据 Popov 的说法,使用这些应用程序,访问者访问您的站点时几乎不需要编写脚本。
这是因为他们从数据库中获取内容并将其组装成预呈现的 HTML 页面,然后根据要求将这些页面发送给客户。

虽然您可以通过更简单的方法来提高标准 WordPress 安装的性能,但具有大量流量的企业站点将极大地受益于无头 WordPress 提供的更快速度。
“当网站很大时,无头 WordPress 的价值就体现出来了,”Popov 强调说。因此,每月有数百万访问者的出版商和其他企业网站应该考虑进行这项投资。 

前端灵活性

WordPress 允许您在前端做很多事情,它有大量可定制的主题和插件。尽管如此,并不是每个人都希望以这种方式控制他们的网站前端。
使用无头 CMS,您可以保留您熟悉和喜爱的 WordPress CMS 的“内容管理”部分,并将您的前端外包给几乎任何您想要的其他软件,只要该软件可以向 WordPress API 发出请求。
Popov 解释说,这对于习惯使用 WordPress 的站点管理员和内容创建者来说是理想的选择,因为他们的体验是一样的。“内容仍在 WordPress 中生成。因此在 WordPress 中创建和发布帖子是相同的。他们仍然可以以相同的方式管理菜单和其他选项,”他说。 
这种设置对于想要在另一个应用程序中工作、使用与 WordPress 使用的编码语言不同的编码语言和/或添加像 React 这样的前端框架以使他们的工作更轻松的前端开发人员也是有益的。
WordPress 主要由 PHP 和 JavaScript 构建,但无头 WordPress 允许开发人员检索网站内容,不受 WordPress 限制地随意打包,并将其粘贴到网页上供您的观众查看。同时,您的内容团队可以继续在 WordPress 中工作,而不必担心这些开发人员使用的是什么工具。
此外,如果您需要更改前端系统怎么办?或者,如果您想重新设计您的网站,或者从头开始构建它怎么办?无头 WordPress 可以说使这些都变得更容易,因为您的内容与前端分离。您可以根据需要随意更改网站的外观,但内容保持不变。

多渠道出版

当开始使用 WordPress 时,您将在标准桌面和移动网站上使用它,而这可能就是您所需要的。但是,一些规模化企业可能希望将其内容发送到其他界面,例如移动应用程序、社交媒体网站、智能设备和 Alexa 等虚拟助手。
如果是这种情况,无头 CMS 可以作为多个发布渠道的集中源。在他的 WCEU 会议上,波波夫解释说,一个WordPress 安装提供了许多无头频道。“所以站点管理员添加内容 [在后端] 可以被任何网站、移动应用程序或任何读取数据的应用程序使用,”他说。
此外,当您对 CMS 中的某些内容进行更改时,此更改会自动反映在与其连接的每个设备上。
想象一下尝试使用传统 CMS 执行此操作。您需要为每个界面重新格式化您的内容——这根本无法扩展。

提高安全性

“无头网站是服务器端生成的,因此网站访问者与数据库没有关系,”波波夫在他的 WCEU 会议的后续采访中解释道。出于安全原因,这很好。“黑客需要一些东西来破解,而没有头,他们没有什么可以破解的,”他说。 
虽然定位和访问您的数据库并非不可能,但如果您的前端与后端分离,这将更加困难。 
同样,您可以采取一些措施来保护您的 WordPress 网站而无需无头,但安全优势是无头设置的另一个好处。

无头 WordPress 的缺点

在你开始搞乱你的 WordPress 后端以尝试无头之前,请记住这个解决方案对于大多数 WordPress 用户来说并不理想。
波波夫在后续采访中说:“你需要知道在哪里调整这项技术——而不是仅仅为了调整它而调整。”
“如果刚刚开始一个网站或预算有限,你可以使用传统方法。Headless 将是一项巨大的投资,在开始时可能不是一个明智的选择,特别是如果你没有进行大型活动,”他说。 
WordPress CMS 的一大亮点是无代码体验。使用无头 WordPress,情况并非如此。您需要已经非常熟悉 JavaScript 等前端开发语言,或者雇用某人来构建无头部分。“即使是很小的改变,你也会对开发人员变得可靠,” 
除了必要的技能之外,运行一个无头的 WordPress 网站是一项重要的时间投资——你现在有两个系统需要照顾,而不是只有一个。如果您没有以高速率发布内容,那么运行这样一个网站所需的时间、成本和精力就不值得转换。
这就是为什么您倾向于看到大型公司更频繁地采用无外设配置,这些公司拥有足够的资源来处理工作以及足够的内容和渠道来证明投资的合理性。

如何设置无头 WordPress 网站

如果您已经权衡了无头 WordPress 的利弊并决定它值得追求,那么有几种方法可以解决。您的方法将根据您的技术专长和资源、首选语言和框架以及可以提供无头托管的首选WordPress 主机而有所不同。
无论使用哪种方法,您都应该熟悉前端语言(包括 JavaScript)和 WordPress REST API。无论您如何划分,您都将自己编写前端代码或付钱请人为您编写。
我们可以将无头 WordPress 的不同方法分为两大类:插件和自己编码。接下来让我们简要讨论一下每种方法。

使用插件。

WordPress 插件通常充当您自己编写代码的变通办法。不幸的是,无头 WordPress 插件并非如此,它仍然需要您精通相关的编程语言和 API 概念,以便构建您的前端并向 API 发出请求。但是,有一些著名的(免费的)插件可以让您的生活更轻松。
我们要强调的主要插件是WPGraphQL,它允许开发人员将他们的 WordPress 安装转换为GraphQL API。这意味着开发人员可以创建自己的数据模式,任何前端客户端都可以使用该数据模式从您的无头 CMS 中检索数据。如果您想编写自己的数据模式并编写指示 API 如何处理特定请求的运行时代码,您可能更喜欢 GraphQL 支持的 API 而不是 WordPress REST API。

如果您对无头电子商务感兴趣,CoCart是另一个值得考虑的 WordPress 插件。CoCart 获取您的WooCommerce 商店并在其之上放置一个无头 API,允许前端客户端请求商店资源,如产品和购物车内容。如果您想在多个平台(例如,一个网站和一个移动应用程序)上开设一家商店并从一个 WordPress/WooCommerce 后端管理您的内容,这个插件会非常有用。

最后,一旦您设置了无头站点的前端,您就可以使用无头模式插件将任何试图访问您的旧 WordPress 站点的人发送到您的新前端地址。这个插件非常简单,确保回访者不会在您更改 URL 后尝试访问您的旧网站时感到困惑。

自己编码。

虽然插件使 API 的实现变得更容易,但如果您想要灵活性,就无法击败 DIY 编码方法。网上有许多教程深入分步地解释了如何在您的 WordPress 副本中实施无头配置。
对于那些全新的 headless WordPress 新手,使用 WordPress REST API 的最佳分步指南是来自 Smashing Magazine 的这个指南,它使用您可以自己使用的代码片段来完成流程的每个步骤。
与其从头开始构建您网站的前端,我们还建议您学习一个前端框架来为您处理大部分繁重的工作。Gatsby就是这样一种框架,它以与 WordPress 的兼容性而著称。有了它,您可以通过 WordPress 管理您的内容。然后,通过 Gatsby 的云服务部署您的网站,同时享受 Gatsby 为您带来的性能提升。

如果您还没有,我们还建议您查看 React React,Meta 拥有的一个 JavaScript 库,用于构建前端和重用组件以获得更好的性能。要将您的 WordPress 后端与 React 驱动的前端站点连接起来,请尝试使用免费的开源框架Frontity,它可以更轻松地专门构建 WordPress-React 站点。

需要更灵活的 WordPress?尝试无头。

虽然无头 WordPress 不会像我们所知的那样终结传统 WordPress,但对于大到足以支持实施和维护成本的企业来说,它是一个可行的选择。一开始似乎需要做更多的工作,但无头方法可以为您节省大量时间,并为您提供比 WordPress 开箱即用的更多的前端灵活性。

Newsletter Updates

Enter your email address below and subscribe to our newsletter

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注