当前位置:网站首页 >  百科

迅睿CMS图片压缩优化实操全指南 零门槛落地提升网站打开速度

时间:2026年06月11日 06:33:36 来源:易频IT社区

一、前期准备

本次优化不需要额外购买服务,仅需要确认你的迅睿CMS版本为V4.4及以上,低于该版本可直接在后台点击「在线升级」完成更新,无需手动操作。

PHP环境默认开启GD库即可满足需求,大部分虚拟主机、服务器都默认开启,如果未开启,只需编辑php.ini配置文件,去掉extension=gd行前的分号,重启PHP即可。

二、配置缩略图自动压缩

2.1 进入配置页面

登录迅睿CMS后台,依次点击菜单:系统 → 系统设置 → 附件设置 → 图片处理,进入图片参数配置页。

2.2 设置压缩参数

找到缩略图清晰度配置项,默认值为100,直接修改为75-85区间,该区间压缩率可达50%以上,人眼几乎无法分辨画质差异。

如果你的服务器支持ImageMagick,直接勾选「开启ImageMagick处理」,它比GD压缩率更高、画质更好,检查是否支持的方法:

  • Linux服务器执行命令:which convert,输出具体路径(如/usr/bin/convert)即说明支持
  • 虚拟主机用户可直接咨询空间商确认

三、开启原图上传自动压缩

迅睿CMS默认不压缩上传的原图,通过钩子可以快速实现上传后自动压缩,步骤如下:

3.1 添加钩子代码

后台依次点击:系统 → 系统开发 → 应用钩子 → 添加新钩子,按如下信息填写:

  • 钩子名称:upload_after
  • 钩子说明:上传图片后自动压缩原图
  • PHP代码:直接复制下方完整代码,可根据需要修改第3行的压缩质量,推荐保持80即可
``` // 仅处理图片类型附件 if (!in_array(strtolower($data['file_ext']), ['jpg', 'jpeg', 'png', 'webp'])) { return $rt; } $file_path = SITEPATH . $data['file']; $quality = 80; // 压缩质量,可在70-90之间调整 $ext = strtolower($data['file_ext']); // GD库压缩处理 if ($ext == 'jpg' || $ext == 'jpeg') { $img = imagecreatefromjpeg($file_path); imagejpeg($img, $file_path, $quality); imagedestroy($img); } elseif ($ext == 'png') { $img = imagecreatefrompng($file_path); imagepng($img, $file_path, round($quality / 10)); imagedestroy($img); } elseif ($ext == 'webp') { $img = imagecreatefromwebp($file_path); imagewebp($img, $file_path, $quality); imagedestroy($img); } return $rt; ```

填写完成后点击保存即可,之后所有新上传的原图都会自动压缩。

四、批量压缩已有历史图片

迅睿CMS图片压缩优化实操全指南 零门槛落地提升网站打开速度

对于已经上传到网站的历史图片,通过系统自带的批量功能即可完成压缩:

4.1 进入批量处理页

后台依次点击:内容 → 附件管理 → 批量整理附件

4.2 执行批量压缩

在整理选项中勾选重新压缩图片,压缩质量填写和前面一致的数值(推荐75-80),选择「所有附件」后点击开始执行。

如果附件数量超过1000张,系统会自动分页处理,无需手动操作,等待执行完成即可。如果执行过程中意外关闭页面,重新进入再次执行即可,系统不会重复处理已经压缩完成的图片。

五、进阶:开启WebP自动转换进一步压缩

开启WebP转换后,图片体积可以再降低30%以上,步骤如下:

5.1 开启系统自动转换

回到系统 → 系统设置 → 附件设置 → 图片处理页面,勾选自动生成WebP格式图片,清晰度同样设置为75-80,保存配置。

5.2 添加服务器适配规则

添加规则后,支持WebP的浏览器会自动加载更小的WebP图片,不支持的浏览器自动回退到原图,根据你的服务器类型选择对应配置:

Nginx用户添加以下配置到server块中,添加完成后重启Nginx生效:

``` location ~ ^.+\.(jpg|jpeg|png)$ { if ($http_accept ~ "webp") { if (-f $request_filename.webp) { rewrite ^(.)$ $1.webp break; } } expires 30d; } ```

Apache用户添加以下配置到网站根目录的.htaccess文件中:

``` RewriteEngine On RewriteCond %{HTTP_ACCEPT} image/webp RewriteCond %{REQUEST_FILENAME} (.)\.(jpg|jpeg|png)$ RewriteCond %{REQUEST_FILENAME}\.webp -f RewriteRule ^(.)\.(jpg|jpeg|png)$ $1\.$2\.webp [L,T=image/webp] ```

六、效果校验与常见问题

6.1 优化生效校验

  • 上传一张1MB左右的原图,查看附件列表中文件大小,如果压缩后为300-500KB说明压缩生效
  • 打开浏览器F12开发者工具的网络面板,刷新页面查看图片格式,显示webp说明转换生效

6.2 常见问题解决

  • 压缩后画质偏模糊:适当调高压缩质量,每次调整5个百分点,直到满足需求即可
  • 批量压缩执行中断:修改php.ini中max_execution_time参数为300,或者分多次执行批量处理
  • WebP不生效:检查配置规则是否正确添加,确认已经重启Web服务器生效

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图