网站图片从 wordpress 搬迁到图床 图片路径批量替换实现方法

网站优化评论2,03213字数 1927阅读模式

之前发表过一篇 WordPress 图片路径批量替换方法 的文章,简单介绍了 WordPress 图片路径批量替换的方法,但这个方法仅限于修改图片部分路径,比如替换域名。今天为大家简单介绍一下网站图片由 WordPress 整体迁移到 Chevereto 图床的实现方法。

网站图片从 wordpress 搬迁到图床 图片路径批量替换实现方法

整体思路

使用下载工具将图片批量下载下来,然后将图片批量上传到 chevereto 图床,最后根据对照关系再批量修改图片的 URL。

具体实现

1、获取图片URL

使用 SQL 语句获取所有图片的 URL,列名称为 guid。假设总共有1000 张图片,则可以获取到 1000 个 URL。

SELECT * FROM `wp_posts` WHERE post_type='attachment'

2、批量下载图片

将这 1000 个 URL 粘贴到下载工具(比如迅雷)中,将图片批量下载到本地,比如 /opt 目录。

3、批量上传图片

将 /opt 目录下的 1000 张图片上传到 chevereto 图床,chevereto 图床支持批量上传。

4、寻找对照关系

可以通过 SQL 语句查询和比较得出图片在 wordpress 中和在 chevereto 中的 URL 对照关系。假设某张图片在 wordpress 中的URL为:

https://www.pieruo.com/wp-content/uploads/2020/05/gravatardefault.jpg

而在 chevereto 中的URL为:

https://oss.pieruo.com/2020/07/26/e7Ir.jpg

这样,就得到了这一张图片 URL 的对照关系,同样,可以得到另外 999 张图片的 URL 对照关系。

5、建立对照关系

为了方便起见,可以将上述 wordpress 中的 URL 另存为 a.txt(每行一条,共 1000 行),将 chevereto 中的 URL 另存为 b.txt(每行一条,共 1000 行),注意这两个文件中的内容顺序要对应。

a.txt 文件内容如下:

https://www.pieruo.com/wp-content/uploads/2020/05/gravatardefault.jpg
https://www.pieruo.com/wp-content/uploads/2020/06/up1.png
https://www.pieruo.com/wp-content/uploads/2020/07/a566652de1c.jpg
...

b.txt 文件内容如下:

https://oss.pieruo.com/2020/07/26/e7Ir.jpg
https://oss.pieruo.com/2020/07/26/MFj.jpg
https://oss.pieruo.com/2020/07/26/Idr.jpg
...

6、生成SQL语句

通过脚本读取上述两个文件的内容并生成下面的 SQL 语句:

UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://www.pieruo.com/wp-content/uploads/2020/05/gravatardefault.jpg', 'https://oss.pieruo.com/2020/07/26/e7Ir.jpg' );
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://www.pieruo.com/wp-content/uploads/2020/06/up1.png', 'https://oss.pieruo.com/2020/07/26/MFj.jpg' );
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://www.pieruo.com/wp-content/uploads/2020/07/a566652de1c.jpg', 'https://oss.pieruo.com/2020/07/26/Idr.jpg' );
...

7、执行SQL语句

然后在数据库中批量执行上述 SQL 语句,可以分 10 次执行,每次执行 100 条。这样就可以将 wordpress 文章中旧图片 URL 替换为新图片 URL。

注意事项

  • 本文中提到的 SQL 操作存在一定的风险,操作前需要备份数据库。
  • 具体操作起来可能有一定的难度,大家可以自行研究一下。

结束语

本文中描述的方法不仅仅适用于网站图片由 wordpress 整体搬迁到 chevereto 图床,也适合于图片由一个图床搬迁到另一个图床,以及图片由 chevereto 图床搬迁到 wordpress,大家可以根据实际情况调整即可。如果有任何意见或建议,欢迎在下方评论处留言。

本文已通过「原本」原创作品认证,转载请注明文章出处及链接。

夏日阳光
  • 本文由 夏日阳光 发表于 2022年1月26日
  • 本文为夏日阳光原创文章,转载请务必保留本文链接:https://www.pieruo.com/201.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证