由于博客从2013年建立以来,各种倒腾使得代码和数据库比较凌乱,响应速度慢慢地变得很慢。于是琢磨怎么样把原来的数据整合到新的WordPress(WP)程序中,过程很坎坷,也遇到了很多问题,有必要整理记录下来。
首先在测试站做一系列测试,看怎么样可以完整地转移数据。
- 将一个全新WordPress程序和数据库分别复制/导入进test site(复制原来的config.php文件)
- 修改test site database的域名信息
- All-in-One WP Migration搬迁测试,有100M的限制,可以高级定制选择不导出主题或者插件,但是数据库会全部复制
- wordpress工具导出文章评论媒体方式导入(限制100M),优点是所有链接包括媒体链接会自动换为新url,看具体需求,不一定用到
- 先不安装插件的情况下导入,媒体导入不成功
- 重来,安装主题和关键插件
- 取消置顶文章,禁用wpdiscuz插件
- 重新开始,导入新数据库删除link和option之外的内容
- 安装测试 OSS upload 和 WPOSS
- 从数据库中导出导入post,comment等表之后,再安装wpdiscuz,却不能启动→因为数据库option
问题:
- OSS upload上传图片之后,把它禁用,媒体里该图片的链接会自动变回网站目录/uploads的,可即便在相应路径把该图片上传,后台媒体页也不显示图片/缩略图……该图片的媒体页面也只是显示链接,如果点此链接,则显示图片,证明图片是存在的,路径也没问题。
- WPOSS上传图片后,也把它禁用,然后这个时候媒体里的链接也会自动变回wp本地,把图片上传到网站目录/uploads对应文件夹,后台媒体页正常显示……
- 和OSS有关的插件全部禁止,上传一个图片,则图片上传到网站目录/uploads,然后启用OSS upload,在aliyun oss手动上传刚才的图片,路径正确,博客媒体页面不显示;换WPOSS,相同操作,图片可以显示。
- 另外,在测试站把两个插件都安装之后,此后再上传的图片,上面的问题不存在了……可是问题是之前的图片还是那样……
- 文章插入的图片基本只是一个img链接的话,和显示一个图片链接一样正常显示。而后台媒体库的缩略图,媒体页面,文章中的相册,封面图片不能显示出来。
- 把原网站的主题代码和config代码copy到测试站,测试媒体/图床问题。
……
后续的测试整理出来的话可能有一百条吧,全都失败赶时间去做各种尝试也就没再记录……
分享几个也许有用的内容,虽然都没有对本次遇到的问题没什么帮助,不过有朋友遇到类似问题也许可以参考着去尝试:
- 将WordPress图片附件从图床(aliyun oss)搬回本地
- 阿里云图床迁回本地wordpress插件?WordPress 将图片从图床搬回本地 show了两个插件Search & Replace, Add From Server ( aliyun oss的软件把媒体数据下载到本地 oss-browser.exe 后zip形式打包上传到wp网站目录,使用Add From Server确实可以把图片导入到本地,然而图片id和以前并不能对应,所以后台媒体页和相册等依然不能显示,另外,导入图片的过程中如果遇到严重问题,后续进程不会继续。如果能正常工作的话,把图片上传到wp目录,再用这种方式导入倒是不错的选择,不过该插件不支持导入文件夹,所以得按文件夹分批操作,如果是按照年月组织媒体上传形式,操作的文件夹可能会比较多,另外一次导入太多也可能是造成提示wp出错的原因之一,记得好像有一个帖子里提示不要一次导入太多图片。那么,图片比较多的话,也还是比较纠结……Search & Replace可以替换url链接,sql操作也可以,不过好像没有它操作的彻底,而且预览模式比较贴心,此外,修改的内容可以选择导出sql文件或者直接修改sql文件。)
既然图片问题怎么都存在的话,不动数据库的情况使用wp导入器也许是比较好的选择,毕竟很久以前随便折腾站点,改代码、装插件,早不记得改动了些什么,也算是有一个契机整顿吧。于是正式做内容迁移。
- 重装一个WordPress到测试站点
- 主站数据用后台自带的服务导出xml文件,需安装插件
- 测试站建立多个账户,尽量不操作数据库,所以没有选择导入sql的方式,而是手动建立
- 测试站点后台同样安装插件后导入xml文件
- 安装插件,这次严格控制插件和数量,注意修改媒体文件路径
- 图片延迟加载,社交share,随机推荐,Widget Logic,垃圾评论保护(WordPress Zero Spam),中文汉字转换,classic editor,限制登陆可能之后会取消掉。
- 缓存插件,点赞、打赏、海报,SEO优化……不需要……
- 关于谷歌字体,functions.php添加了代码(用微信打开的速度貌似有一点点改善),没有安装Disable Google Fonts插件,暂时还没有朋友反映有问题。
- 图片放大用highslide.js,替换原来的simple lightbox插件的功能。
- wpdiscuz终于也不用了,向速度妥协一定要彻底……所以评论后内容不可修改,评论后回复的邮件通知通过functions.php的内容完成。
- 建立子主题
- 修改代码,主要包括:首页摘要字数,禁用自动生成其他尺寸图片,关闭文章修订,加入评论邮件通知功能
- 禁用上传图片文件的多种尺寸 / 详解如何禁用WordPress自动生成的不同尺寸的图片
- 首页显示摘要 / WordPress首页显示文章摘要(主题Twenty Sixteen) / WordPress twentysixteen主题首页显示摘要 functions.php里限制字数的代码可以参考,文中代码为图片形式且不清晰……修改formmating.php 中的代码应该也可以实现(在twenty-fifteen主题中可以)
- 修改子主题css
css代码中padding:1em 0 ; 上右下左什么顺序来着?……
- 测试站代码和数据库移入主站,并修改其他设置,包括媒体路径
- 由于媒体中为空白,封面图片和相册尝试多种途径不能正常显示,重新添加吧
目前rebuild之后的站点数据库仅2M,而之前已经达到了12M,单posts表就有4M多。还需要考虑以后怎么用aliyun oss,一种方式是改用WPOSS插件,需要在测试站点继续测试开启插件之后的速度、验证关闭插件之后确实不会有之前的问题,因为OSS upload挺拖速度的;另一种是url直接插入图片的内容直接上传到aliyun oss通过img url显示进文章,而封面和相册等图片上传到wp本地。
好吧,使用WPOSS上传会出现错误:图像后期处理失败,可能是服务器忙或没有足够的资源。请尝试上传较小的文件。
后来发现不仅是使用OSS的插件一张图片都不能上传,而wp自由媒体服务上传图片也会遇到这样的问题。测试图片的尺寸都已经调整到了600-900宽度像素之间,而且是横向图片尺寸绝对没有超,wp上传失败的,第二次一般可以成功,不然第三次也能成功。但是如果需要上传的图片多,每次得重新找上传失败的图片再次上传,也比较麻烦。
同样的代码和数据库复制到其他域名的目录和数据库database中,上传则一点儿问题都没有,而该域名下即便是建立一个全新的wp站点,也会有这样的错误提示。玄学!
另外,系统语言为中文,上传图片会出现问题。而如果系统语言为英文,上传上百张图片做测试没有遇到问题。乖乖……So you can’t read Chinese? the most beautiful and powerful language on this planet!?
P.S.中文条件下4张图片以上容易遇到问题,后来functions.php中添加代码之后出问题概率减小,回头测试英文条件下可否完全删掉该代码。
今天测试中文条件下上传也没问题,而和昨天相比,什么改动也没有做……目前数据恢复到了昨天的内容,这样也不需要删除测试的那些图片了……
就这样,遇到挺多诡异的问题,浪费了很多的时间在其中,也没能解决,甚至不明白为什么……之后打算手动上传到aliyun oss,然后通过url的方式插入图片,就像用那些其他的公共图床那样,只不过图片得一张一张插入。另外,之前的主题其实一直还是比较喜欢的,根据季节更换站点颜色的事情也只做了一半……但是为了保证速度第一,还是选用了和原来主题最接近的wp官方主题,毕竟一些非官方的主题执行效率不如官方主题。暂时,对这个主题还是不太习惯,不过多看看应该会很快习惯的~另外,有一些文章的封面和页面中的图片(使用了相册Gallery),不能正常显示,之后慢慢修正,已经整理了一部分内容。
邮件订阅功能暂时还在考虑中,原来的插件太占用数据库空间,所以邮件订阅的朋友请暂时手动查看吧。
是不是疫情期间太无聊了 非要找点事情折腾一下hhhhh 十万块拿到手了没~
没有,申请的单子都还没有寄来……您那边已经收到了吗
兄台的网站速度不慢呀,折腾一番,回到最初。
之前响应慢,后来发现可能主要是oss upload插件拖慢的。重新折腾之后,不考虑这个插件也还是能快一点点。😄
太复杂了,不敢折腾啊
当时有点慢,没啥问题当然还是尽量不折腾的好~多写文章挺好
我曾经测试过把WP转成Typecho
还算成功,然后没有正常转移博客
因为找到了WP挺简洁的一个主题
还算得我心
确实挺简洁的~
不允许调试,不允许右键,这操作挺骚
哈哈,朋友给弄的~
数据库 是有插件可以批量改动的
也尝试过了,用sql命令直接改数据库也试过……问题不是数据库里的记录链接是错的,而是记录的时候少了什么参数……
不过现在的问题就更奇怪了,压根不能上传,建立一个全新的也不行,所以说玄学。
好像很复杂的样子呢!!没那么复杂吧!!先恢复好网站,然后在后台就可以更新链接了!!
额,你可能没仔细看内容。
文章里的单张图片,即便不做任何的更改,图床链接有效,就是可以显示的。后台媒体页、文章插入的gallery以及封面图片不能显示。但是编辑的时候可以看到,所以路径绝对没有问题……
都有写。
13年坚持到现在 厉害啊。
教你一招,正文里要链接自己的时候不写域名,这样以后换域名的时候就什么都不用改。
比如这篇,href里只放“/blog-rebuild-log-on-202005/”。
对,这个确实是得平常准备好,不然到时候数据库又得多一条改动……
后台媒体页不显示可能是无解的,就算有,我应该是不知道的。我在多次迁移站点时候也碰到过,只能重新上传一遍。迁移到aliyun的那次,也不显示了……我的策略就是忽视它,反正没什么人会去看媒体页面的……
上传出现错误可能是ali oss设置的防火墙的问题。我也碰到过,反正我都压缩到1000px的,出现几率并不很高。
手动上传ali oss人肉插入url目测太痛苦了吧。而且不能用手机wp app即时插图更新文章,目测一点乐趣也没有了。
咨询WPOSS,回复是“防盗链需要放行”,可是之前也没有防盗链的设置,后来设置了没什么变化……之后对方也没回复了,不知道是不是与我没说“谢谢回复”有关系……一看到回复,忘了。
后台媒体页不显示我猜想是和数据库里的什么字段有关系,造成它无法关联读取,但是点击编辑媒体又可以看到图片,那路径肯定是对的……主要是插入的相册也一同不显示了……它在文章里没有链接,就是中括号里面图片对应的id……
我也是想着那就重新上传一遍吧,结果呢,都已经重新在主站布置好了,安装插件直接无法上传……而且不用插件上传本地也有一定概率的失败,很奇怪……挺折腾的……重新安装一个wp,只安装oss upload或者wposs,还是无法上传……aliyun oss那边什么设置都没改过。这逼得以后只能手动上传了。
图片rename的时候,我会习惯让后面带上数字编号。classic editor通过url里插入一张图片,然后复制,修改数字就可以不用一张张插入,图片多的情况下应该比较helpful,少的情况下一张张也问题不大。
手机上我也没装wp app,ios系统版本没升级,不给装……反正发文章都是用电脑先在word里编辑文字,发文的时候直接复制进去,然后再整图片。
这回复过了一年才看见。
防盗链不是要设置的吗,比如白名单之类。
对象存储/Bucket 列表/feliwuyan/权限管理
读写权限 公共读
防盗链
Referer https://*.feiliwuyan.com
空 Referer 允许
跨域设置
编辑跨域规则
来源允许 https://*.feiliwuyan.com
允许methods 都勾上
允许headers *
等等
这些可能当时已经设置了,现在已经不记得具体内容了……
看到我头都晕了……
想起我以前也多次经历这样的过程,从msn space->wordpress.com->自建站->A服务器->B服务器->C服务器->D服务器->返回C服务器……
现在折腾不动了……
说实话我都晕的不行了……
好详细,加点插图就是一篇WP教程了。我比较喜欢Emlog,娇小可爱,哈哈!
一堆诡异的问题没搞明白…还教程🤣
试试这个试试那个浪费不少时间都郁闷了
3路18弯后,能折腾出个结果,也不枉费了时间;不然,后悔死了。
嗯,现在速度很快,基本都是秒开,w老师也帮我留意留意~昨天发现用微信打开页面加载慢,估计是因为google字体,因为微信默认用自己的服务器加载。
加了限制字体的代码之后貌似有一点改善,但是还是不如用浏览器打开快。
你要感谢我,要不是我上个月给你提了很多意见,你还想不到。
现在速度杠杠的,而且界面也清新了很多。
哈哈,感谢~
不过界面没以前的好看了……