WordPress 圖片壓縮

那個 2 MB 上限來自 PHP 而不是 WordPress,所以後台裡找不到地方改。但更值得問的是:真的需要調高嗎?

上限來源
PHP 的 upload_max_filesize,預設 2 MB
內文用圖
長邊 1600 px、300 KB 以內
全寬橫幅
長邊 2560 px、600 KB 以內
PHP 預設的上傳上限只有 2 MB

目標大小 2 MB

超過就等比例縮小,不裁切。壓不到目標大小時仍可能再縮。
預設仍然會壓,畫質幾乎看不出差別

把圖片或影片拖到這裡

也可以點一下選檔,或直接按 Ctrl + V 貼上截圖

圖片:JPEG/PNG/WebP/GIF/BMP 影片:MP4/MOV/WebM/AVI

那個上限不是 WordPress 設的

後台顯示的「超過這個網站允許的上傳檔案大小上限」,數字來自 PHP 的 upload_max_filesize,預設值是 2 MB。因為它是 PHP 層的設定,WordPress 後台裡沒有任何地方可以改。

另外還有兩個相關設定會同時卡你:post_max_size(整個 POST 請求的上限,必須大於 upload_max_filesize)和 max_execution_time(大檔上傳容易逾時)。三個都調對才會真的生效,這也是為什麼很多教學照做卻沒用。

能不能調高

主機類型通常能不能改怎麼改
自架 VPS可以直接改 php.ini 後重啟
有面板的主機多半可以面板裡的 PHP 設定
共用主機常常不行要開票請主機商調

網路上常見的 .htaccess 覆寫做法,在 PHP 以 FastCGI 或 PHP-FPM 執行時是無效的,而現在大多數主機都是這樣跑的。所以那招失敗很正常,不是你做錯。

但更該問的是:需要調高嗎

傳得上去不等於該傳上去。一張 8 MB 的原圖放進文章,每一個讀者都要下載那 8 MB。手機用戶用行動網路開你的文章,光一張圖就等好幾秒。

用途建議長邊建議大小
內文插圖1600 px300 KB 以內
全寬橫幅2560 px600 KB 以內
縮圖/頭像600 px80 KB 以內

WordPress 會自動產生多種縮圖尺寸,但那些都是從你上傳的原圖生成的。原圖給得太大,生成出來的每一份也跟著大。

用 WebP

WordPress 從 5.8 起支援直接上傳 WebP,現行版本的瀏覽器全部都能顯示。同樣畫質下比 JPEG 小 25% 到 30%,是提升載入速度成本最低的一招。這一頁的輸出格式預設是「自動」,會在瀏覽器支援時優先選 WebP。

唯一要留意的是舊版 WordPress(5.8 以前)或某些外掛可能不認 WebP,那就改選 JPEG。

操作

  1. 在上面依用途選「過得了上傳上限」「內文用圖」或「全寬橫幅」。
  2. 一次可以拖進 30 張,處理完打包成 ZIP 一起下載。
  3. 解壓縮之後直接上傳到媒體庫。

常見問題

為什麼 WordPress 說「超過這個網站允許的上傳檔案大小上限」?

那個上限來自 PHP 的 upload_max_filesize 設定,預設值只有 2 MB。它不是 WordPress 自己的限制,所以在 WordPress 後台裡找不到地方改,得改 PHP 設定,而共用主機常常不開放。

我可以自己把上限調高嗎?

看主機。有的面板(cPanel、寶塔之類)有 PHP 設定可以直接調;有的可以透過 php.ini 或 .htaccess 覆寫;共用主機則常常完全鎖死。與其跟主機商纏鬥,把圖壓到 2 MB 以內通常快得多,而且對網站本來就比較好。

把上限調高就沒事了嗎?

傳得上去不等於該傳上去。一張 8 MB 的原圖放進文章,每個讀者都要下載那 8 MB。網頁載入速度是實際的使用者體驗問題,也影響搜尋排名。與其提高上限,不如把圖壓對。

圖片該壓到多大?

內文用圖建議長邊 1600 px、300 KB 以內;全寬橫幅可以到 2560 px、600 KB 以內。WordPress 本身會產生多種縮圖尺寸,但它是從你上傳的原圖去生成的,所以原圖的品質和大小仍然重要。

WebP 可以用嗎?

可以。WordPress 從 5.8 起支援上傳 WebP,現行版本的瀏覽器也全部支援。同畫質下比 JPEG 小三成左右,對載入速度幫助明顯。這一頁的預設格式就是自動,會優先選 WebP。