Canonical nie jest przyciskiem „indeksuj dokładnie ten adres”. To sygnał preferencji. Mocny, użyteczny, często respektowany,…

Nieużywane obrazy w WordPressie – wtyczki które je znajdą i usuną
Biblioteka mediów zawierająca kilka tysięcy plików nie jest niczym niezwykłym. Wystarczy kilka lat publikowania, zmiana motywu, dwa importy produktów do WooCommerce i testowanie nowych wersji strony. Problem zaczyna się wtedy, gdy kopia zapasowa zajmuje kilka gigabajtów, katalog /uploads rośnie co miesiąc, a administrator nie potrafi już ustalić, które obrazy są faktycznie potrzebne.
Samo znalezienie grafik, do których nie prowadzi link z wpisu lub strony, nie rozwiązuje jednak problemu. Obraz może być używany jako logo, miniatura produktu, tło sekcji Elementora, zawartość pola ACF, slajd albo grafika przypisana do wariantu produktu. Prosty skaner takiego odwołania nie zauważy i oznaczy potrzebny plik jako zbędny.
Dlatego dobra wtyczka do czyszczenia mediów nie powinna jedynie wyszukiwać pustego pola „Przesłano do”. Musi analizować treść, metadane, bloki, ustawienia motywu, pola dodatkowe oraz fizyczne pliki na serwerze. Nawet wtedy wynik skanowania pozostaje listą podejrzanych plików, a nie gotową listą do bezwarunkowego usunięcia.
Dlaczego „niepodpięte” nie oznacza „nieużywane”
WordPress przechowuje każdy element biblioteki mediów jako osobny wpis typu attachment. Taki załącznik może mieć przypisany nadrzędny wpis w polu post_parent. W widoku listy biblioteki relacja ta pojawia się w kolumnie „Przesłano do”.
Jeżeli obraz nie ma przypisanego nadrzędnego wpisu, WordPress pokazuje go jako niezałączony. To jednak informacja o relacji między rekordami, a nie dowód, że grafika nie jest wyświetlana na stronie. Jeden obraz może być używany w kilku miejscach, chociaż biblioteka pokazuje tylko pierwszy przypisany wpis albo nie pokazuje żadnego.
W praktyce trzeba rozróżnić trzy rodzaje problemów:
- Niezałączony element biblioteki — rekord istnieje, ale nie ma ustawionego nadrzędnego wpisu.
- Element bez wykrytego odwołania — rekord i plik istnieją, lecz skaner nie znalazł jego identyfikatora ani adresu URL w analizowanych danych.
- Osierocony plik na serwerze — plik znajduje się w
/wp-content/uploads, ale nie ma odpowiadającego mu elementu w bibliotece mediów.
Trzeciej kategorii nie znajdzie wtyczka analizująca wyłącznie rekordy biblioteki. Potrzebny jest skan systemu plików, który porówna zawartość katalogu uploads z danymi przechowywanymi przez WordPress.
Najwięcej fałszywych alarmów pojawia się na stronach wykorzystujących:
- Elementor, Divi, WPBakery, Bricks albo Beaver Builder;
- pola Advanced Custom Fields i Meta Box;
- produkty i warianty WooCommerce;
- slidery i galerie zapisujące dane we własnym formacie;
- ustawienia Personalizatora, logo witryny oraz ikonę strony;
- grafiki tła wpisane bezpośrednio w CSS;
- wielojęzyczność opartą na WPML lub podobnym rozwiązaniu;
- zewnętrzny CDN albo mechanizm offloadu mediów;
- grafiki wykorzystywane w mailach, fakturach PDF i dokumentach generowanych przez wtyczki.
Przykład z praktyki: obraz nagłówka może nie występować w treści żadnej strony, ale jego identyfikator znajduje się w ustawieniach motywu. Prosty skaner zgłosi go jako nieużywany. Po usunięciu pliku nagłówek zniknie dopiero po wyczyszczeniu pamięci podręcznej, więc błąd może pozostać niezauważony przez kilka dni.
Podobnie działa WooCommerce. Zdjęcie wariantu nie musi pojawiać się w opisie produktu. Jest przechowywane jako metadana wariantu i wyświetlane dopiero po wybraniu koloru albo rozmiaru. Usunięcie takiego pliku pozostawi pustą miniaturę tylko dla jednej kombinacji produktu, co łatwo przeoczyć podczas pobieżnego testu.
Najważniejsza zasada: status „niezałączony” można wykorzystać jako filtr wstępny, ale nie jako kryterium automatycznego usuwania.
Media Cleaner i inne wtyczki — porównanie funkcji, cen i ograniczeń
Rynek wtyczek do wyszukiwania nieużywanych mediów jest dość nierówny. Obok rozbudowanych narzędzi rozwijanych od lat znajdują się projekty z kilkudziesięcioma instalacjami i bez historii opinii. W tym przypadku popularność nie jest tylko kwestią marketingu. Większa liczba instalacji oznacza więcej przetestowanych konfiguracji, integracji oraz zgłoszonych przypadków fałszywego oznaczania plików.
Media Cleaner — najlepszy punkt wyjścia dla większości stron
Media Cleaner firmy Meow Apps jest najbardziej dojrzałym narzędziem w tej kategorii. Według danych z katalogu WordPressa wersja 7.2.5 miała ponad 90 tys. aktywnych instalacji, ocenę 4,6/5, wymagała PHP 7.4 lub nowszego i była przetestowana z WordPressem 7.0.2. Aktualizacja 7.2.5 została opublikowana 25 lipca 2026 roku, więc wtyczka jest aktywnie rozwijana.
Wersja bezpłatna pozwala:
- skanować elementy biblioteki mediów;
- analizować treść wpisów, metadane i widżety;
- wykrywać niedziałające wpisy mediów;
- przenosić podejrzane pliki do wewnętrznego kosza;
- przywracać pliki przed ich trwałym usunięciem.
Wewnętrzny kosz jest ważniejszy niż efektowny interfejs. Plik nie znika od razu, a administrator może sprawdzić stronę i przywrócić obraz wraz z jego dotychczasowym identyfikatorem.
Media Cleaner Pro dodaje funkcje potrzebne na bardziej rozbudowanych instalacjach:
- skan fizycznego katalogu
/uploads; - obsługę złożonych pól i kreatorów stron;
- analizę publicznej wersji witryny;
- polecenia WP-CLI;
- rozszerzone mechanizmy dla ACF, Meta Box, Divi, Avady, Elementora, WPBakery, Oxygena, Beaver Buildera i innych narzędzi.
Producent podaje obsługę ponad 90 integracji. Nadal trzeba jednak sprawdzić zakładkę parserów. Jeżeli używany kreator, galeria albo autorska wtyczka nie znajduje się na liście obsługiwanych rozwiązań, wyniki skanowania należy traktować ze szczególną ostrożnością.
Licencja Media Cleaner Pro kosztuje od 39 dolarów rocznie za jedną witrynę. Wyższe plany obejmują więcej stron, a licencje bezterminowe zaczynają się od 199 dolarów. Producent nie oferuje wersji próbnej, ale przewiduje zwrot zgłoszony w ciągu dwóch tygodni.
Minusy Media Cleaner: skan potrafi mocno obciążyć słabszy hosting, a liczba ustawień może zdezorientować osobę, która oczekuje przycisku „usuń wszystko”. Na dużej bibliotece trzeba zmniejszać wielkość partii, korzystać z WP-CLI albo uruchamiać analizę na kopii testowej. Nie jest to wtyczka, którą należy włączyć, kliknąć masowe usuwanie i odinstalować pięć minut później.
Unused Media Checker — darmowy skaner dla prostszej strony
Unused Media Checker jest znacznie mniejszym projektem, ale ma jasno opisany zakres analizy. Wtyczka sprawdza:
- wpisy, strony i publiczne niestandardowe typy treści;
- obrazy wyróżniające;
- klasy w rodzaju
wp-image-ID; - bezpośrednie adresy z katalogu
uploads; - logo, faviconę, tło i obraz nagłówka z Personalizatora;
- grafiki używane przez Advanced Ads;
- obrazy znajdujące się w blokach FAQ Rank Math.
Wersja 1.3.7 miała ponad 200 aktywnych instalacji, wymagała PHP 8.0 i była przetestowana z WordPressem 7.0.2. Wyniki zawierają miniaturę, datę, przycisk inspekcji oraz możliwość pojedynczego lub zbiorczego usuwania.
To dobry wybór do wstępnego audytu niewielkiej strony opartej na Gutenbergie. Nie traktowałbym go jednak jako głównego narzędzia do sprzątania sklepu, portalu z własnymi typami pól albo witryny z rozbudowanym builderem. Wtyczka nie reklamuje pełnego skanu fizycznego systemu plików i ma zbyt małą bazę użytkowników, aby zakładać, że przeszła testy na większości nietypowych konfiguracji.
Unused Media Cleaner — rozwiązanie, które wymaga ostrożności
Unused Media Cleaner oferuje prostą analizę wpisów, stron i niestandardowych typów treści oraz ekran przeglądania wyników. Obsługuje również instalacje multisite.
Problemem jest dojrzałość projektu. Wersja 1.0.0 miała około 60 aktywnych instalacji, nie zebrała żadnych recenzji, była przetestowana jedynie z WordPressem 6.8.6 i przez około dziesięć miesięcy nie otrzymała aktualizacji.
Nie oznacza to, że wtyczka nie działa. Oznacza, że nie powinna być pierwszym wyborem na stronie produkcyjnej zawierającej kilka tysięcy plików. Nadaje się do testów na kopii witryny, ale przy podobnym zakresie funkcji Unused Media Checker ma obecnie bardziej szczegółowo opisane reguły wykrywania i świeższe aktualizacje.
Decyzję można więc uprościć:
- Prosty blog na Gutenbergu: zacznij od bezpłatnego Media Cleaner albo Unused Media Checker.
- Elementor, Divi, ACF, rozbudowany WooCommerce: wybierz Media Cleaner Pro.
- Pliki zalegające fizycznie w
/uploads: potrzebujesz wersji ze skanem systemu plików. - Jednorazowe sprzątanie małej strony: nie kupuj licencji przed wykonaniem testowego skanu wersją bezpłatną.
- Serwis firmowy lub sklep generujący przychody: skan wykonuj na środowisku stagingowym, niezależnie od wybranej wtyczki.
Jak bezpiecznie usunąć zbędne grafiki bez uszkodzenia strony
Najgorsza procedura to kliknięcie „Delete All” bez kopii zapasowej. Wynik skanowania nie jest wyrokiem. Jest listą plików, których użycia wtyczka nie potrafiła potwierdzić.
Bezpieczna kolejność wygląda następująco:
- Wykonaj pełną kopię strony.
Kopia musi obejmować bazę danych oraz cały katalogwp-content/uploads. Sam backup bazy nie wystarczy, ponieważ nie zawiera obrazów. Sprawdź również, czy hosting rzeczywiście pozwala przywrócić pojedynczy katalog, a nie tylko całą usługę. - Utwórz środowisko stagingowe.
Dotyczy to szczególnie sklepów, serwisów z płatnymi kampaniami oraz witryn, na których obrazy są przechowywane w polach ACF albo builderze. Skan na kopii pokaże również, czy wtyczka nie przekracza limitu pamięci PHP lub czasu wykonywania procesów. - Spisz miejsca, w których mogą znajdować się niestandardowe odwołania.
Sprawdź kreator stron, galerie, slidery, warianty produktów, formularze, szablony maili, pliki PDF, pola opcji ACF, ustawienia motywu oraz własny kod. Jeżeli skaner nie obsługuje któregoś z tych mechanizmów, nie usuwaj automatycznie plików pochodzących z powiązanych katalogów lub typów treści. - Najpierw uruchom skan biblioteki, nie systemu plików.
Analiza biblioteki daje czytelniejsze wyniki i pozwala sprawdzić jakość wykrywania. Skan katalogu/uploadswarto wykonać później, kiedy wiadomo już, że podstawowe reguły działają prawidłowo. Taką kolejność zaleca również dokumentacja Media Cleaner. - Sprawdź ręcznie próbkę wyników.
Otwórz co najmniej 20–30 losowych grafik z różnych lat. Wyszukaj ich nazwę w bazie, kodzie strony i panelu administratora. Zwróć szczególną uwagę na pliki z nazwamilogo,header,banner,product,slider,icon,mailiinvoice. - Usuwaj małymi partiami.
Bezpieczna partia to zazwyczaj 20–100 elementów, zależnie od wielkości witryny. Po każdej partii wyczyść cache i sprawdź stronę. Usunięcie od razu dwóch tysięcy grafik utrudni ustalenie, który plik spowodował problem. - Testuj więcej niż stronę główną.
Po przeniesieniu plików do kosza sprawdź:- stronę główną na komputerze i telefonie;
- szablony wpisów, kategorii i wyników wyszukiwania;
- kilka produktów oraz wszystkie ich warianty;
- koszyk, konto klienta i maile transakcyjne;
- wpisy w różnych językach;
- formularze, popupy i slidery;
- podgląd faktury lub innego generowanego PDF.
- Pozostaw pliki w koszu przez 7–14 dni.
Ten okres pozwala wychwycić grafiki używane sezonowo, w rzadziej odwiedzanych podstronach albo wiadomościach automatycznych. Dopiero później opróżnij kosz i wykonaj nową kopię zapasową.
Osobnym problemem są miniatury generowane automatycznie przez WordPress, motyw i wtyczki. Jeden obraz źródłowy może mieć kilka lub kilkanaście wersji wymiarowych, a dodatkowo warianty WebP, AVIF lub retina.
Samo skasowanie części miniaturek bywa działaniem pozornym. Jeżeli dany rozmiar nadal jest zarejestrowany przez motyw lub wtyczkę, plik może zostać utworzony ponownie podczas regeneracji mediów. Najpierw trzeba ustalić, które rozmiary są naprawdę potrzebne, wyłączyć zbędne definicje, a dopiero później usuwać i regenerować miniatury. Dokumentacja Media Cleaner wprost wskazuje, że trwała naprawa musi nastąpić u źródła, czyli w konfiguracji rozmiarów obrazów.
Nie należy też oczekiwać, że usunięcie nieużywanych plików automatycznie poprawi wynik PageSpeed Insights. Plik, którego przeglądarka wcześniej nie pobierała, nie obciążał czasu wyświetlania strony. Sprzątanie daje inne, bardziej przyziemne korzyści: mniejsze kopie zapasowe, krótsze migracje, niższe wykorzystanie dysku i porządek w bibliotece mediów.
Najrozsądniejszy pierwszy krok to wykonanie kopii i uruchomienie samego skanowania bez usuwania. Na zwykłym blogu wystarczy zacząć od darmowego Media Cleaner. Na stronie z Elementorem, ACF lub rozbudowanym WooCommerce lepiej od razu zaplanować test Media Cleaner Pro na stagingu. Trwałego usuwania nie wykonuj tego samego dnia, w którym powstała lista wyników.
FAQ — najczęstsze pytania o nieużywane media w WordPressie
Czy obraz oznaczony jako „niezałączony” można bezpiecznie usunąć?
Nie. Taki status oznacza jedynie, że plik nie ma przypisanego nadrzędnego wpisu. Nadal może być używany jako logo, obraz wyróżniający, grafika produktu, tło sekcji albo element pola ACF.
Która wtyczka najlepiej znajduje nieużywane obrazy?
Na prostym blogu dobrym punktem wyjścia jest bezpłatny Media Cleaner. Na stronie wykorzystującej Elementor, Divi, ACF, WPBakery albo rozbudowany WooCommerce bezpieczniejszym wyborem jest Media Cleaner Pro ze skanem systemu plików i dodatkowymi parserami.
Czy wtyczka może zagwarantować, że nie usunie potrzebnego obrazu?
Nie. Żaden automatyczny skaner nie zna wszystkich sposobów przechowywania odwołań stosowanych przez motywy, własny kod i zewnętrzne wtyczki. Wyniki trzeba sprawdzić, a pliki najpierw przenieść do kosza.
Czy usuwanie nieużywanych mediów przyspieszy stronę?
Zwykle nie wpłynie bezpośrednio na szybkość frontendu. Zmniejszy natomiast katalog uploads, wielkość backupów, czas migracji i zużycie przestrzeni na hostingu.
Czy usunięty plik można przywrócić?
Media Cleaner ma własny kosz i pozwala przywrócić plik przed jego trwałym usunięciem. W przypadku narzędzia kasującego pliki od razu jedynym zabezpieczeniem pozostaje sprawna kopia zapasowa.
Jak często przeprowadzać czyszczenie biblioteki?
Najlepiej po redesignie, migracji, dużym imporcie produktów albo zmianie motywu. Na regularnie rozwijanej stronie wystarczy audyt raz na 3–6 miesięcy. Automatyczne cykliczne usuwanie plików bez ręcznej kontroli jest niepotrzebnym ryzykiem.
Co zrobić z setkami wersji tego samego obrazu?
Najpierw sprawdzić, jakie rozmiary rejestrują WordPress, motyw i wtyczki. Zbędne rozmiary trzeba wyłączyć, a dopiero potem usunąć stare warianty i ponownie wygenerować potrzebne miniatury.
Comments (0)