halo-sigs / plugin-wordpress

(已归档,请移步至 https://github.com/halo-sigs/plugin-migrate) 将 WordPress XML 文件导入 Halo 2.0 版本的插件

Home Page:https://halo.run/store/apps/app-TlUBt

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

❗归档说明

鉴于站点迁移插件已经支持了多平台的数据迁移,本仓库将进行归档处理。需要从 WordPress 迁移至 Halo 的用户可以使用站点迁移插件进行迁移。

插件获取:


plugin-wordpress

支持将 WordPress 导出的 XML 文件导入到 Halo 2.0 版本中。

功能

  • 文章分类导入
  • 标签导入
  • 文章导入
  • 文章封面图与 WP 中一致
  • 文章发布时间与 WP 中一致
  • 菜单导入
  • 自定义页面导入
  • 用户导入
  • 文章作者与 WP 中一致

迁移指引

迁移插件目前仅支持 Chrome 浏览器,且必须要求站点是 HTTPS 协议(本地环境不受限制)。

导出 WordPress 文件

在 WordPress 管理后台的 工具-导出 菜单中,选择导出 所有内容,下载导出的文件后会得到一个 XML 文件。

修改 Halo 配置

在 Halo 配置文件中增加如下配置,通过该配置,用户在 {halo-work-dir}/attachments/migrate-from-wp/ 上传文件后,可以通过 {HALO_EXTERNAL_URL}/wp-content/uploads/{文件名} 访问到该文件,与 WordPress 中的附件链接规则一致。

halo:
  attachment:
    resource-mappings:
      - pathPattern: /wp-content/uploads/**
        locations:
          - migrate-from-wp

同时,修改 Halo 的 HALO_EXTERNAL_URL 配置,与原本的 WordPress 域名保持一致,例如 https://blog.halo.run

打包迁移附件文件

在 WordPress 部署服务器后台,找到附件存储目录,例如 /wordpress_path/blog.halo.run/wp-content,打包该目录下的 upload 目录。

tar -czvf upload.tgz uploads/

通过上述命令可以将 uploads 目录打包为 upload.tgz 文件。将得到的 upload.tgz 文件拷贝到新的 Halo 服务器上,并在 Halo 工作目录下的 attachments 目录中创建与上一步配置的路由规则对应的 migrate-from-wp 子目录。

mkdir -p {halo-work-dir}/attachments/migrate-from-wp

upload.tgz 中的文件解压到上述目录中。

cd {halo-work-dir}/attachments/migrate-from-wp
tar --strip-components 1 -zxvf /path/to/upload.tgz

得到类似这样的目录结构

{halo-work-dir}/attachments
├── migrate-from-wp
│   ├── 2011
│   ├── 2015
│   ├── 2016
│   ├── 2017
│   ├── 2018
│   ├── 2019
│   ├── 2020
│   ├── 2021
│   ├── 2022
│   ├── elementor
│   ├── wpforms
│   └── wp-import-export-lite
└── upload
    └── local

安装插件

从该插件的 Releases 页面下载最新插件,在 Halo 控制台安装并启用插件。安装完成后会在左侧导航菜单出现 工具-WordPress导入。点击 WordPress导入 进入导入页面,点击 选择文件 并将在 WordPress 中导出的 XML 文件上传。

插件会解析 XML 文件中包含的内容,确认无误后下方的 执行导入 按钮,等待导入完成即可。

切换 DNS 解析

由于文章中插件的图片等附件地址没有进行替换,与之前 WordPress 中的地址是一样的。所以在博客域名解析未切换前,通过 Halo 访问文章时图片等请求还是会指向原本的 WordPress 服务中。要完全完成迁移工作,还需要将原本指向 WordPress 服务的域名解析指向新的 Halo 服务器。

相关仓库

About

(已归档,请移步至 https://github.com/halo-sigs/plugin-migrate) 将 WordPress XML 文件导入 Halo 2.0 版本的插件

https://halo.run/store/apps/app-TlUBt

License:GNU General Public License v3.0


Languages

Language:TypeScript 68.3%Language:Vue 28.6%Language:JavaScript 1.9%Language:Java 1.2%Language:CSS 0.1%