在更换服务器、合并站点或重建博客时,WordPress自带导出功能会生成一个XML文件,里面包含了文章、页面、评论、分类和标签等数据。要把这份数据恢复到另一个WordPress网站,并不需要写代码,核心是利用目标站点后台的导入工具完成解析与写入。

一、理解WordPress导出的XML结构
WordPress导出的XML并非随意格式,而是基于WXR(WordPress eXtended RSS)规范。它在一个RSS外壳里,用特定命名空间存放了站点的主要内容类型。比如文章放在item节点中,分类法放在category里,附件信息也会以特殊文章形式存在。
这种文件用浏览器打开通常显示为纯文本或树状代码,如果直接修改容易破坏结构。了解它的组成有助于我们判断导入失败的原因:例如当文件里包含大量中文或特殊字符时,编码必须是UTF-8且无BOM头,否则新站导入会出现乱码或截断。
1.1 常见节点含义
在XML中,wp:author记录作者登录名和显示名;wp:term描述分类与标签;item内的wp:post_type区分文章、页面或附件。导入器读取这些信息后,会在新数据库里重建对应记录。
如果旧站使用了自定义文章类型,而新站未启用对应插件,那些item可能被跳过或转为普通文章。因此在导入前,应先在新站安装相同的主题或插件,保证结构兼容。
二、新网站后台导入XML的标准流程
WordPress核心自带导入器,但默认可能未安装。进入新站后台的“工具-导入”页面,找到“WordPress”一项,若显示“未安装”,点击链接安装并启用即可,无需第三方插件。
启用后点击“运行导入器”,上传旧站导出的XML文件。系统会先解析文件大小与内容,接着进入映射界面,让你选择文章作者对应到新站的哪个用户,并可选“下载并导入文件附件”来尝试拉取原站图片。
2.1 具体操作步骤
下面以常规文章站点为例说明点击顺序:
- 旧站:后台“工具-导出”选“所有内容”生成xml。
- 新站:后台“工具-导入-WordPress-运行导入器”。
- 上传xml,勾选“导入附件”,指定作者映射,提交。
导入过程可能耗时较长,取决于文章数量。浏览器不要关闭,进度条走完会提示“已完成”。此时前台应能看见旧文章,后台“文章”列表也包含对应条目。
2.2 附件导入的局限性
即便勾选了下载附件,WordPress也只是通过旧站网址远程抓取图片。如果旧站已关闭或设置了防盗链,图片会导入失败,数据库中附件记录指向无效链接。
更稳妥的做法是用FTP把旧站wp-content/uploads目录整体下载,再上传到新站相同路径。这样无需导入器处理媒体,文章里的图片地址若域名一致可直接显示,若域名变了再用搜索替换插件批量改路径。
三、大文件与导入失败的应对
当XML体积超过新站服务器规定的upload_max_filesize或post_max_size时,后台上传会报错。此时可联系主机商调整php配置,或用文本编辑器将XML按文章数量拆分为几个小文件分别导入。
另一种情况是导入中途白屏,多为PHP执行时间不够。可在wp-config.php里增加配置延长时限,例如设置脚本运行时长。下面代码片段展示如何临时提高限制:
// 在wp-config.php末尾添加,提升导入耐受度
@ini_set('max_execution_time', 300);
@ini_set('memory_limit', '256M');
拆分XML时要注意保留头部声明与闭合标签,不能从文章中间硬切。可用专用WXR分割脚本或手动以</item>为界,确保每个分卷都是合法XML。
3.1 校验XML合法性
导入前可用本地工具验证XML是否完好。比如命令行执行简单检查,或者浏览器打开看是否报错。若提示某行标签不匹配,多是导出时被插件中断。
修复时可借助代码编辑器格式化,找到未闭合的item或channel补全套标签。切忌用富文本编辑器另存,以免加入不可见字符破坏编码。
四、导入后数据核对与清理
导入结束不代表迁移完成。应抽查几篇文章,确认正文格式、短代码和特色图片正常。分类标签数量要和旧站基本一致,避免漏导。
若发现作者映射错误,可在后台“用户”里批量指派文章;若附件缺失,按前文FTP方案补目录后用“附件修复”类工具重挂。最后清除新站缓存,访客便能正常浏览旧内容。
注意:XML导入不会迁移插件设置与主题选项,仅含内容数据。功能性配置需手动重新调整。
整体来看,WordPress的XML导入是官方提供的内容迁移通道,只要注意文件合规、附件处理和服务器限制,就能低门槛完成站点文章搬迁,不必依赖付费迁移服务。