wordpressw转halo的步骤

29

一、进入正常运行的wordpress后台:
1,工具--导出,下载导出的文件。如果文章比较多,比如超过2000篇,
可以选择下面的“文章”,按 “分类” 分几部分导出,再分批次导入halo。

二、编辑导出的 xml文件:
用editplus 或者 Notepad++等等类似软件打开编辑从wp导出的xml文件,
查找替换原来 http://old.xxx 域名为你准备新使用的域名。如果你不准备更
换域名,这一步可以省略。
如果在Nas上安装,需要加上 http://new.xx:77 这样的端口号。

三:在能正常运行的halo上,安装站点迁移插件。

然后上传刚才修改好的xml,再按提示操作就能导入了。

四:再halo中配置导入wordpress的媒体库:
这一步有点意思。如果简单地把wp的媒体库wp-content目录
复制到halo的attachments目录里,没有用的。具体操作如下:
1、找到wordpress安装目录里的wp-content\uploads,复制这个
uploads目录。
2、进入halo工作目录,找到attachments目录(一般halo2的下一级)
3、粘贴uploads目录为attachments子目录,并改名为 migrate-from-wp

上图是1panel的目录结构,下图是nas的目录结构。

五:创建 application.yaml 文件:

2024-12-07-tvelmutg.zip (application.yaml 压缩文件供下载)
1panle在attachments的上一级目录data下创建,群晖Nas在halo2目录里创建。
就是跟attachments在同一层级。代码如下:

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

六:重启halo就OK了。
注意:重启后可能出现文章名称乱码,可按下图修改设置。等待一段时间
生效后就可以了。


七:后继换文章中图片等附件的域名
用命令来操作比较麻烦。在1Panel中用phpmyadmin就方便多了。

从面板的“连接信息”中复制地址,用列表中的用户名和密码(不需要root用户就行)登录phpmyadmin。点选“extensions”,再点选SQL,运行以下代码:

UPDATE `extensions` 
SET `data` = REPLACE(`data`, 'http://aluz.cn', 'http://cyoy.me') 
WHERE `data` LIKE '%https://aluz.cn%';

或者:

UPDATE `extensions` 
SET `data` = REPLACE(`data`, 'http://aluz.cn', 'http://cyoy.me')