Jak automatycznie usuwać nieużywane obrazy z biblioteki mediów

Z czasem biblioteka mediów w WordPressie potrafi się rozrosnąć do ogromnych rozmiarów. Zwłaszcza gdy często aktualizujesz treści lub wymieniasz grafiki – stare pliki często zostają na serwerze, zajmując cenne miejsce. W tym artykule pokażemy, jak automatycznie usuwać nieużywane obrazy z biblioteki mediów, aby utrzymać porządek i poprawić wydajność strony.


Dlaczego warto usuwać nieużywane obrazy?

Niepotrzebne pliki graficzne to nie tylko strata miejsca na serwerze, ale także:

  • dłuższe czasy backupów,
  • większe obciążenie bazy danych,
  • chaos w zarządzaniu mediami,
  • ryzyko błędów przy migracji witryny.

Regularne czyszczenie biblioteki to dobra praktyka, zwłaszcza w przypadku stron z dużą ilością multimediów, np. sklepów internetowych lub portali blogowych.


Ręczne usuwanie nieużywanych plików

Najprostszą metodą jest ręczne przeglądanie biblioteki mediów i usuwanie plików, które nie są powiązane z żadnym wpisem. Aby to zrobić:

  1. Wejdź w Media → Biblioteka.
  2. Przełącz widok na listę.
  3. Zwróć uwagę na kolumnę „Wpisy” – jeśli jest pusta, obraz nie jest używany.
  4. Usuń zbędne pliki.

Jednak w przypadku dużych stron to rozwiązanie jest bardzo czasochłonne.


Automatyczne usuwanie nieużywanych obrazów za pomocą wtyczki

Wtyczki takie jak Media Cleaner czy DNUI (Delete Not Used Image) pozwalają zautomatyzować cały proces.

Przykład: Media Cleaner

  1. Zainstaluj i aktywuj wtyczkę Media Cleaner.
  2. Przejdź do zakładki Media → Cleaner.
  3. Kliknij „Scan”, aby przeskanować bibliotekę w poszukiwaniu nieużywanych plików.
  4. Po zakończeniu skanowania możesz bezpiecznie usunąć niepotrzebne obrazy.

✅ Wskazówka: przed usunięciem plików wykonaj pełną kopię zapasową witryny, aby uniknąć utraty potrzebnych mediów.


Automatyzacja procesu – cron lub skrypt

Zaawansowani użytkownicy mogą zautomatyzować czyszczenie przy pomocy własnego skryptu PHP, np.:

add_action('wp_scheduled_delete_unused_media', 'auto_delete_unused_images');

function auto_delete_unused_images() {
    $args = array(
        'post_type' => 'attachment',
        'post_status' => 'inherit',
        'posts_per_page' => -1,
    );

    $attachments = get_posts($args);
    foreach ($attachments as $attachment) {
        $attached_to = get_post_parent($attachment->ID);
        if (!$attached_to) {
            wp_delete_attachment($attachment->ID, true);
        }
    }
}

Można uruchamiać go automatycznie np. raz w tygodniu za pomocą WP-Crona.


Podsumowanie

Automatyczne usuwanie nieużywanych obrazów to świetny sposób na utrzymanie porządku w bibliotece mediów WordPressa.
Niezależnie od tego, czy wybierzesz wtyczkę, czy własne rozwiązanie – regularne czyszczenie pozwoli Ci:

  • zaoszczędzić miejsce na serwerze,
  • przyspieszyć działanie witryny,
  • zachować porządek w plikach.

Dbając o higienę biblioteki mediów, zyskujesz nie tylko lepszą wydajność, ale i większy komfort pracy.

KROK 1 Z 4

Z CZYM POTRZEBUJESZ POMOCY?