本文主要介绍如何将 WordPress 作为无头 CMS,配合静态站点生成器来构建高性能的网站。在这个架构中,WordPress 负责内容的创建和管理,而静态站点生成器则负责将内容转换为高性能的静态页面。目前主流的静态站点生成器包括 Hexo 和 Gatsby 等,它们各有特点:Hexo 以其简单易用和丰富的主题生态受到广泛欢迎,而 Gatsby 则提供了更强大的数据获取和构建能力。考虑到大多数用户的需求,本文将以 Hexo 为例,详细介绍如何实现 WordPress 与静态站点生成器的集成,以及如何通过 EdgeOne Pages 进行部署和加速。
快速入门
EdgeOne 提供了开箱即用的 WordPress + Hexo 集成方案,您可以直接访问 模板,一键部署您的网站。部署完成后,只需修改 WordPress 数据源配置,即可让站点显示您在 WordPress 中配置的内容。如果您想在本地预览和调试,也可以从 GitHub 下载模板到本地。
WordPress 集成主要包含以下三个步骤:配置 WordPress 作为数据源、使用Hexo生成静态页面、部署到 EdgeOne Pages。下面将详细介绍每个步骤的具体操作。
WordPress 配置
WordPress 支持两种部署方式:WordPress.com 托管和自托管。两种方式在架构原理上是一致的,区别仅在于部署位置。下面我们以 WordPress.com 托管为例,详细介绍集成流程。
1. 注册 WordPress.com 账号
2. 选择托管方案
WordPress.com 提供多种托管方案,主要区别在于 API 访问权限、插件支持和存储空间等。用户可根据自身需求选择合适的方案。
Personal:基础 API 访问,6GB 存储空间。
Premium:完整 API 访问,13GB 存储空间。
Business 及以上:支持自定义插件,200GB 及以上存储空间。
由于我们仅将 WordPress 作为数据源和内容管理工具,不同方案在架构集成方式上基本一致。WordPress REST API v2提供了更完善的端点、更好的性能优化、更丰富的功能支持,以及更好的向后兼容性,是目前最广泛使用的版本。考虑到大多数 WordPress 用户选择 Business 方案,且该方案支持 GraphQL 数据查询模式,以下以 Business 方案为例,讲解如何将 WordPress 作为无头 CMS 与前端框架进行集成。
3. 配置站点基本信息
在 WordPress 后台完成站点标题、描述等基本信息的配置。
安装配置 WPGraphQL 插件,使数据接口支持 GraphQL 查询。

4. 准备数据内容
为了测试数据获取功能,您需要创建一些基础内容:
创建几篇示例文章(Posts)。
设置文章分类(Categories)。
添加文章标签(Tags)。
这些内容将用于后续测试数据同步和展示功能。建议创建3-5篇包含不同分类和标签的文章,以便充分测试各项功能。下图展示了创建文章和设置分类标签的界面:

完成以上配置后,WordPress 将作为我们的数据源,提供 REST API 接口供前端框架调用。
5. 测试数据请求
在 Business 版本中,我们使用 WordPress REST API v2接口获取数据。
以获取文章列表为例,v2版本返回的数据格式如下:
[{"id": 1,"date": "2024-03-20T10:00:00","title": {"rendered": "Hello World"},"content": {"rendered": "This is my first post!","protected": false},"excerpt": {"rendered": "This is my first post!"},"featured_media": 0,"categories": [1],"tags": [1],"_links": {"self": [{"href": "https://your-site.com/wp-json/wp/v2/posts/1"}],"author": [{"href": "https://your-site.com/wp-json/wp/v2/users/1"}],"categories": [{"href": "https://your-site.com/wp-json/wp/v2/categories/1"}],"tags": [{"href": "https://your-site.com/wp-json/wp/v2/tags/1"}]}}]
请访问v2的 posts 接口,如果返回的数据格式与上述示例一致,则表示接口验证正常。后续我们可以通过编辑 posts、categories、tags 等数据来维护站点的内容。
6. 配置API访问
在WordPress 后台配置 REST API 访问权限和 CORS 策略,确保前端应用可以安全地访问数据。对于 WordPress.com 托管的站点,需要在站点设置中配置允许访问的域名。具体步骤如下:
点击左侧菜单的“设置”(Settings)。
选择“常规”(General)选项。
在“WordPress 地址”和“站点地址”中确保填写了正确的域名。
点击“保存更改”。
完成以上设置后,REST API 将自动启用,您可以通过访问
https://your-site.com/wp-json 来验证API是否正常工作。生成静态文件
1. 获取模板
# 创建目录并初始化git仓库mkdir wordpress-hexo-template && cd wordpress-hexo-templategit init# 添加远程仓库git remote add origin https://github.com/TencentEdgeOne/pages-templates.git# 启用sparse-checkout并设置只获取Hexo模板git sparse-checkout set examples/wordpress-hexo-template# 拉取内容git pull origin main# 移动文件到当前目录mv examples/wordpress-hexo-template/* .rm -rf examples
2. 环境准备
本模板基于 Hexo 框架开发,需要确保以下环境:
Node.js 14.0 或更高版本。
npm 6.0 或更高版本。
确认环境满足要求后,首先需要安装项目依赖:
# 安装依赖npm install
安装完成后,我们就可以开始同步 WordPress 的内容并启动开发服务器:
# 配置WordPress数据源并启动开发服务器# 将 https://your.site.url 替换为您的WordPress站点地址# 例如:https://myblog.wordpress.com# 注意:无需添加 /wp-json/wp/v2,脚本会自动补全API路径WP_URL=https://your.site.url node scripts/wp-sync.js
这个命令会:
从WordPress 获取文章内容。
将内容转换为 Hexo 可用的格式。
启动本地开发服务器预览效果。
执行完同步命令后,请检查
source/_posts 目录,查看是否已生成对应的 Markdown 文件列表。如果能看到 WordPress 中的文章都已转换为 Markdown 文件,则说明数据同步成功。
接下来,请检查以下文件是否已正确生成:
source/categories.json:确认WordPress的分类数据是否已同步。source/tags.json:确认WordPress的标签数据是否已同步。如果以上文件都已正确生成,说明环境准备已完成,可以继续进行下一步操作。
3. 打包静态文件
首先,让我们启动本地预览服务器来查看效果:
hexo server
执行后,在浏览器中访问
http://localhost:4000,您将看到类似下图的预览效果:
预览效果确认无误后,我们就可以生成静态文件了:
hexo generate
执行完成后,将在项目根目录下生成
public 文件夹,其中包含了所有静态文件。部署到EdgeOne Pages
1. 代码发布到 Git
将代码提交到 Git 仓库即可完成部署。假设您已经创建了
wordpress-hexo-template 项目,并且将当前目录关联到了该项目,使用以下命令提交:git add .git commit -m "Initial commit"git push origin main
2. 项目导入 Pages

3. 添加环境变量
点击部署 blog-with-retypeset-and-contentful 后,在准备部署界面点击“环境变量”,分别配置以下环境变量:
WP_URL:填入您的 WordPress 地址。
单击“立即创建”,等待部署完成后将显示部署成功界面:

至此,我们已经完成了 Hexo 方案的完整部署流程。通过这个方案,您可以:
使用 WordPress 管理内容,享受其强大的内容管理功能。
利用 Hexo 生成静态文件,提升访问速度。
通过 EdgeOne Pages 实现自动化部署,简化运维工作。
获得全球 CDN 加速,提升用户体验。
更多相关内容
查看更多 WordPress 集成方案:EdgeOne Pages提供的WordPress模板。
切换 Hexo 多主题风格:Hexo官方主题列表。