WordPress 縮圖尺寸:為什麼一張照片會變成 8 個檔案
WordPress 會把一張大照片變成 8 個檔案:原始檔、一份 -scaled 副本和 6 種尺寸。我們用 28 個熱門佈景主題、WooCommerce 和 Elementor 實測。
簡短回答: WordPress 核心有 6 種圖片尺寸:thumbnail(150×150,裁切)、medium(300)、medium_large(768)、large(1024)、1536 和 2048。大照片還會多一份 2560px 的 -scaled 副本,原始檔也會留在伺服器上。所以在佈景主題或外掛加入任何東西之前,一張相機照片就已經變成 8 個檔案。我們用 WordPress 7.1.4 和 28 個熱門免費佈景主題實際數過,也測了 WooCommerce 和 Elementor。下面是數字、每個佈景主題加入的尺寸,以及每個檔案佔用的位元組。
WordPress 預設的圖片尺寸
以下是 WordPress 核心註冊的尺寸。像素和位元組來自一張 5696×4784 像素(2,416,996 位元組)的照片,上傳到沒有佈景主題尺寸、也沒有外掛的 WordPress 7.1.4:
| 尺寸 | 限制 | 這張照片產生的結果 | 檔案大小 |
|---|---|---|---|
thumbnail | 150×150,裁切 | 150×150 | 7,017 位元組 |
medium | 縮小到 300×300 以內 | 300×252 | 20,395 位元組 |
medium_large | 寬 768 | 768×645 | 110,230 位元組 |
large | 縮小到 1024×1024 以內 | 1024×860 | 182,605 位元組 |
1536x1536 | 縮小到 1536×1536 以內 | 1536×1290 | 367,093 位元組 |
2048x2048 | 縮小到 2048×2048 以內 | 2048×1720 | 600,786 位元組 |
-scaled 副本 | 最長邊 2560 | 2560×2150 | 884,855 位元組 |
| 原始檔 | 保持上傳時的樣子 | 5696×4784 | 2,416,996 位元組 |
加起來是 4,589,977 位元組,等於上傳照片的 1.90 倍。兩個大尺寸 1536 和 2048 佔用的空間,比四個傳統尺寸加起來還多(967,879 對 320,247 位元組)。核心是在 WordPress 5.3 為高解析度螢幕加入 1536 和 2048,2560px 的 -scaled 副本也是在同一個版本推出。
關於這張表的三件事:
- 「設定」>「媒體」只列出 6 種尺寸中的 3 種。 那裡只有 thumbnail、medium 和 large 的欄位,沒有
medium_large、1536 和 2048,所以也無法在那裡關掉它們。 - WordPress 不會產生比上傳檔更大的尺寸。 寬 1200px 的圖片不會有 1536 和 2048;寬和高都不超過 2560px 的照片也不會有
-scaled副本。我們的 8 個檔案是大型相機照片的情況。 -scaled檔案才是頁面使用的「完整尺寸」圖片。 原始檔會保留,但不會顯示。什麼時候該保留這份副本、怎麼關掉它,請看為什麼 WordPress 會在圖片加上 -scaled。
你的佈景主題會多加幾個檔案
我們安裝了 wordpress.org「熱門」清單中啟用安裝數 5 萬以上的 28 個佈景主題。每個佈景主題都在全新的 WordPress 7.1.4 網站上傳同一張照片,換佈景主題前都把核心尺寸重設為預設值:
| 每次上傳產生的檔案數 | 佈景主題數 |
|---|---|
| 8 | 17(16 個什麼都不加,加上 Inspiro) |
| 9 | 6 |
| 10 | 3 |
| 11 | 1(OceanWP) |
| 13 | 1(Sydney) |
28 個佈景主題中有 16 個完全不加入圖片尺寸: Twenty Twenty-Five、Hello Elementor、Astra、Twenty Twenty-Four、Kadence、Twenty Twenty-Three、Extendable、Hello Biz、Blocksy、GeneratePress、Bluehost Blueprint、Twenty Twenty-Two、Royal Elementor Kit、PopularFX、Storefront 和 Colibri WP。用這些佈景主題時,8 個檔案全部來自核心。
會改變結果的 12 個佈景主題:
| 佈景主題(測試版本) | 註冊的尺寸 | 每次上傳的檔案數 | 總位元組 |
|---|---|---|---|
| Sydney 2.73 | sydney-large-thumb 寬 1000、sydney-medium-thumb 550×400 裁切、sydney-small-thumb 寬 230、sydney-service-thumb 寬 350、sydney-mas-thumb 寬 480 | 13 | 4,904,859 |
| OceanWP 4.2.8 | ocean-thumb-m 600×600、ocean-thumb-ml 800×450、ocean-thumb-l 1200×700(全部裁切) | 11 | 4,924,012 |
| Twenty Twenty 3.3 | post-thumbnail 寬 1200、twentytwenty-fullscreen 寬 1980 | 10 | 5,396,559 |
| Twenty Seventeen 4.2 | twentyseventeen-featured-image 2000×1200 裁切、twentyseventeen-thumbnail-avatar 100×100 裁切 | 10 | 5,010,448 |
| Envo Royal 1.0.14 | post-thumbnail 300×300 裁切、envo-royal-img 650×430 裁切 | 10 | 4,680,147 |
| Twenty Twenty-One 2.9 | post-thumbnail 寬 1568 | 9 | 4,970,782 |
| Twenty Nineteen 3.4 | post-thumbnail 寬 1568 | 9 | 4,970,782 |
| Twenty Sixteen 3.9 | post-thumbnail 寬 1200 | 9 | 4,829,143 |
| Neve 4.2.17 | neve-blog 930×620 裁切 | 9 | 4,715,523 |
| Hestia 3.3.9 | hestia-blog 360×240 裁切 | 9 | 4,613,059 |
| Lightning 15.42.0 | post-thumbnail 320×180 裁切 | 9 | 4,606,155 |
| Inspiro 2.2.5 | 加入 inspiro-featured-image 寬 2000、inspiro-loop 950×320 裁切、inspiro-loop@2x 1900×640 裁切;移除 medium_large、1536 和 2048 | 8 | 4,362,744 |
檔案數和佔用空間不會同步變化。Twenty Twenty 只加 2 種尺寸,卻是 28 個佈景主題中最佔空間的,達到原始檔的 2.23 倍,因為它的兩種尺寸都很大(寬 1200 和 1980)。Sydney 加了 5 種尺寸,但沒有一種寬於 1000px,所以比 Twenty Twenty 小。Inspiro 是唯一會移除核心尺寸的佈景主題,產生 8 個檔案,佔用空間最少,是原始檔的 1.81 倍。
簡單的結論是:多出來的檔案大多是 WordPress 核心自己產生的。 在這次測試中,佈景主題最多只讓每次上傳多 5 個檔案、約 0.8 MB。單靠更換佈景主題,很難讓龐大的 uploads 資料夾變小多少。
WooCommerce 和 Elementor 會加入什麼
外掛也能註冊尺寸。我們用 WooCommerce 和 Elementor 重做同樣的上傳,wordpress.org 顯示它們的啟用安裝數分別是 700 萬以上和 1,000 萬以上:
| 佈景主題 + 外掛 | 每次上傳的檔案數 | 原始檔的倍數 | 核心以外加入的尺寸 |
|---|---|---|---|
| Twenty Twenty-Five,無外掛(對照組) | 8 | 1.90 | 無 |
| Astra、Kadence 或 Twenty Twenty-Five + WooCommerce 11.2.2 | 11 | 1.94 | woocommerce_thumbnail 300×300 裁切、woocommerce_single 寬 600、woocommerce_gallery_thumbnail 100×100 裁切 |
| Storefront + WooCommerce | 11 | 1.93 | 同樣 3 種,使用 Storefront 的寬度 324 和 416px |
| Blocksy + WooCommerce | 12 | 1.96 | WooCommerce 的 3 種,加上 Blocksy 的 woocommerce_archive_thumbnail 500×500 |
| OceanWP + WooCommerce | 14 | 2.08 | OceanWP 的 3 種加上 WooCommerce 的 3 種 |
| Hello Elementor、Astra 或 Royal Elementor Kit + Elementor 4.3.6 | 8 | 1.90 | 無 |
- WooCommerce 讓每次上傳多 3 個檔案。 我們的測試照片沒有連到任何商品,仍然產生了全部 3 種商店尺寸,所以部落格照片也會有。要修改這 3 種尺寸,請看我們的 WooCommerce 商品圖片尺寸指南。
- Blocksy 只在 WooCommerce 啟用時才註冊額外的尺寸。 沒有 WooCommerce 時,它什麼都沒加。
- Elementor 4.3.6 沒有加入任何尺寸,搭配我們測試的 3 個佈景主題都一樣,產生的檔案和只有核心時逐位元組相同。
如何查看你的網站產生幾個檔案
檔案數取決於你的佈景主題、外掛和上傳圖片的大小。有三種方法可以查:
- 數檔案。 上傳一張大照片,用 SFTP 或主機的檔案管理員打開
wp-content/uploads/<年>/<月>/。名稱開頭相同的檔案,都是那一次上傳產生的,包括photo-scaled.jpg和photo-150x150.jpg。 - 用 WP-CLI 查。
wp media image-size指令會列出網站上註冊的所有尺寸,包含核心、佈景主題和外掛。我們的測試沒有使用這個指令;它記載在 WP-CLI 手冊中(連結見參考資料)。 - 上傳前先看。 把照片拖進我們的 WordPress 圖片尺寸實驗室,它會顯示 WordPress 核心產生的每份副本,附上真實的尺寸和裁切範圍。工具只顯示核心尺寸,佈景主題的尺寸請從上面的表格加上去。
想在一個頁面看到所有核心尺寸、選項名稱和裁切規則,請用 WordPress 圖片尺寸速查表,可以看表格,也能取得 JSON 或 CSV。
修改、新增或移除尺寸
修改預設尺寸: 到 「設定」>「媒體」 修改 thumbnail、medium 或 large 的欄位。把某個尺寸的兩個欄位都設為 0,之後上傳時就不會再產生這個尺寸。
新增自訂尺寸,寫在子佈景主題的 functions.php 或一個小外掛中:
add_action( 'after_setup_theme', function () {
// 名稱、寬、高、裁切。true = 精確裁切成 800×450。
add_image_size( 'card-image', 800, 450, true );
} );
移除用不到的尺寸。 核心的兩個大尺寸用名稱移除,medium_large 則用尺寸過濾器移除:
add_action( 'init', function () {
remove_image_size( '1536x1536' );
remove_image_size( '2048x2048' );
} );
add_filter( 'intermediate_image_sizes_advanced', function ( $sizes ) {
unset( $sizes['medium_large'] );
return $sizes;
} );
移除前請想清楚。1536 和 2048 的檔案是 srcset 提供給大型高解析度螢幕的版本,少了它們,滿版的主視覺圖片可能會看起來比較模糊。哪些尺寸可以放心移除、各能省多少空間,請看我們的 uploads 資料夾太大指南。
舊圖片在重新產生前會保留舊尺寸
WordPress 只在上傳時產生一次尺寸。新增尺寸、修改「設定」>「媒體」的欄位或更換佈景主題,都不會改變媒體庫裡已有的圖片。要重新產生,請執行:
wp media regenerate --yes
或使用免費的 Regenerate Thumbnails 外掛,它做的是同一件事,頁面在 「工具」 選單中。
我們在 2026 年 11 月 6 日用 WP-CLI 2.12.0 和 Regenerate Thumbnails 3.1.6 測試了兩者,並記錄 WordPress 圖片編輯器開啟的每個檔案。兩者都是從 原始上傳檔 產生每個尺寸,從來不是從 2560px 的 -scaled 副本。所以重新產生的尺寸和全新上傳一樣清晰。同一次測試也發現一個例外:如果你完全關閉 2560px 的上限(__return_false),重新產生並不會找回完整尺寸的圖片,只有重新上傳才行。這種情況在為什麼 WordPress 圖片上傳後變模糊中有說明。
大量重新產生之前,請先備份 wp-content/uploads。wp media regenerate 預設會刪除它取代的舊尺寸檔案,所以其他網站直接連到這些檔案的連結都會失效。如果你在意這點,請加上 --skip-delete。
我們的測試方法
- 網站: 在 Windows 上的 WordPress Playground(SQLite)執行 WordPress 7.1.4 和 PHP 8.3.36。WordPress 選用的圖片編輯器是 GD(GD 2.3.3)。JPEG 品質 82 和 2560px 上限都維持預設。
- 佈景主題: 2026 年 11 月 5 日 wordpress.org「熱門」清單中啟用安裝數 5 萬以上的 28 個佈景主題,從官方 ZIP 安裝。每個佈景主題測試前都把核心尺寸重設為預設值,啟用佈景主題並讓它的初始化程式碼執行後才上傳。
- 外掛(2026 年 11 月 6 日): wordpress.org 上的 WooCommerce 11.2.2 和 Elementor 4.3.6,正常啟用讓它們自己的初始化程式碼執行,使用預設設定。
- 照片: Alan Schmierer 的真實 CC0 照片(Wikimedia Commons),5696×4784,2,416,996 位元組,用 WordPress 自己的
media_handle_sideload()加入,它產生的尺寸和從媒體庫上傳相同。每次上傳後,我們記錄伺服器上的每個檔案和大小,刪除圖片,並確認沒有留下任何檔案。 - 重複驗證: 16 個不加尺寸的佈景主題產生的檔案逐位元組相同,11 月 6 日的對照組也和 11 月 5 日的結果逐位元組相同。
- 原始資料: 下載 CSV(38 列:每個佈景主題和每組佈景主題加外掛,包含加入的尺寸和位元組;欄位名稱為英文)。註明 odiethemes.com 即可依 CC BY 4.0 自由使用。
限制。 這是一張照片、一個測試網站的結果。換成其他照片、Imagick 編輯器、WebP 或 AVIF 輸出,或不同的品質設定,位元組都會不同。檔案數只取決於尺寸清單和圖片的長寬,所以比位元組更適用於其他網站。有些佈景主題只在開啟某個選項或入門範本時才註冊額外尺寸;我們用的是每個佈景主題的預設設定。相簿、輪播等外掛也可能加入自己的尺寸,我們只測了 WooCommerce 和 Elementor。Playground 不是真正的主機,所以上傳時間不算有測量。
還是解決不了?
如果圖片尺寸正確卻看起來模糊,請看為什麼 WordPress 圖片上傳後變模糊。文章主圖該用什麼尺寸上傳,請看精選圖片尺寸指南。如果問題是檔案太多、資料夾太大,請從為什麼你的 WordPress uploads 資料夾這麼大開始。
參考資料
- WordPress Developer Resources:
_wp_add_additional_image_sizes()註冊1536x1536和2048x2048,於 5.3.0 加入。 - Make WordPress Core:Introducing handling of big images in WordPress 5.3,預設的 2560px 上限。
- WordPress Developer Resources:
big_image_size_threshold過濾器。 - WordPress 文件:Settings Media screen。
- WordPress Developer Resources:
add_image_size()、remove_image_size()和intermediate_image_sizes_advanced。 - WP-CLI 手冊:
wp media image-size和wp media regenerate。 - 我們自己的測試資料:odiethemes.com 圖片尺寸基準測試,2026 年 11 月 5 日和 6 日(CSV)。
FAQ
常見問題
WordPress 預設有哪些圖片尺寸?
WordPress 核心註冊了 6 種:thumbnail 150×150(裁切成正方形)、medium 最大 300×300、medium_large 寬 768、large 最大 1024×1024,以及 WordPress 5.3 加入的 1536x1536 和 2048x2048。照片的寬或高超過 2560px 時,還會另外產生一份 2560px 的 -scaled 副本。
上傳一張圖片,WordPress 會產生幾個檔案?
我們在 WordPress 7.1.4 實測,一張 5696×4784 像素的照片在沒有佈景主題尺寸、也沒有外掛的情況下變成 8 個檔案:原始檔、-scaled 副本和核心的 6 種尺寸。在 28 個熱門免費佈景主題(每個都有 5 萬以上啟用安裝)上是 8 到 13 個檔案,OceanWP 加上 WooCommerce 則是 14 個。
哪些 WordPress 佈景主題加入最多圖片尺寸?
在測試的 28 個佈景主題中,Sydney 加入最多(5 種尺寸,每次上傳 13 個檔案),其次是 OceanWP(3 種),再來是 Twenty Seventeen、Twenty Twenty 和 Envo Royal(各 2 種)。包括 Astra、Kadence、GeneratePress、Blocksy 和 Twenty Twenty-Five 在內的 16 個佈景主題一種都沒有加。
WooCommerce 或 Elementor 會加入圖片尺寸嗎?
在我們的測試中,WooCommerce 11.2.2 讓每次上傳多出 3 個檔案:300×300 裁切縮圖、寬 600px 的商品圖,以及 100×100 的圖庫縮圖。Elementor 4.3.6 搭配我們測試的 3 個佈景主題,都沒有加入任何尺寸。
新的圖片尺寸會套用到已經上傳的圖片嗎?
不會。WordPress 只在上傳時產生尺寸。在「設定」>「媒體」修改尺寸,或新增 add_image_size(),都只影響之後的上傳。舊圖片要用 wp media regenerate 或 Regenerate Thumbnails 外掛重新產生。在我們的測試中,兩者都是從原始上傳檔重新產生每個尺寸,而不是從 -scaled 副本。