说起这个话题就有些大了,因为压缩 WordPress 的数据不是一两件事情,包括文件压缩、插件压缩、主题代码压缩、数据库压缩,等等。这里着重说的是文件压缩,更确切的说,是本站图片文件的压缩。当然图不多的无所谓,但对像我这样从 MSN Space 迁徙过来的、八年来图片越来越多的站点来讲,即使 2012 年的时候有过一次大的压缩(见《压缩博客磁盘空间》),后来又陆陆续续不停的优化,但最近又觉得压缩文件势在必行,非干不可了。

之前曾想要偷懒,找了几个插件在线压缩图片,但试过后都失败了,主要是服务器不给力。能想到最简单直观又不容易出错的办法便是自己将服务器备份到本地后将 upload 文件夹下所有图片减肥后重新上载。

1、从前 WordPress 设置不当,导致上传的图片全都自动生成了两到三个甚至六个文件。

WP碎片
WP 碎片

虽然目前已经改了(如下图),但如何将它们去除成了一大问题。

resize
resize

简单粗暴的办法是直接将后缀有例如 “_600x198” 这样的图删除,但带来的问题是不少文章其实直接就连接了这样的图片,容易造成空窗。解决办法很笨但也很有效,利用 WordPress 强大的搜索功能搜索带有例如 “DSC_00001_600x198” 这样文件名的文章,如能搜到说明该图被占用,如果搜不到就可以直接删除。

delete files
delete files

2、搜索超过 100kb 的文件,这样的文件一般都是尺寸过大,在大部分文章中用不到这么大尺寸,可以直接将其用 ACDSee 等软件批量压缩到 500×500 以内。

3、下载 JPGmini 和 PNGmini 这两个软件,将删除冗余文件后的文件夹分别拖到这两个软件内,可在视觉无明显差异前提下有效压缩图片体积。

JPGmini
JPGmini
PNGmini
PNGmini

将优化过后的图片直接上载覆盖原图即可。

4、到后台找出站点的 cache 和 backup,将这些文件删除。

5、将 PNG 图片逐渐替换为 JPG 图片,尤其是一些毫无必要高清大图的插图。(这要怪笨蛋微软的 Windows Live Writer,直接截屏后粘贴的图片默认都是 PNG 格式,导致以前上传了不少 PNG,实在浪费空间资源)

经过一晚上的努力,收效良好,进一步压缩了 50Mb——别小看这区区几十 Mb,可是压缩了上百个文件每个文件压缩几十 Kb 得来的!后续拟继续压缩以便腾出更多地方来,以及一些中文文件名乱码的也要慢慢调过来。

有种大扫除后干干净净的感觉!

共有 11 条评论

  1. 被你一说,我很怀念 Msn Space 了,那毕竟是人生第一个博客

    如果不是它,兴许我就不会有写日记的习惯那么多年。

    然后把习惯变成一大爱好,再从爱好出发搭建了 WordPress,然后再在这里遇到你

    最后,被写完这种矫揉造作文字的自己给恶心到了

    Google Chrome 26 Google Chrome 26 Windows XP Windows XP
  2. 那都是以前的图片的原因,现在用云相册,只要上传了原图,然后设定缩略图样式就可以了,以后要改就编辑缩略图样式,而图片链接都不用改。所以科技还是很进步的。 😉

    Google Chrome 33 Google Chrome 33 Windows XP Windows XP
      1. @Yan 我觉得在没有更好的方法之前,旧的照片还是维持原样比较好;如果实在要换,就整个文件夹地下载、上传,然后批量更换前缀,其实我也没有更好的方法,所以图床这种事情是百年大计啊,要高瞻远瞩

        Google Chrome 33 Google Chrome 33 Windows XP Windows XP
  3. 确实比较复杂,如果有人写出这种插件就好了,搜索了一下,觉得要实现的方法就是进入数据库修改,应该要用到 sql 语句,虽然一般数据库对我来说是禁地,但是要实现的话原理上应该是可行的。可以先在本地上模拟一下,确实可行再在线修改,记得备份啊
    WordPress 批量替换域名方法介绍(http://www.111cn.net/wy/wordpress/46729.htm)这篇文章是说本地 wordpress 移到网上,我觉得对于修改前缀也可行。
    其实我也不懂,但是折腾折腾慢慢也能学会

    Google Chrome 33 Google Chrome 33 Windows XP Windows XP

发表评论

电子邮件地址不会被公开。 必填项已用*标注