优化WordPress上传图片速度、减少数据库查询几种方法

科技菌 2019-10-9 3074

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

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



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

把下面的代码加在 functions.php 中:

//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 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」全部删除



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

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

推荐阅读
  1. 咖啡已成为很多人生活中不可或缺的一部分~顶刊「Science」上数据统计显示,全世界平均每天要消耗22.5亿杯咖啡,杯子连起来简直能绕地球7.5圈。虽然中国全国范围内的人均咖啡饮用杯数仅为9杯/年,但在一二线城
  2. 结直肠癌是美国第三大常见癌症,在过去二十年中,年轻人的发病率一直在上升。结直肠癌包含两种癌症:结肠癌和直肠癌,前者起病于大肠,后者起病于大肠的末端,称为直肠。  梅奥诊所胃肠病专家 Derek E
    梅奥诊所:结直肠癌的预防与筛查, 如何降低患结直肠癌风险
最新评论 (0)

Copyright © 2024 chuihu.com

京ICP备15036784号-5

T: 0.012, S: 18