互联网技术 · 2023年11月25日

优化WordPress图片上传速度的方法,降低数据库查询频率

大家好,我是雷锋哥。今天给大家介绍WordPress优化后台上传图片的一些方法,之前雷锋哥在WordPress后台上传图片时,有时候会遇到错误,特别是多图一起传的情况,数据库容易负载高,下面给大家讲解下如何优化WordPress上传图片速度,减少数据库查询。

WordPress上传的图片不要命名为1,否则会加大数据库查询:

有些人懒得图片命名,就随便来个1.jpg,这样WordPress后台上传图片的时候,会检测图片1.jpg是否已经有了,然后自动重命名 1-2.jpg,如果 1-2.jpg 也有了,就继续自动重命名,一直循环下去,数据库查询鸭梨山大。

如果实在懒,可以看下面的方法。

WordPress中文名称图片自动重命名 / 减少SQL查询:

情况1:如果你是Windows服务器,上传中文名称图片是会提示出错的,提示“上传时发生错误,请稍后再试。” 虽然可以用插件来自动转换成拼音/英文,但会影响上传图片时的性能,这里用一段代码让上传图片的时候自动重命名就可以了。

情况2:WordPress上传的图片名称重复太多,WordPress需要查询数据库后,重新命名图片,图片太多的情况,还有可能导致数据库挂了。

解决方法很简单,把下面的代码加在 functions.php 中: “`php add_filter(wp_handle_upload_prefilter, custom_upload_filter ); function custom_upload_filter( $file ){ $info = pathinfo($file[name]); $ext = $info[extension]; $filedate = date(YmdHis).rand(10,99); $file[name] = $filedate…$ext; return $file; } “` 原理就是根据上传时间给图片重命名,例如:2019092010182810.jpeg

如果你不会添加代码,可以参考:安全添加代码到functions.php文件的方法:Code Snippets

当然,你也可以直接使用这个插件:WordPress图片自动重命名插件Unique Rename Image File Upload

WordPress上传JPG格式图片自动压缩:

压缩图片,可以节省流量,加快网站加载速度。WordPress 默认提供了图片压缩功能,我们可以设置压缩率,需要注意的是,只支持JPEG格式的图片。

把下面的代码加在 functions.php 中: “`php add_filter( jpeg_quality, create_function( , return 90; ) ); “` 代码中的 90 就是压缩率了,根据自己需求调整压缩率。

有其它图片压缩需求的,可以用「EWWW Image Optimizer」插件,支持JPG,PNG,甚至GIF。而且还提供了在压缩的时候,将图片格式进行转换的功能,比如转换成WebP格式,以及JPG和PNG之间的互转。

![优化WordPress上传图片速度几种方法,减少数据库查询](https://tianxun.xyz/Images/easyvpn24/AUbZ6L4cUO.jpg)

同类型的压缩图片插件还有很多,你可以选择一个自己用的顺手的安装使用。

减少WordPress上传图片的缩略图:

WordPress上传图片的时候会自动生成3种尺寸的缩略图,对虚拟主机/小内存的VPS多多少少会影响到性能,我们可以取消掉,或者只生成一种尺寸缩略图。

在 WordPress 后台设置 → 媒体里面 → 图像大小,把不需要生成的缩略图尺寸改为0就可以了。

如果你真的不需要缩略图,那就彻底关闭它吧。

把下面的代码加在 functions.php 中: “`php //彻底禁止WordPress缩略图 add_filter( add_image_size, create_function( , return 1; ) ); “` 相关文章:禁止WordPress 5.2.1自动剪裁缩略图功能

清理WordPress没用到的缩略图:

上面说到禁用缩略图,那么之前生成的缩略图片很占用空间,手动清理那要崩溃,我们借助插件吧。

「Delete not used image」一款可以自动搜索没用到的缩略图插件。

1.使用 Delete not used image 前,Delete not used image 会提示你先备份(建议先备份吧),在 options 里面的 Backup system / Create backup folder 可以备份,或者你自己通过其它方法备份也行。

2.在 options 里面的 _ Show,设置 original,直接 点击 就可以了,可以保证原图不会丢失。

3.点击 Images 就会开始查找缩略图图片了,然后 Delete all 全部删除

![优化WordPress上传图片速度几种方法,减少数据库查询](https://tianxun.xyz/Images/easyvpn24/kEFxO3Zi3v.jpg)

如果你的缩略图文件太多,可能要等待很久,会一直Fetching server…状态,耐心等待。

通过上面的优化设置,你会发现后台上传图片快了不少,现在开始放心大胆的上传图片吧,不怕数据库查询过多导致挂了。

其他相关文章: 做网站如果图片加载慢怎么办_网站图片加速的3种方法 统计WordPress网站图片数量、格式和大小的方法 免代码修改WordPress网站登录界面LOGO和图片 WordPress自动给图片添加ALT和标题名称

本文是全系列中第18 / 20篇:WordPress优化

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.