如何迁移WordPress网站且不丢失内容或排名
迁移WordPress网站时,首先列出每一个URL以及你的插件所承担的每一项工作,然后导出内容(“工具 → 导出”会生成一个XML文件)并复制媒体文件夹,在新平台上重建设计,导入内容,并在切换DNS之前,为所有发生变化的URL设置301重定向。在新网站经过检查之前,保持旧网站继续运行。人们最容易忽略的就是重定向,而它恰恰是保护搜索流量的关键。
本指南涵盖从WordPress迁移到重建后的网站,包括使用AI应用构建工具构建的网站。无论你迁移到哪个平台,步骤都是相同的。
确定你要做哪种迁移
常见的目标有三种,所需的工作量各不相同。
| 目标 | 含义 | 适合的情况 |
|---|---|---|
| 另一家WordPress主机 | 同一个网站,新服务器 | 你喜欢WordPress,只是想要更好的主机 |
| 重建的网站 | 新设计和新平台;导入内容 | 网站主要是页面和文章,插件成了负担 |
| 无头WordPress | WordPress保留为编辑器;新前端通过REST API读取文章 | 作者喜欢WordPress编辑器,但你想要一个新的前端 |
如果你要继续使用WordPress,请使用新主机的迁移工具,到此为止即可。本指南其余部分针对的是第二和第三种选择。关于如何选择平台,参见WordPress替代方案和WordPress对比Webflow。
第一步:盘点网站
在动任何东西之前,先把现有的内容写下来。
每一个URL。 WordPress(5.5版本起)会在/wp-sitemap.xml生成站点地图。Yoast等SEO插件通常会用自己的站点地图替代,通常位于/sitemap_index.xml。把URL列表保存到电子表格中。如果你设置了Google Search Console,也请导出带来流量的页面,因为这些是你绝对不能弄坏的页面。
内容类型。 页面、文章、分类、标签、作者,以及所有自定义文章类型(作品集条目、团队成员、活动)。大致记下每种类型的数量。
插件及其作用。 不要只列插件名称,要列它们的功能。“向站长发送邮件的联系表单。”“SEO标题和描述。”“预约日历。”“新闻订阅。”每一项功能都需要在新网站中有对应的方案。
看不见的东西。 分析代码、插件已设置的重定向、主题中的自定义代码、表单中的邮箱地址。
第二步:导出内容和媒体
内容。 在WordPress后台进入工具 → 导出,选择所有内容,然后下载文件。这是一个XML文件(WordPress扩展RSS格式,即WXR),包含文章、页面、评论、自定义字段、分类和标签。
媒体。 导出文件通过URL引用图片,但并不包含图片本身。请通过主机的文件管理器、SFTP或备份插件,复制主机上的wp-content/uploads文件夹。保持文件夹结构;它是按年份和月份组织的。
SEO字段。 如果SEO插件存储了自定义标题和元描述,它们通常会以自定义字段的形式包含在导出文件中。请在XML文件中检查一篇文章,确认无误。
完整备份。 同时对文件和数据库做一次完整备份,即使你不打算使用它。它是你的退路。
第三步:重建设计
迁移是一个简化的好时机。大多数WordPress主题都积累了多年不需要的小部件和布局选项。
为关键页面类型截图:首页、普通页面、博客列表、单篇文章、联系页面。使用AI应用构建工具时,你可以附上截图,并描述要保留的内容:
根据我们当前WordPress网站的附图,为一家理疗诊所构建一个网站。首页保留配色、标志和板块顺序,但让它更简洁、更快。页面:首页、服务、关于我们、博客、联系我们。博客需要列表页和单篇文章页。
先用几篇真实的文章构建布局,而不是整个归档。
第四步:导入内容
导入方式取决于内容量。
- 几个页面。 手动复制文本,或将其粘贴到聊天中。这样很快,也便于边改边调整。
- 几十甚至几百篇文章。 从XML导出文件导入。脚本可以逐条读取每一项,并保存标题、slug、日期、内容、摘要、分类和特色图片。
使用AI构建工具时,附上导出文件并描述你想要的结果:
我附上了我们的WordPress导出文件(WXR XML)。请把每一篇已发布的文章导入到博客中。保留每篇文章的slug、发布日期、标题、内容、分类和特色图片。跳过草稿、已删除的文章和评论。让每篇文章的URL为
/blog/[slug]。告诉我导入了多少篇文章,并列出所有导入失败的文章。
导入后需要检查几件事:
- 文章中的图片仍然指向旧域名下的
wp-content/uploads地址。请把媒体上传到新网站的存储中,并改写这些地址,否则旧网站关闭的那天它们就会失效。 - 短代码,例如
[gallery]或[contact-form-7],会以纯文本的形式显示。找到它们,并替换为真实内容。 - 来自页面构建器的HTML内嵌代码可能比较混乱。请抽查访问量最高的文章。
第五步:保留URL,或设置重定向
搜索引擎和其他网站都链接着你的旧URL。当某个URL消失时,这些链接就会返回404,与之关联的排名也随之丢失。
最理想的情况是保留完全相同的URL。如果你的文章原本位于/my-post-title/,就让新网站在同一地址提供这些文章。
当URL必须改变时(例如从/2024/05/my-post/改为/blog/my-post),请为每个旧URL设置一个301重定向(永久重定向),指向其新URL。根据第一步的盘点,建立一个两列的列表:旧URL和新URL。然后提出要求:
为附件CSV中的每个旧URL添加到其新URL的永久301重定向。另外,将
/category/[name]/重定向到/blog?category=[name],并将/feed/重定向到/blog/rss.xml。
上线后,测试一批旧URL。每个都应当一次跳转就落到正确的新页面,而不是出现一连串的重定向。
第六步:保留SEO基础
- 每个重要页面的页面标题和元描述
- 新的站点地图,并提交到Google Search Console
- 同样的分析工具,以便对比迁移前后的数据
- 图片的替代文本(如果导出文件中有相应图片的话)
我们关于AI构建网站的SEO的指南涵盖了其余内容。
第七步:替换插件功能
逐条检查第一步列出的功能清单:
| 插件功能 | 常见替代方案 |
|---|---|
| 联系表单 | 将数据保存到数据库和/或发邮件通知你的表单 |
| SEO字段 | 在新网站中为每个页面单独设置标题和描述 |
| 新闻订阅 | 你的邮件服务商提供的表单或API |
| 预约 | 一个预约页面,或嵌入页面中的托管预约工具 |
| 评论 | 评论功能、托管的评论服务,或不设评论 |
| 缓存与安全 | 在静态或托管网站上通常不需要 |
第八步:上线并切换DNS
- 将新网站发布到一个临时地址,并在桌面和手机上测试。
- 点击访问量最高列表中的每一个页面。
- 抽查一批旧URL,确认重定向是否正确。
- 将你的域名DNS指向新的主机。
- 保留WordPress网站及其备份几周,以防有遗漏。
我们关于绑定自定义域名的指南解释了DNS的更改方法。
常见错误
- 没有设置重定向。 代价最大的错误。每一个失效的URL都意味着一个丢失的链接。
- 图片仍从旧网站加载。 一切看起来都正常,直到你取消旧的主机服务。
- 忘记表单。 联系表单悄悄停止发送,而你要过几周才会发现。
- 导入了草稿和垃圾内容。 应在导入前清理,而不是导入后。
- 在上线当天就取消旧主机。 等你确认没有遗漏之后再取消。
迁移到Mythex
Mythex是一款AI应用构建工具,而不是WordPress主机,因此迁移到Mythex就是一次重建:你描述网站,在聊天中附上截图和导出文件(每条消息最多5个文件,每个10 MB),然后由智能体编写新网站。上传的图片可以放在项目的文件存储中,如果你之后想编辑文章,可以用数据库保存文章。先发布到mythex.ai地址进行测试,然后在Pro套餐中绑定你的域名。参见文档中的在Mythex上构建静态网站。
迁移清单
- 对WordPress的文件和数据库做完整备份
- 列出每一个URL,并标出访问量最高的页面
- 列出插件功能,并为每项功能确定替代方案
- 导出内容(工具 → 导出),并复制
wp-content/uploads - 用真实内容重建并测试设计
- 导入内容;将图片从旧域名迁出;删除短代码
- 为每个发生变化的URL设置301重定向,并测试
- 标题、描述、站点地图和分析工具已就位
- 表单已端到端测试
- 已切换DNS;旧网站保留几周
常见问题
离开WordPress后,我的谷歌排名会下降吗?
只要尽量保留相同的URL,并为每个发生变化的URL添加301重定向,同时保留标题、描述和内容,就不会。任何迁移之后,排名通常都会在几周内有所波动,但真正造成长期损失的是没有重定向的失效URL。
我如何从WordPress导出所有内容?
在WordPress后台进入“工具 → 导出”,会下载一个XML文件,包含文章、页面、评论、分类和标签。媒体文件不在该文件中,因此需要单独复制wp-content/uploads文件夹,可通过主机的文件管理器、SFTP或备份插件完成。
我可以只把WordPress用于撰写文章吗?
可以。这种方式被称为无头WordPress(headless WordPress):WordPress保留为编辑器,新的前端通过WordPress REST API读取文章。它保留了熟悉的编辑器,但你仍然需要维护和保障一个WordPress安装。
联系表单和插件怎么办?
插件无法直接迁移。列出每个插件的作用,例如表单、SEO字段或预约功能,然后在新网站中重建这项功能,或改用一项服务来替代。表单通常会变成一个简单的表单,将数据保存到数据库或发送邮件。