Google / VPN技术 / 互联网技术 · 2024年3月2日 0

提高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 中:

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 中:

add_filter( jpeg_quality, create_function( , return 90; ) ); 

代码中的 90 就是压缩率了,根据自己需求调整压缩率。

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

提高WordPress图片上传速度的方法,减少数据库查询

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

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

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

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

提高WordPress图片上传速度的方法,减少数据库查询

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

把下面的代码加在 functions.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图片上传速度的方法,减少数据库查询

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

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