博客

WordPress 迁移到 Astro:如何迁移 WordPress 网站,无头方式或彻底迁出,同时保住排名

WordPress 迁移到 Astro 的两种方式:要导出什么,如何保住 Yoast 标题、固定链接和上传的图片,以及大多数迁移都会遗漏的 WordPress URL。

作者: Nicolás Cerón ·

夜晚,一座搭着脚手架、窗户亮着灯的庞大古老宅邸;鹅卵石小路上,一辆手推车载着一只深红色的旅行箱,小路一直通向山上一座亮着灯的小天文台。
本页内容

简短回答

根据 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:分步指南

  1. 盘点每个 URL。从 5.5 版开始,WordPress 会在 /wp-sitemap.xml 发布站点地图,除非某个 SEO 插件用自己的站点地图替换了它(Make WordPress Core)。再加上 Google Search Console 中时间范围尽可能长的“网页”报告,在“设置 > 固定链接”中记下固定链接结构,并导出所有重定向插件中的规则。
  2. 在无头方式和彻底迁出之间做出选择,可以参考上面的表格。其余步骤对两者都适用;如果选择无头方式,“导出”指的是在构建时从 API 读取同样的数据。
  3. 导出内容。“工具 > 导出”会生成一个 WXR 文件,也就是一个 XML 导出文件,其中包含你的文章、页面、自定义文章类型、评论、自定义字段、分类、标签、自定义分类法和用户(WordPress 文档)。如果要用脚本导出,REST API 每页最多返回 100 篇文章,并附带每篇文章渲染后的 HTML。
  4. 复制上传的文件。图片不在 XML 文件里:它们存放在 wp-content/uploads 中,旁边还有 WordPress 为每张图片生成的各种尺寸的副本。保留原图,让 astro:assets 生成各种尺寸,并决定旧的图片 URL 是保持不变,还是需要重定向。
  5. 迁移 SEO 元数据。如果网站使用 Yoast SEO,就通过 REST API 读取每篇文章和每个页面的 yoastheadjson:它给出的是最终的标题和描述,而不是插件保存的模板。否则,就从导出文件中 SEO 插件的自定义字段里提取。
  6. 把模板重建为 Astro 组件。如果彻底迁出,就把文章和页面转换为内容集合或放进新的 CMS;如果使用无头 WordPress,就从 API 获取它们。检查几篇文章的 HTML,看看有没有短代码、嵌入内容和页面构建器生成的标记,这些内容离开旧主题后,往往需要清理才能正常显示。
  7. 替换承担前端功能的插件。表单需要自己的端点(Cloudflare Worker、表单服务或你的 CRM),搜索可以改用 Pagefind 这样的静态索引,评论则需要做出决定:保留、迁移到第三方服务,还是关闭。页面提前构建好之后,缓存插件就没有用武之地了。
  8. 保持 URL 结构一致。WordPress 的固定链接通常以斜杠结尾,与 Astro 默认的目录式输出一致。基于日期的固定链接要改用动态路由来实现,例如 /[year]/[month]/[slug]/(Astro 路由);分类和标签归档页需要有自己的页面,或者设置重定向。
  9. 在服务器端重定向,包括 WordPress 遗留的地址。未使用适配器的 Astro 静态构建,会把配置好的重定向变成 meta refresh 页面(Astro 配置参考),因此要在网站的托管位置设置 1:1 的 301 重定向。除了发生变化的文章之外,还要覆盖 WordPress 自动生成的 URL:/feed/、?p= 短链接、附件页面、作者归档页,以及你移动过的所有 /wp-content/uploads/ 文件。
  10. 上线,然后持续观察。切换 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 主题加载了什么,所以迁移前后都要测量。

资料来源与延伸阅读

本页内容的资料来源,并附有原出版方提供的更多详情。