简短回答
根据 W3Techs 2026 年 10 月 13 日的数据,所有网站中有 40.1% 运行在 WordPress 上,因此大多数网站迁移都是从 WordPress 开始的。Astro 官方的迁移指南介绍了两条路线:把 WordPress 保留为无头 CMS,由 Astro 构建前端;或者把内容彻底迁出 WordPress。
无论走哪条路线,保护流量的工作都是一样的:保留每个带来访问量的 URL,迁移 SEO 插件生成的标题和描述,复制上传目录(uploads),替换承担前端功能的插件,并为每个发生变化的 URL 设置永久重定向。按这个顺序来做,新网站就可以加载更快、运行成本更低,排名也不必从零开始。
无头 WordPress,还是彻底迁出?
| 把 WordPress 保留为无头 CMS | 把内容迁出 WordPress | |
|---|---|---|
| 编辑 | 仍是同一个 WordPress 仪表盘 | 新的 CMS,或代码仓库中的 Markdown 文件 |
| Astro 从哪里读取内容 | WordPress REST API 或 WPGraphQL | 内容集合或新 CMS 的 API |
| 还要维护 WordPress 吗 | 要:托管、更新和安全补丁,不过它不必再面向公众 | 不需要 |
| 插件 | 编辑类插件照常可用;在主题中运行的功能都要重建 | 仍需要的功能全部重建或替换 |
| 适用情况 | 大型编辑团队习惯在 WordPress 中工作 | 网站很少改动,或者团队本来就要换用新的 CMS |
Astro 对这两种方式都提供了文档:把 WordPress 用作无头 CMS,以及从 WordPress 迁移,后者推荐用 wordpress-export-to-markdown 工具来处理内容。
我们检查八个线上 WordPress 网站时发现了什么
2026 年 10 月 13 日,我们检查了八个用 WordPress 搭建的网站,从 WordPress.org 自己的新闻博客到大型媒体网站都有,看看一次迁移可以依赖哪些东西:
- 八个网站中有七个通过 REST API 公开提供文章,地址是 /wp-json/wp/v2/posts。第八个返回了 401:有些主机服务商和安全插件会锁定 API,所以在围绕它做规划之前,先检查你自己的网站。
- 八个网站中有三个还会随每篇文章返回 Yoast SEO 的数据。Yoast 会在标准的 REST 响应中添加一个 yoastheadjson 字段,其中包含它为该页面输出的标题、描述、canonical URL、Open Graph 标签和 schema(Yoast 开发者文档)。这正是你需要的 SEO 元数据,可以直接复用。
- 它们返回的每个文章 URL 都以斜杠结尾,七个网站中有五个的 URL 包含年份,例如 /2026/10/post-name/。Astro 必须完全重现这种结构,否则每篇文章都需要一个重定向。
- 八个网站中有六个仍在加载 jQuery,这提醒我们,WordPress 主题背负着大量前端代码,而用 Astro 重建时可以把它们都甩掉。
WordPress 迁移到 Astro:分步指南
- 盘点每个 URL。从 5.5 版开始,WordPress 会在 /wp-sitemap.xml 发布站点地图,除非某个 SEO 插件用自己的站点地图替换了它(Make WordPress Core)。再加上 Google Search Console 中时间范围尽可能长的“网页”报告,在“设置 > 固定链接”中记下固定链接结构,并导出所有重定向插件中的规则。
- 在无头方式和彻底迁出之间做出选择,可以参考上面的表格。其余步骤对两者都适用;如果选择无头方式,“导出”指的是在构建时从 API 读取同样的数据。
- 导出内容。“工具 > 导出”会生成一个 WXR 文件,也就是一个 XML 导出文件,其中包含你的文章、页面、自定义文章类型、评论、自定义字段、分类、标签、自定义分类法和用户(WordPress 文档)。如果要用脚本导出,REST API 每页最多返回 100 篇文章,并附带每篇文章渲染后的 HTML。
- 复制上传的文件。图片不在 XML 文件里:它们存放在 wp-content/uploads 中,旁边还有 WordPress 为每张图片生成的各种尺寸的副本。保留原图,让 astro:assets 生成各种尺寸,并决定旧的图片 URL 是保持不变,还是需要重定向。
- 迁移 SEO 元数据。如果网站使用 Yoast SEO,就通过 REST API 读取每篇文章和每个页面的 yoastheadjson:它给出的是最终的标题和描述,而不是插件保存的模板。否则,就从导出文件中 SEO 插件的自定义字段里提取。
- 把模板重建为 Astro 组件。如果彻底迁出,就把文章和页面转换为内容集合或放进新的 CMS;如果使用无头 WordPress,就从 API 获取它们。检查几篇文章的 HTML,看看有没有短代码、嵌入内容和页面构建器生成的标记,这些内容离开旧主题后,往往需要清理才能正常显示。
- 替换承担前端功能的插件。表单需要自己的端点(Cloudflare Worker、表单服务或你的 CRM),搜索可以改用 Pagefind 这样的静态索引,评论则需要做出决定:保留、迁移到第三方服务,还是关闭。页面提前构建好之后,缓存插件就没有用武之地了。
- 保持 URL 结构一致。WordPress 的固定链接通常以斜杠结尾,与 Astro 默认的目录式输出一致。基于日期的固定链接要改用动态路由来实现,例如 /[year]/[month]/[slug]/(Astro 路由);分类和标签归档页需要有自己的页面,或者设置重定向。
- 在服务器端重定向,包括 WordPress 遗留的地址。未使用适配器的 Astro 静态构建,会把配置好的重定向变成 meta refresh 页面(Astro 配置参考),因此要在网站的托管位置设置 1:1 的 301 重定向。除了发生变化的文章之外,还要覆盖 WordPress 自动生成的 URL:/feed/、?p= 短链接、附件页面、作者归档页,以及你移动过的所有 /wp-content/uploads/ 文件。
- 上线,然后持续观察。切换 DNS,在新网站验证无误之前,让旧的 WordPress 安装只有你自己能访问,并在之后几周关注 Search Console 的索引编制报告。我们的网站迁移 SEO 清单涵盖了上线当天以及之后 90 天的工作。
迁移之后有哪些变化
| 方面 | 使用 WordPress | 使用 Astro |
|---|---|---|
| 编辑 | WordPress 仪表盘和区块编辑器 | 作为无头 CMS 的 WordPress、其他 CMS 或 Markdown |
| 托管 | PHP 服务器和数据库 | 任意静态主机或边缘平台,例如 Cloudflare |
| 更新 | 需要持续跟进核心、主题和插件的更新 | 代码仓库中的依赖更新,公开服务器上无需更新 |
| 表单 | 表单插件 | 你自己的端点和数据存储 |
| 搜索 | WordPress 自带搜索或搜索插件 | 静态索引或搜索服务 |
| 性能 | 缓存和优化插件 | 提前构建好的页面,只在你添加的地方使用 JavaScript |
保住 SEO
Google 关于涉及网址变更的网站迁移的指南同样适用:把每个旧 URL 对应到最接近的新 URL,使用服务器端永久重定向,并至少保留一年。与大多数平台相比,WordPress 更容易做到 URL 完全不变,因为它带末尾斜杠的固定链接与 Astro 的默认设置一致;真正的工作在于重现日期路径、归档页,以及每一个由插件生成的 URL。
然后检查旧主题和插件在每个页面上添加了什么:canonical 标签、Open Graph 图片、结构化数据、多语言插件生成的 hreflang 标签,以及 robots 规则。新网站上缺少的任何一项,都是 Google 在切换当天失去的一个信号。
Dardo 如何执行 WordPress 迁移
我们把 WordPress 迁移作为网站迁移服务的一部分来执行:盘点 URL 和内容,决定采用无头方式还是彻底迁出,先重建一个有代表性的页面并在约定的宽度下审核,然后再完成其余的模板、表单和重定向。构建本身属于基于 Astro 的网站开发。如果你还在考虑是否要离开 WordPress,我们关于 WordPress 与定制网站的对比文章说明了两者各自在什么情况下更划算;我们的 Framer 和 Webflow 迁移指南则涵盖了另外两个常见的起点。
如果你正在考虑迁移,把网站和你想改变的地方发给我们。在报价之前,我们会先告诉你适合采用无头方式还是彻底迁出。
常见问题
WordPress 能和 Astro 一起使用吗?
可以。WordPress 可以继续作为无头 CMS:编辑人员仍使用 WordPress 仪表盘,Astro 则通过 REST API 或 WPGraphQL 构建公开网站。Astro 在其 WordPress CMS 指南中介绍了这种配置。
如何把 WordPress 内容导出到 Astro?
使用“工具 > 导出”生成 WXR 文件,再用 wordpress-export-to-markdown 之类的工具进行转换;也可以通过 REST API 读取文章,每次请求最多 100 篇。wp-content/uploads 需要单独复制,因为图片不在导出文件里。
从 WordPress 迁移到 Astro,会丢失 Google 排名吗?
只要每个带来流量的 URL 都能继续访问,就不会。保持固定链接结构(包括末尾斜杠),迁移标题、描述和结构化数据,为发生变化的地址添加 301 重定向,并在上线后的几周内关注 Search Console。
我的 WordPress 插件会怎样?
在无头架构中,帮助编辑的插件可以继续使用;但在主题中运行的功能,例如表单、轮播图、搜索、评论或页面构建器,都必须重建或替换,因为公开页面改由 Astro 自己渲染。
Astro 比 WordPress 更快吗?
Astro 网站是提前构建好的,只在你添加的地方发送 JavaScript,因此不需要 PHP 服务器或缓存插件来响应每次访问。具体快多少,取决于原来的 WordPress 主题加载了什么,所以迁移前后都要测量。
资料来源与延伸阅读
本页内容的资料来源,并附有原出版方提供的更多详情。
- W3Techs:WordPress 使用情况统计w3techs.com
- Astro 文档:从 WordPress 迁移docs.astro.build
- Astro 文档:无头 WordPress 与 Astrodocs.astro.build
- WordPress 文档:“工具 > 导出”页面wordpress.org
- WordPress REST API 手册:文章developer.wordpress.org
- Make WordPress Core:WordPress 5.5 新增的 XML 站点地图功能make.wordpress.org
- Yoast 开发者文档:REST APIdeveloper.yoast.com
- GitHub 上的 wordpress-export-to-markdowngithub.com
- Astro 文档:内容集合docs.astro.build
- Astro 文档:图片docs.astro.build
- Astro 文档:路由docs.astro.build
- Astro 文档:配置参考docs.astro.build
- Pagefind:静态搜索pagefind.app
- Google 搜索中心:涉及网址变更的网站迁移developers.google.com
