垃圾桶、WordPress 標誌與檔案夾圖示的黑白構圖

搬家前,我每天都在清掉 WordPress 偷生的縮圖

當你開始認真維護網站,會發現真正花時間的,往往不是寫內容,而是清理內容之外的殘留物。

像我這陣子準備搬家(網站搬家),每天整理文章與圖片結構時,總會發現 WordPress 靜悄悄地幫我『偷生』一堆縮圖檔。

那些 -220x220.jpg-400x250.jpg 的東西,我沒叫它們出現,但它們還是出現了。

我不是不知道 WordPress 有自動縮圖這回事,

但當你希望網站保持乾淨、資料夾有秩序,每天看到那些縮圖

就像桌面出現一堆不請自來的捷徑——

礙眼、打亂節奏、也佔空間。

所以,我建立了一個小儀式:

更新完文章之後,打開 /uploads/,點掉那幾張多餘的縮圖。

那一刻,資料夾變乾淨,心也跟著清爽了起來。

WordPress 的縮圖問題,其實是「主題與外掛亂註冊尺寸」造成的

大多數人知道 WordPress 上傳圖片會自動產生縮圖,

但不知道的是,那些縮圖其實不只是 WordPress 核心產生的,還包含了主題與你裝的外掛偷偷加進來的尺寸設定。

我曾經用過的 Kalium 主題,它光是 Portfolio 模組就會額外生出一堆像 -220x220-600x400 的圖檔。

有些 Elementor 元件甚至會各自產生對應區塊的縮圖尺寸。

你每上傳一張圖片,WordPress 會一次性產出7 到 15 張衍生圖檔,而其中實際會用到的可能不到三張

其他就這樣默默躺在 /uploads/YYYY/MM/ 裡,既佔空間,也不利搬站時管理。


🔧 我的做法:先阻止,後清理

我一開始做的是 「預防新增縮圖」,避免之後每次上傳都要處理更多殘留。

方法是透過以下兩種方式之一:

方法一(改 functions.php):

add_filter(‘intermediate_image_sizes_advanced’, function($sizes) {
// 移除預設與主題註冊的縮圖尺寸
unset($sizes[‘thumbnail’]);
unset($sizes[‘medium’]);
unset($sizes[‘large’]);
unset($sizes[‘medium_large’]);
unset($sizes[‘1536×1536’]);
unset($sizes[‘2048×2048’]);
return $sizes;
});

方法二(裝外掛):

使用外掛 Stop Generating Unnecessary Thumbnails

可視化選擇停用哪些尺寸,對不想改 code 的人比較友善。

清理原則:一張圖會有 10+ 衍生縮圖,只留必要的

搬站或備份時,我會檢查 /uploads 中的圖檔:

  • 用圖檔排序(小圖通常在 50–100KB 之間)
  • 檢查尾碼是否為常見縮圖格式(例如 -150x150-400x250-220x220
  • 若同一張圖出現多個不同尺寸的版本,就會只保留原圖與文章實際嵌入尺寸

在搬站正式前,我會整批下載 /uploads,再手動刪除掉那些不必要的縮圖

(用 Finder 或檔案管理器篩選帶尾碼的圖檔後批次刪除)


📁 最後:我怎麼確保搬家後不再出現亂圖?

我做了一個小系統:

  • 所有新圖一律用固定命名規則(例如 202506-01_featured.jpg
  • 上傳後每天打開 /uploads/YYYY/MM/ 檢查有無異常衍生圖(我叫它們「漏網之魚」)
  • 有的話就手動清掉
  • 每個月再用 Media Cleaner 或 FTP 檢查 /uploads 根目錄是否有圖片掉出年月資料夾(我稱之為「亂放圖」)

這就是我處理 WordPress 縮圖的方式,

不算專業工程解法,但對於一個長期實作者來說,夠穩、夠實用、夠安心。

這些事情看起來麻煩,實際做起來其實不難。

縮圖清理不是什麼專業技術,也不是非得用什麼高級工具才行。

它更像是一種網站維護者的基本習慣:

你知道哪些東西該留下、哪些可以刪除。

你願意每天花一點點時間,讓整個網站系統維持可控。

我沒有用什麼自動化批次規則,沒有外包給誰,也沒有期待 WordPress 幫我處理好一切。

我做的只是每天寫完文章後,打開檔案管理器,清幾張多出來的縮圖而已。

這個動作只花不到兩分鐘,卻能讓我確定一件事:

我的資料夾是乾淨的。

我知道網站裡每一張圖是怎麼進來的、為什麼在那裡。

而這種「我知道」本身,就是安心。

這是我給自己設定的一種節奏,一種搬家前的清理儀式。

網站搬不搬是其次,心裡乾不乾淨比較重要。