Products
GG网络技术分享 2025-03-18 16:12 0
使用 WordPress 网站系统平台的应对Compress JPEG & PNG images插件不陌生,这是一个可以实时对 WordPress 站点上传的图片进行无损压缩的插件,功能还是非常强大的,唯一让人抓狂的是免费使用的话每月有 500 个图片处理限制,对于新站点来说可能无所谓的,对于老站点来说这 500 个很明显是无法满足需要的,特别是已经上传的图片受制于这个限制就无法进行无损压缩了,今天明月给大家分享一个在 Linux 控制台终端命令行式对站点的图片进行批量无损压缩的方法,昨晚明月就在自己站点都实测过,效果不是一般的好,有些图片压缩率甚至超过 50%,这对站点空间占用的减少以及前端浏览载入速度的提升都是很明显的。
开始之前我们先了解一下什么是无损图像压缩技术:
无损图像压缩
无损压缩的基本原理是相同的颜色信息只需保存一次。压缩图像的软件首先会确定图像中哪些区域是相同的,哪些是不同的。包括了重复数据的图像(如蓝天) 就可以被压缩,只有蓝天的起始点和终结点需要被记录下来。但是蓝色可能还会有不同的深浅,天空有时也可能被树木、山峰或其他的对象掩盖,这些就需要另外记录。从本质上看,无损压缩的方法可以删除一些重复数据,大大减少要在磁盘上保存的图像尺寸。但是,无损压缩的方法并不能减少图像的内存占用量,这是因为,当从磁盘上读取图像时,软件又会把丢失的像素用适当的颜色信息填充进来。如果要减少图像占用内存的容量,就必须使用有损压缩方法。
无损压缩方法的优点是能够比较好地保存图像的质量,但是相对来说这种方法的压缩率比较低。但是,如果需要把图像用高分辨率的打印机打印出来,最好还是使用无损压缩几乎所有的图像文件都采用各自简化的格式名作为文件扩展名。从扩展名就可知道这幅图像是按什么格式存储的,应该用什么样的软件去读/写等等。
对于我们博客站点来说除非是专业需求,一般对图片的质量要求都不会太高,所以无损压缩几乎成了网站一种固定的优化方式之一,简单来说就是图片占用空间小了自然在前端浏览器载入的时间也会缩短,在『说说 WordPress 的特色图像(Featured Image)』和『博客站长务必要养成的好习惯』两篇文章里明月对此有很明确的阐述,有兴趣的站长可以阅读参考。
在 Linux 中有不少图片无损压缩的工具,比较著名并使用最多就是 OptiPNG 和 jpegoptim 这两个了,这两个工具默认参数的情况下,无损压缩出来的图片肉眼几乎很难看出差别,压缩比还是很喜人的,并且借助 find、xargs 等终端命令就可以轻松实现对某个目录以及子目录的图片进行批量压缩处理,可以说效率还是非常高的,特别适合服务器运维人员使用。
安装(以 CentOS 为例)
yum install optipng
yum install jpegoptim
可以 man optipng 和 man jpegoptim 详细了解 OptiPNG 和 jpegoptim 的优化参数。
批量优化当前目录以及子目录下的指定格式的图片
find . -name \"*.jpg\" | xargs jpegoptim
find . -name \"*.jpg\" | xargs jpegoptim
find . -name \"*.png\" | xargs optipng
如果你的站点图片比较多的话,建议选择在凌晨或者网站访问非高峰时段进行站点图片批量优化压缩,因为大量的压缩会让 CPU 的负载瞬间飙升的,切记切记!
对于 WordPress 站点来说一般只要进入 wp-content/uploads 目录内运行上面的命令即可,Typecho 的话在 usr/uploads 目录内执行。这样优化完成后,WordPress 再结合Compress JPEG & PNG images插件来专门针对未来新上传的图片进行实时压缩,整个站点的图片甚至未来上传的图片都会被无损压缩,也就达到了站点优化的效果。
在使用wordpress网站的时候经常会遇到,上传的图片被剪切压缩。
清晰度也降低了,这主要是wordpress媒体图片尺寸的设置。
只要在我们插入图片的时候,在尺寸里面选择完整尺寸即可。
也可以在设置,媒体里面设置缩略图的大小:
根据自己的需要设置合适的图片尺寸,就可以自动压缩到合适的尺寸了,不会因为模板的限制而引起网站错位。
Demand feedback