数据库法实现WordPress全站图片快速转webp格式

关于webp图片格式之前老白博客写过相关介绍,简单一句话总结就是更省空间、更省带宽,网页加载速度更快!之前介绍过一款WordPress插件Images to WebP,比较适用于图片较少的网站,今天给大家介绍的是“数据库法实现WordPress全站图片快速转webp格式”,适用于图片量比较大的。详细的教程如下:

论WordPress全站图片快速转webp格式

现有的很多插件都支持将WordPress全站图片转webp,但是有两个小问题

①.当全站图片量比较大(>1000),服务器性能又跟不上,转webp费时费力,还一直占用服务器;

②.目前老白没有遇到任何一个插件支持将已有图片webp化同时修改数据库的,简单说就是文章里面的图片地址仍旧是非webp的,比如Images to WebP这个就是通过伪静态跳转规则实现的。

因此,如果你的图片量大,老白个人推荐下面的方法:

1.服务器打包全站图片

宝塔面板为例,WordPress网站上传的图片路径一般为:/www/wwwroot/test.xcbtmw.com/wp-content/uploads

论WordPress全站图片快速转webp格式

因此,我们只需要打包,下载该文件夹到电脑本地即可

2.本地转webp处理

图片转webp的Windows工具非常多,老白博客推荐caesium,优点是不会破坏原有图片的位置,支持将整个文件夹拖进去处理。

2.1设置图片webp效果

这里可以选择设置每种图片转为webp后的质量,数值越低,压缩效果越好,但是图片质量就越差,老白设置的如下

提示
如勾选无损压缩,则图片质量为最好

论WordPress全站图片快速转webp格式

2.2 原目录结构输出

其他相关设置自行探索,注意此处勾选原目录结构

论WordPress全站图片快速转webp格式

2.3 上传替换图片

把原来的图片删除或自己打压缩包备份,上传转webp后的图片到服务器

注意
操作有风险,请注意备份网站和数据库

3.数据库替换图片地址

数据库语句是最强大,最简单的WordPress批量修改方式了,任何WordPress插件都替代不了。老白之前写过不少数据库妙用,如下:

WordPress网站批量修改替换文章内容关键词

7B2主题批量修改文章/圈子话题隐藏内容阅读权限

WordPress网站7B2主题批量修改文章样式

3.1 方法原理介绍

今天这个也是非常相似,操作原理十分简单,就是搜索替换而已,原来的图片地址为:

https://test.xcbtmw.com/wp-content/uploads/replace/a9348cbbf79c3e39e675858324510a4c.png

如果我们将图片转为webp后,那正确的图片地址就变为:

https://test.xcbtmw.com/wp-content/uploads/replace/a9348cbbf79c3e39e675858324510a4c.webp

3.2 数据库语句

一般需要修改图片地址的就是两个位置:WordPress文章内容和文章特色图片,这两个对应的字段名是post_content字段和postmeta

论WordPress全站图片快速转webp格式

一般特色图片是自动获取的,所以postmeta表一般不用进行修改,我们只需要修改post_content字段

UPDATE wp_posts SET post_content = REPLACE(post_content, '.jpg', '.webp'

依次替换即可,注意某些表名以及标点符号,中英文的,再次提示:记得备份数据库!!!

如meta还需要修改,则参照下面这个

UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, '.jpg', '.webp')

3.3 结束语

这个是适用于对WordPress网站已有图片的,对于新上传的图片,大家在选择webp的WordPress插件的时候,建议考虑以下两点:

  • 插件支持设置转webp的速度/数量,确保插件运行不会影响服务器运行
  • 插件卸载后,不影响网站使用(就是文章里面的图片地址已经是webp的地址了)

推荐一个plus webp插件:https://www.bufanz.com/post/178.html