
重點整理
WordPress 上傳一張圖片時,會自動另外產生縮圖、中、大等多種尺寸的檔案,圖片一多就佔用不少主機空間。本文示範兩種停用方式:在佈景主題 functions.php 加入函數,或到「設定 → 媒體」把各尺寸設為 0。停用前請確認佈景主題沒有用到這些縮圖尺寸,以免版面跑掉。
關閉 WordPress圖片 自動縮圖 – 提升 網站速度 及載入 網頁速度 。 在 SEO 優化網站搜尋引擎排名要素中,網站速度是許多站長們鑽研的一大課題,因為其不僅是搜尋引擎給予網站排名評比的指標,影響更深的是使用者在瀏覽網站時的體驗,如果說網站載入的速度過慢,就會造成訪客很高的網頁跳出率,再豐富的網站內容,無法快速的在短時間內顯示在使用者面前,那也是等於沒有內容一樣。
因此鵠學苑在這篇教學中將教導大家最基礎的網站優化方法,就是停用 WordPress 圖片自動縮圖的功能, WordPress 媒體設定中,當上傳一張圖片時,會自動為這張圖片產生縮圖、小、中、大四種尺寸的圖檔,其內容一樣只是尺寸不同,在網站架設初期對網站速度的影響可能感受不太到,但隨著網站圖片不斷增加,在資料庫(datebase)中的圖片會越來會多(上傳一張圖片會產生多張圖片),主機需要解析的資料量越來越龐大時就會開始佔據更多空間,進而拖慢網站速度。只要按照本篇文章的教學步驟,就可以輕鬆的解決這個問題!
(小提醒:鵠學苑的所有教學均是以 Apple Mac OS X 系統 做步驟示範!)
加入PHP語法關閉WordPress圖片自動縮圖
第一步:進入到 WordPress 後台的媒體庫中,筆者在這裡先示範上傳圖片後自動縮圖會有怎樣的結果。
第二步:在這裡筆者上傳的是檔案名稱為鵠崙設計 Logo 的圖片

第三步:開啟 FTP 檔案傳輸軟體,進入到 WordPress 安裝的目錄資料夾中,路徑是 / htdocs / wp-content / uploads / 年份 /月份 ,如果說不清楚如何連接到虛擬主機,請向當初購買主機的經銷商聯絡,圖片根目錄的路徑如果沒有另外指定圖片所在的資料夾,基本上會與圖片上方紅色框標示的內容一樣。在圖片下方可以看到在 05 的資料夾中有很多以長寬比數值結尾的圖片檔案,就是由 WordPress 自動產生的。

第四步:首先介紹加入 php 語法停用 WordPress 圖片自動縮圖的方式,點選外觀進入到主題編輯器。

第五步:在右上角選擇當前使用的佈景主題名稱,如果有安裝子主題要確定當前套用的是哪一個主題格式,接下來點選佈景函式庫 funtion.php。

第六步:如下圖所示在程式語言編輯框中使用捲軸滑到最下方空白處,加入以下語法,並不要忘記點選更新檔案。有關 PHP 程式語言的簡易介紹,可以參考這篇文章:WordPress PHP 教學 網頁修改及網站設定 。
/*停用自動新增分割圖片功能*/
function chnage_filter_image_sizes($sizes){
$sizes = array();
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'chnage_filter_image_sizes');

第七步:重新上傳另一張圖片,檔名為 鵠崙設計-favicon.png 。


第八步:回到 FTP 根目錄可以看到剛剛上傳的圖檔只有自己本身的檔案,也就是自動新增不同大小圖檔的功能已經被關閉了。

設定WordPress媒體選項禁止自動縮圖
第一步:除了加入語法的方式,也可以在 WordPress 設定,如下圖所示點選 Setting 進入到媒體的選項中。

第二步:可以看到這裡有預設自動新增圖片的大小,而解決方式就是將所有數據都設定為零,接著儲存變更即可。


全部停用縮圖有什麼副作用?
停用縮圖可以省空間,但不建議一律全部關掉,原因有幾個:
- 手機會載入大圖:WordPress 靠多種尺寸產生 srcset,讓手機自動選小圖;全部停用後,手機也得下載原圖,頁面反而變慢。
- 版面可能跑掉:佈景主題的文章列表、商品縮圖常指定特定尺寸,少了檔案就只能拿原圖硬縮。
- WooCommerce 商品圖:商店頁與購物車縮圖也依賴這些尺寸。
比較好的做法是只停用確定用不到的尺寸,並在上傳前先把圖片縮到合適大小、轉成 WebP,空間與速度都能兼顧。
常見問題
WordPress 上傳一張圖會產生哪些尺寸?
除了媒體設定中的縮圖、中、大三種尺寸,WordPress 還會產生 768 寬的中大尺寸,5.3 起再加上 1536、2048 兩種,原圖超過 2560 像素時另存一份縮小的 -scaled 版本;佈景主題與外掛也可能註冊自己的尺寸。
停用自動縮圖後,已經產生的縮圖會消失嗎?
不會。停用只影響之後上傳的圖片,舊圖片產生的縮圖檔仍留在 uploads 資料夾。要清掉舊縮圖,需要用重新產生縮圖類的外掛處理,操作前務必先備份 uploads 資料夾。
只在媒體設定把尺寸改成 0 就可以嗎?
把縮圖、中、大尺寸設為 0 只能停用這三種,WordPress 5.3 加入的 1536、2048 等尺寸與佈景主題註冊的尺寸仍會產生。要全部停用,需搭配 functions.php 的函數一起處理。
結語
在本篇教學中提供了兩種方式可以停用 WordPress 自動裁切圖片的功能,如果說對於 PHP 語法沒有基礎概念,或者是怕在加入 PHP 語法會導致網站會有相容性的衝突而導致網站問題,那麼建議就使用 WordPress 內建的媒體檔案設定方式去停用自動縮圖功能即可,畢竟每一個網站安裝的主題及外掛都不盡相同,沒有任何人能保證在新增 PHP 語法 後不會產生任何問題,因此請採取對網站而言最妥當保險的做法。
