WordPress 圖片壓縮
那個 2 MB 上限來自 PHP 而不是 WordPress,所以後台裡找不到地方改。但更值得問的是:真的需要調高嗎?
- 上限來源
- PHP 的 upload_max_filesize,預設 2 MB
- 內文用圖
- 長邊 1600 px、300 KB 以內
- 全寬橫幅
- 長邊 2560 px、600 KB 以內
目標大小 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 px | 300 KB 以內 |
| 全寬橫幅 | 2560 px | 600 KB 以內 |
| 縮圖/頭像 | 600 px | 80 KB 以內 |
WordPress 會自動產生多種縮圖尺寸,但那些都是從你上傳的原圖生成的。原圖給得太大,生成出來的每一份也跟著大。
用 WebP
WordPress 從 5.8 起支援直接上傳 WebP,現行版本的瀏覽器全部都能顯示。同樣畫質下比 JPEG 小 25% 到 30%,是提升載入速度成本最低的一招。這一頁的輸出格式預設是「自動」,會在瀏覽器支援時優先選 WebP。
唯一要留意的是舊版 WordPress(5.8 以前)或某些外掛可能不認 WebP,那就改選 JPEG。
操作
- 在上面依用途選「過得了上傳上限」「內文用圖」或「全寬橫幅」。
- 一次可以拖進 30 張,處理完打包成 ZIP 一起下載。
- 解壓縮之後直接上傳到媒體庫。
常見問題
為什麼 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。