如何刪除WordPress中未使用的圖片

刪除未使用圖片的重要性

我發現,刪除 WordPress 網站中未使用的圖片雖然不會直接影響前端速度,但卻能節省時間和伺服器空間,下面是具體的好處:

  • 加強網站管理: 通過刪除媒體庫中的雜亂圖片,簡化了網站後台的工作,能更快更方便地找到並使用要找的圖片。
  • 降低存儲空間成本: 一些主機的存儲空間有限。 過多的圖片需要你儘早升級主機,或刪除未使用的圖片
  • 更快的備份: 網站備份的大小會影響這項重要任務的完成速度和順利程度。 較大的網站需要更長的時間來備份和恢復。 通過刪除無用的圖片,可以確保備份盡可能高效。
  • 更快的網站遷移: 如果您需要遷移網站,擁有一個更精簡的媒體庫可以讓遷移過程更快、更不易出錯。 這就像搬家一樣,多餘的行李越少,搬家就越容易。

為什麼每張圖片都很重要

我在與客戶的多次交談中注意到,尤其是那些技術水準較低的客戶,他們並不知道 WordPress 會為他們上傳的每張圖片創建多個版本。

根據圖片檔本身、您的主題和 WordPress 設置的不同,WordPress 在伺服器上創建的圖片檔可能非常多,而您在媒體庫中看到的只有一個。

image 28

WordPress 會在較小的螢幕上顯示這些調整過大小的檔。 這是加快網站速度的好方法,但會增加伺服器上所需的檔數量和存儲空間。

上傳的一張照片的檔大小很容易就達到 3 MB,加上創建的所有調整過大小的版本,伺服器上的總空間可能超過 6 MB。

image 29

查找未使用的圖像

很多網站主甚至 WordPress 開發人員都不知道: 後台的 「Attached to」(附加到)部分只能告訴你圖片上傳到了哪篇文章,但不能告訴你圖片是否還在那裡使用,也不能告訴你圖片可能被添加到了其他什麼地方。

通過下面的SQL查詢來確定未使用的圖片

SELECT p1.ID, p1.post_title
FROM wp_posts p1
WHERE p1.post_type = 'attachment'
AND p1.post_mime_type LIKE 'image%'
AND NOT EXISTS (
    SELECT 1
    FROM wp_posts p2
    WHERE p2.post_status = 'publish'
    AND p2.post_content LIKE CONCAT('%', p1.guid, '%')
);

你可以每隔幾個月運行一次這個查詢,然後通過URL對它們進行一次完整的資料庫搜索,以確保這些圖片沒有在其他地方使用過。

我說的其他地方是什麼意思?

有很多地方都會在內容之外使用圖片:

  • Logo and Favicons
  • 文章的精選圖片
  • 頁面生成器用於插圖和背景圖片
  • 高級自定義欄位可讓你上傳圖片作為元數據


幸運的是,有一種更直接的方法,就是使用Image Source Control外掛程式

刪除未使用的圖片


儘管作為 WordPress 開發人員,我知道如何在資料庫中查找和刪除未使用的圖片,但這仍然是一項耗時而乏味的任務。

因此,我們使用Image Source Control外掛程式,安裝啟動外掛程式後

媒體 > 未使用的圖片會列出所有可能未使用的圖片。

image 30

我通常使用批量選項對所有列出的圖片進行深入檢查,然後查看所有與任何文章無關的圖片。 這包括某些選項或文章元數據中提到的圖片。

delete unused images deep check

最後,檢查未使用的圖片並批量刪除,以清理空間。

分享你的喜愛

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *