话不多说,本篇文章主要写从typecho程序迁移到WordPress程序的方法。
前置条件
在迁移之前,我们需要完成最重要的一个步骤就是将typecho的数据信息(包括文章,分类,评论,文章ID,以及一些介绍等等)导出,且要导出指定的WordPress可以识别的XWR格式。这里我们需要用到一款插件-ByeTyp。
ByeTyp的github地址如下:https://github.com/sunxiyuan/ByeTyp 在release页面,我们下载最新的ByeTyp版本压缩包。最新的版本是2019年的了,当然问题不大,依然很好使。
迁移教程
- 下载好的压缩包默认是有版本号的。如ByeTyp-1.4 。在这里我们先将ByeTyp压缩包改名为ByeTyp
- 上传插件。将插件上传到typecho网站的/usr/plugins/ 下然后解压缩
- 打开typecho 的后台,打开控制台,点击数据导出,导出为XML文件
- 到这里已经成功一半了。接下来我们将这个XML文件导入到WordPress里
- 进入WordPress后台,点击工具-导入-先安装WordPress运行导入器。然后选择刚刚从typecho导出的xml文件,上传即可
- 这样我们的网站文章都迁移过来了,并且文章的ID和分类什么的都是原来的样子。
- 然后到这一步,我们需要上传文章里的图片附件。有的人文章里的图片是直接上传的,这些附件存放在typecho的/usr/uploads路径下,一般是按照年份/月份格式保存着我们的上传的文章图片。我们需要将/uploads 里的内容压缩一下。然后导出
- 接着将这个压缩包上传到WordPress的/wp-content的 目录下按照格式解压缩即可,最终图片的路径实际上是/wp-content/uploads/xx/xx
- 接下来最后一步就是在数据库中替换图片的路径,从/usr/uploads 切换到 /wp-content/uploads下。进入数据库,执行命令
UPDATE wp_posts SET post_content = REPLACE( post_content, '/usr/uploads/', '/wp-content/uploads/');
即可 - 至此迁移就完成了,打开WordPress里的文章,不管是用图床上传的图片地址,还是上传到附件的文章图片,均可以正常打开,分类正常。
特别注意:这个教程只适用于同域名切换,即只更换程序博客模板,域名不变,如果迁移后的博客的域名也变了,点开文章发现有些图片打不开,抓包查看请求的域名不一致但是路径对上了,导致报404,这种情况需要在数据库里进行域名替换操作。可以执行以下代码进行尝试
UPDATE wp_options SET option_value = replace(option_value, 'oldsite.com', 'newsite.com');
UPDATE wp_posts SET post_content = replace(post_content, 'oldsite.com', 'newsite.com');
UPDATE wp_comments SET comment_content = replace(comment_content, 'oldsite.com', 'newsite.com');
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'oldsite.com', 'newsite.com');