大家好,今天我们将探讨一些提升WordPress后台图片上传速度的方法。以前在使用WordPress上传图片时,尤其是批量上传时,常常会遇到错误,导致数据库负担过重。接下来,我们将讨论如何优化WordPress的图片上传速度,减少数据库的查询压力。
避免使用简单命名如“1.jpg”以降低数据库查询:
很多用户在命名图片时比较随意,像使用“1.jpg”这样的名称。这样在WordPress上传图片时,系统会检查“1.jpg”是否已存在,并自动将其重命名为“1-2.jpg”。如果“1-2.jpg”也存在,系统会继续重命名,形成一个循环,造成数据库查询的负担。
若您不想命名图片,可以尝试下面的方法。
自动重命名中文图片以减少SQL查询:
情况1:若您使用的是Windows服务器,上传中文文件名的图片时可能会出现错误,提示“上传时发生错误,请稍后再试。”虽然可以用插件将中文名转换为拼音或英文,但这会影响上传性能。我们可以通过一段代码实现自动重命名。
情况2:如果上传的图片名称重复,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”。如果您不熟悉代码操作,可以参考使用代码片段的安全添加方法。
当然,您也可以直接使用插件:“WordPress图片自动重命名插件Unique Rename Image File Upload”。
自动压缩上传的JPG格式图片:
对图片进行压缩可以节省流量并加快网站加载速度。WordPress默认提供了图片压缩功能,我们可以设置压缩比例,但需注意仅支持JPEG格式。
将以下代码添加到functions.php中以设置压缩率:
“`php
add_filter(‘jpeg_quality’, create_function(”, ‘return 90;’));
“`
代码中的90表示压缩率,可以根据需求进行调整。
如果您有其他格式的压缩需求,可以使用“EWWW Image Optimizer”插件,支持JPG、PNG甚至GIF格式,并提供格式转换功能,如转换为WebP格式。

减少WordPress生成的缩略图:
在上传图片时,WordPress默认会生成三种尺寸的缩略图,这可能会影响虚拟主机或小内存VPS的性能。我们可以选择取消这些缩略图,或仅生成一种尺寸的缩略图。
在WordPress后台设置中,导航到“媒体”选项,找到“图像大小”,将不需要的缩略图尺寸设置为0即可。
如果您确实不需要缩略图,可以彻底禁用它,添加以下代码到functions.php中:
“`php
//彻底禁止WordPress缩略图
add_filter(‘add_image_size’, create_function(”, ‘return 1;’));
“`
清理未使用的缩略图:
如前所述,禁用缩略图后,之前生成的缩略图文件仍旧占用空间,手动清理会非常麻烦,因此我们可以使用插件。
“Delete not used image”是一款可以自动搜索未使用缩略图的插件。
1. 使用“Delete not used image”前,建议先备份,可以在选项中找到备份系统,创建备份文件夹。
2. 在选项中设置显示原图,确保原图不会丢失。
3. 点击“Images”开始查找缩略图,然后选择“Delete all”删除所有未使用的缩略图。

如果缩略图文件过多,可能需要耐心等待,状态会显示“Fetching server…”。
通过上述优化设置,您会发现后台上传图片的速度显著提升,现在可以放心大胆地上传图片,而不必担心数据库查询过多造成的问题。
