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

发布于 2020-07-26

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

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

整体思路

使用下载工具将图片批量下载下来,然后将图片批量上传到 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://cdn.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://cdn.pieruo.com/2020/07/26/e7Ir.jpg
https://cdn.pieruo.com/2020/07/26/MFj.jpg
https://cdn.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://cdn.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://cdn.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://cdn.pieruo.com/2020/07/26/Idr.jpg' );
...

7、执行SQL语句

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

注意事项

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

结束语

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

喜欢 9
奋楫笃行,臻于至善!

相关文章

Chevereto 首页显示图片托管数量的实现方法

使用过 chevereto 图床程序的朋友可能都有在自己的网站首页显示托管图片的数量的需求,而这个功能需要我们手动去实现,网上有很多这方面的教程,但大多都过于繁琐。本文分享一种比较简单通用的方法,供大...
阅读全文

Chevereto 图床程序注册页面添加通过邀请码注册功能

Chevereto 是一个图床程序,如果开启注册功能的话,那么所有人都可以在平台注册帐号,为了防止某些人上传非法照片,我们可以添加一个邀请码注册的权限,那么,如果想注册帐号,就需要先得到邀请码。可以根...
阅读全文

使用 python 脚本实现自动监控网站并发送邮件告警

今天中午的时候,网站莫名奇妙地出现无法访问的现象,持续了两个多小时,等发现问题的时候立刻重启了服务器才恢复正常。为防止同样的事情再次发生,所以就想编写一个自动化脚本来监控网站服务,今天为大家分享一下使...
阅读全文

wordpress 添加评论回复邮件通知提醒功能开关

wordpress 添加评论回复邮件通知提醒功能开关 实现方法 首先将邮件回复html部分进行结构调整至如下形式,主要就是外层盒子加上mail-notify类,而input标签加上“notify”类。...
阅读全文

关于网站优化及提升网站流量的几点建议

可能好多站长有这样的困惑,自己辛辛苦苦经营了好多年的网站,网站的流量却迟迟没有变化。网站的流量的多少,是网站生命力最直接的体现,如果网站的流量较高,这在很大程度上会激励站长们继续创作下去,反之,站长们...
阅读全文

CSS3 属性 font-smoothing 字体平滑处理和抗锯齿渲染

在浏览网页的时候,偶然看到某个网页的字体特别清晰细致,所以就很想知道它使用了什么字体或样式。后来才发现原来是 -webkit-font-smoothing 这个 CSS 属性渲染的结果,这个属性可以对...
阅读全文

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注